diff --git a/arch/arm/dts/k3-am625-sk-u-boot.dtsi b/arch/arm/dts/k3-am625-sk-u-boot.dtsi index 5676ca1750..056566af84 100644 --- a/arch/arm/dts/k3-am625-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-sk-u-boot.dtsi @@ -112,6 +112,29 @@ u-boot,dm-spl; }; +&usbss0 { + u-boot,dm-spl; +}; + +&usb0 { + dr_mode = "peripheral"; + /* Since role switching is not supported in U-Boot */ + /delete-property/ extcon; + u-boot,dm-spl; +}; + +&usbss1 { + u-boot,dm-spl; +}; + +&usb1 { + u-boot,dm-spl; +}; + +&main_usb1_pins_default { + u-boot,dm-spl; +}; + &cpsw3g { reg = <0x0 0x8000000 0x0 0x200000>, <0x0 0x43000200 0x0 0x8>; diff --git a/arch/arm/dts/k3-am625-sk.dts b/arch/arm/dts/k3-am625-sk.dts index 9403dc2db4..2e2bda3c04 100644 --- a/arch/arm/dts/k3-am625-sk.dts +++ b/arch/arm/dts/k3-am625-sk.dts @@ -21,6 +21,8 @@ mmc0 = &sdhci0; mmc1 = &sdhci1; mmc2 = &sdhci2; + usb0 = &usb0; + usb1 = &usb1; }; chosen { @@ -131,6 +133,13 @@ default-state = "off"; }; }; + + extcon_usb0: extcon-usb0 { + compatible = "linux,extcon-usb-gpio"; + id-gpios = <&main_gpio1 50 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&extcon_usb0_gpio_id_pins_default>; + }; }; &main_pmx0 { @@ -241,6 +250,18 @@ AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */ >; }; + + extcon_usb0_gpio_id_pins_default: extcon-usb0-gpio-id-pins-default { + pinctrl-single,pins = < + AM62X_IOPAD(0x254, PIN_INPUT_PULLUP, 7) /* (C20) USB0_DRVVBUS.GPIO1_50 */ + >; + }; + + main_usb1_pins_default: main-usb1-pins-default { + pinctrl-single,pins = < + AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */ + >; + }; }; &wkup_uart0 { @@ -346,6 +367,20 @@ disable-wp; }; +&usbss0 { + ti,vbus-divider; +}; + +&usb0 { + extcon = <&extcon_usb0>; +}; + +&usb1 { + dr_mode = "host"; + pinctrl-names = "default"; + pinctrl-0 = <&main_usb1_pins_default>; +}; + &cpsw3g { pinctrl-names = "default"; pinctrl-0 = <&main_mdio1_pins_default