imx8 usb otg模式切换

 内核驱动名称:

        drivers/usb/chipidea/debug.c
        drivers/usb/chipidea/core.c
        drivers/usb/chipidea/ci_hdrc_imx.c

 DTS文件节点:

        fsl-imx8dx.dtsi
            usbotg1: usb@5b0d0000 {
                compatible = "fsl,imx8qm-usb", "fsl,imx27-usb";
                reg = <0x0 0x5b0d0000 0x0 0x200>;
                interrupt-parent = <&wu>;
                interrupts = ;
                fsl,usbphy = <&usbphy1>;
                fsl,usbmisc = <&usbmisc1 0>;
                clocks = <&clk IMX8QXP_USB2_OH_AHB_CLK>;
                ahb-burst-config = <0x0>;
                tx-burst-size-dword = <0x10>;
                rx-burst-size-dword = <0x10>;
                #stream-id-cells = <1>;
                power-domains = <&pd_conn_usbotg0>;
                status = "disabled";
            };

        c3alfus_2_common.dts
            &usbotg1 {
                dr_mode = "host";
                srp-disable;
                hnp-disable;
                adp-disable;
                power-polarity-active-high;
                disable-over-current;
                status = "okay";
            };

   文档说明:Documentation/usb/chipidea.txt   #里面有说明,OTG设备主从切换的过程试验及方法

    HOST 
    add@/devices/platform/5b110000.cdns3/xhci-cdns3/usb1/1-1/1-1.1
    add@/devices/platform/5b110000.cdns3/xhci-cdns3/usb1/1-1/1-1.2

    OTG
    add@/devices/platform/5b0d0000.usb/ci_hdrc.0/usb3/3-1


    使用方法:
        Set to host mode:
            echo host > /sys/kernel/debug/ci_hdrc.0/role
        Set to device mode:
            echo gadget > /sys/kernel/debug/ci_hdrc.0/role

    获取OTG的状态信息(不使用状态机的情况下):
    cat /sys/kernel/debug/ci_hdrc.0/role
            0:host
            1:gadget

    获取OTG的状态信息(使用状态机的情况下):
    cat /sys/kernel/debug/ci_hdrc.0/otg
            0:host
            1:gadget

你可能感兴趣的:(Android驱动开发)