Whether and which USB port is enabled and how they are powered is a function of the carrier board, not of the SoM. Different carrier boards can have different ports enabled / wired up, and power them differently; so this should really move into the respective DTS. Do so and update the USB power supply to reflect the actual situation on the sbc-imx7 carrier board. Signed-off-by: André Draszik <git@xxxxxxxxxx> Cc: Ilya Ledvich <ilya@xxxxxxxxxxxxxx> Cc: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx> Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: NXP Linux Team <linux-imx@xxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx --- arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 24 ------------------------ arch/arm/boot/dts/imx7d-sbc-imx7.dts | 13 +++++++++++++ 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts index 7646284e13a7..0d962e9fe83a 100644 --- a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts +++ b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts @@ -22,15 +22,6 @@ device_type = "memory"; reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */ }; - - reg_usb_otg1_vbus: regulator-vbus { - compatible = "regulator-fixed"; - regulator-name = "usb_otg1_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; }; &cpu0 { @@ -195,13 +186,6 @@ status = "okay"; }; -&usbotg1 { - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usbotg1>; - vbus-supply = <®_usb_otg1_vbus>; - status = "okay"; -}; - &usdhc3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc3>; @@ -280,11 +264,3 @@ >; }; }; - -&iomuxc_lpsr { - pinctrl_usbotg1: usbotg1grp { - fsl,pins = < - MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x14 /* OTG PWREN */ - >; - }; -}; diff --git a/arch/arm/boot/dts/imx7d-sbc-imx7.dts b/arch/arm/boot/dts/imx7d-sbc-imx7.dts index f8a868552707..aab646903de3 100644 --- a/arch/arm/boot/dts/imx7d-sbc-imx7.dts +++ b/arch/arm/boot/dts/imx7d-sbc-imx7.dts @@ -15,6 +15,14 @@ / { model = "CompuLab SBC-iMX7"; compatible = "compulab,sbc-imx7", "compulab,cl-som-imx7", "fsl,imx7d"; + + reg_usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; }; &usdhc1 { @@ -26,6 +34,11 @@ status = "okay"; }; +&&usbotg1 { + vbus-supply = <®_usb_vbus>; + status = "okay"; +}; + &iomuxc { pinctrl_usdhc1: usdhc1grp { fsl,pins = < -- 2.23.0.rc1