This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
我当前的电路板设计使用 GPIO0_44作为 USB0_ID、GPIO0_65作为 USB1_ID。
应如何在器件树源(DTS)中配置该文件?
您好!
该线程刚刚被重新分配到正确的组织。 您会对此进行深入研究、并会给您回复。
谢谢!
Anshu
有人可以帮助检查我的 DTS 设置吗?
/{ compatible = "ti,am62p5-sk", "ti,am62p5"; model = "Texas Instruments AM62P5 SK"; aliases { usb0 = &usb0; usb1 = &usb1; } // USB0 extcon extcon_usb0: extcon-usb0 { compatible = "linux,extcon-usb-gpio"; id-gpios = <&main_gpio0 44 GPIO_ACTIVE_HIGH>; }; // USB1 extcon extcon_usb1: extcon-usb1 { compatible = "linux,extcon-usb-gpio"; id-gpios = <&main_gpio0 65 GPIO_ACTIVE_HIGH>; }; } &main_pmx0 { bootph-all; main_usb1_pins_default: main-usb1-default-pins { pinctrl-single,pins = < AM62PX_IOPAD(0x0258, PIN_INPUT, 0) /* (G21) USB1_DRVVBUS */ >; }; main_usb0_pins_default: main-usb0-default-pins { pinctrl-single,pins = < AM62PX_IOPAD(0x0254, PIN_OUTPUT, 0) /* (G22) USB0_DRVVBUS */ >; }; } &usbss0 { status = "okay"; ti,vbus-divider; }; &usbss1 { status = "okay"; ti,vbus-divider; }; &usb0 { pinctrl-names = "default"; pinctrl-0 = <&main_usb0_pins_default &pinctrl_usb0_id>; extcon = <&extcon_usb0>; status = "okay"; }; &usb1 { pinctrl-names = "default"; pinctrl-0 = <&main_usb1_pins_default &pinctrl_usb1_id>; extcon = <&extcon_usb1>; status = "okay"; };
您好!
有关 USB 连接器的设备树绑定、请参阅此处: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/Documentation/devicetree/bindings/connector/usb-connector.yaml?h=ti-linux-6.6.y
有关实施示例、请参阅此处的: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi?h=ti-linux-6.6.y#n44
您还需要为用于 ID 的 GPIO 添加 PinMux。
此致、
Anshu
噢! 谢谢、我更新了 DTS。
但我在示例中看到它会创建一个连接器、指定连接器内的 ID 引脚、然后将其连接到 USB0的端口。
我的方法是使用 extcon_usb。 哪种方法更值得推荐? 或者我的方法不正确吗?
/{ compatible = "ti,am62p5-sk", "ti,am62p5"; model = "Texas Instruments AM62P5 SK"; aliases { usb0 = &usb0; usb1 = &usb1; } // USB0 extcon extcon_usb0: extcon-usb0 { compatible = "linux,extcon-usb-gpio"; id-gpios = <&main_gpio0 44 GPIO_ACTIVE_HIGH>; }; // USB1 extcon extcon_usb1: extcon-usb1 { compatible = "linux,extcon-usb-gpio"; id-gpios = <&main_gpio0 65 GPIO_ACTIVE_HIGH>; }; } &main_pmx0 { bootph-all; main_usb1_pins_default: main-usb1-default-pins { pinctrl-single,pins = < AM62PX_IOPAD(0x0258, PIN_INPUT, 0) /* (G21) USB1_DRVVBUS */ >; }; main_usb0_pins_default: main-usb0-default-pins { pinctrl-single,pins = < AM62PX_IOPAD(0x0254, PIN_OUTPUT, 0) /* (G22) USB0_DRVVBUS */ >; }; // USB_0_ID pinctrl_usb0_id: main-gpio0-44-pins-default{ pinctrl-single,pins = < AM62PX_IOPAD(0x00b4, PIN_INPUT, 7) /* (U25) GPMC0_CSn3.GPIO0_44 USB0_ID */ >; }; // USB_1_ID pinctrl_usb1_id: main-gpio0-65-pins-default{ pinctrl-single,pins = < AM62PX_IOPAD(0x0108, PIN_INPUT, 7) /* (L21) MMC2_DAT3.GPIO0_65 USB1_ID */ >; }; } &usbss0 { status = "okay"; ti,vbus-divider; }; &usbss1 { status = "okay"; ti,vbus-divider; }; &usb0 { pinctrl-names = "default"; pinctrl-0 = <&main_usb0_pins_default &pinctrl_usb0_id>; extcon = <&extcon_usb0>; status = "okay"; }; &usb1 { pinctrl-names = "default"; pinctrl-0 = <&main_usb1_pins_default &pinctrl_usb1_id>; extcon = <&extcon_usb1>; status = "okay"; };
您好!
让我环路 USB 专家进一步评论。
尊敬的 Yuyuan:
我的方法使用的是 extcon_usb。 哪种方法更值得推荐? 或者我的方法是否不正确?
我认为 AM62x USB 使用的 DWC3 USB 驱动程序支持这两种方法。
如果您遇到 extcon 设备树设置方面的任何问题、请告知我。
您好、Bin、
很抱歉、由于我们的日程安排问题、我尚未收到电路板(预计将于10/4收到)
我将在收到板后提供反馈。
非常感谢!