
Hello Fabio,
On Wed, Dec 20, 2023 at 07:48:50AM -0300, Fabio Estevam wrote:
On Wed, Dec 20, 2023 at 7:39 AM Andrejs Cainikovs andrejs.cainikovs@gmail.com wrote:
diff --git a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi index a6af4e5e2b7..6ab6b1f9ee6 100644 --- a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi @@ -84,6 +84,21 @@ bootph-some-ram; };
+&gpio_expander_43 {
usb-bypass-n-hog {
gpio-hog;
gpios = <5 GPIO_ACTIVE_LOW>;
line-name = "usb-bypass-n";
output-high;
};
usb-reset-n-hog {
gpio-hog;
gpios = <4 GPIO_ACTIVE_LOW>;
line-name = "usb-reset-n";
output-low;
};
+};
Patch looks good from a U-Boot perspective, but just want to understand why the imx8qxp/imx8qm boards in U-Boot use devicetrees based on downstream NXP instead of the mainline kernel dts?
Shouldn't this 'hub out of reset' be added in mainline Linux first and then just sync the dts in U-Boot?
Valid point.
In general re-using the DTS for the kernel would not work.
The bypass and reset signals are part of the USB HUB node [1], and we would need to add such a driver to U-Boot to be able to properly implement it (despite the recent plans to make SPL a full blown bootloader and U-Boot proper the operating system and kick out Linux I would not go into that direction ;-)
Given that I believe that overriding the Linux DTS to use these 2 signals are simple GPIO HOG for U-Boot is the correct approach.
Francesco
[1] Linux: Documentation/devicetree/bindings/usb/smsc,usb3503.yaml