Question
Mainline Linux fails to set up FS OTG
Hi there,
After following this tutorial (and updating the compatible string): https://wiki.st.com/stm32mpu/wiki/OTG_device_tree_configuration
I've managed to create a patch that adds these nodes to my device tree:
...
+&usbphyc {
+ status = "okay";
+};
+
+&usbh_ehci {
+ phys = <&usbphyc_port0>, <&usbphyc_port1 1>;
+ phy-names = "usb1-phy", "usb2-phy";
+ status = "okay";
+};
+
+&usbphyc_port0 {
+ phy-supply = <&vdd_usb>;
+ vbus-supply = <&usb1vbus>;
+ vdda1v1-supply = <®11>;
+ vdda1v8-supply = <®18>;
+};
+
+&usbphyc_port1 {
+ phy-supply = <&vdd_usb>;
+ vbus-supply = <&usb2vbus>;
+ vdda1v1-supply = <®11>;
+ vdda1v8-supply = <®18>;
+};
+
+&usbotg_hs {
+ compatible = "st,stm32mp15-fsotg", "snps,dwc2";
+ pinctrl-names = "default";
+ pinctrl-0 = <&usbotg_hs_pins_a &usbotg_fs_dp_dm_pins_a>; /* configure OTG ID and full-speed data pins */
+ vbus-supply = <&vbus_otg>; /* voltage regulator to supply Vbus */
+ dr_mode = "peripheral";
+ status = "okay";
+};
...However, when booting mainline ATF, Barebox (which doesn't support USB) and Linux I get this error:
[ 9.512679] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 9.596691] dwc2 49000000.usb-otg: supply vusb_d not found, using dummy regulator
[ 9.617678] dwc2 49000000.usb-otg: supply vusb_a not found, using dummy regulator
[ 9.686136] ehci-platform 5800d000.usbh-ehci: EHCI Host Controller
[ 9.701347] ehci-platform 5800d000.usbh-ehci: new USB bus registered, assigned bus number 1
[ 9.724039] dwc2 49000000.usb-otg: dwc2_core_reset: HANG! Soft Reset timeout GRSTCTL_CSFTRST
[ 9.762983] ehci-platform 5800d000.usbh-ehci: irq 60, io mem 0x5800d000
[ 9.820584] ehci-platform 5800d000.usbh-ehci: USB 2.0 started, EHCI 1.00
[ 9.826972] dwc2: probe of 49000000.usb-otg failed with error -16Is there something I'm missing here?
