]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
imx943_evk: Enable USB 2.0 controller host mode
authorAlice Guo <alice.guo@nxp.com>
Tue, 28 Oct 2025 02:46:24 +0000 (10:46 +0800)
committerFabio Estevam <festevam@nabladev.com>
Tue, 4 Nov 2025 15:39:46 +0000 (12:39 -0300)
This patch enables the USB 2.0 controller to operate in host mode on the
i.MX943 EVK board. It updates the device tree files to configure the USB
2.0 controller appropriately and modifies the defconfig to include
necessary support.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
arch/arm/dts/imx943-evk-u-boot.dtsi
arch/arm/dts/imx943-u-boot.dtsi
configs/imx943_evk_defconfig

index 5496385dc4d27ca68a5f43706d03f87c360d9ed2..e6abe7ed2e0cbb4ede4b17eee688d6859e4e4e05 100644 (file)
        bootph-pre-ram;
 };
 
+&usb2 {
+       dr_mode = "host";
+       hnp-disable;
+       srp-disable;
+       adp-disable;
+       disable-over-current;
+       status = "okay";
+};
+
 &usdhc1 {
        bootph-pre-ram;
 };
index 9c4882f7d792534aa2cd56750d3a31ee2167a1b2..9b2c1072366d72e54cd545838a6158ee1441abc9 100644 (file)
                        };
                };
        };
+
+       usbphynop: usbphynop {
+               compatible = "usb-nop-xceiv";
+               clocks = <&scmi_clk IMX94_CLK_HSIO>;
+               clock-names = "main_clk";
+               #phy-cells = <0>;
+       };
 };
 
 &cpu0 {
 &{/soc} {
        bootph-all;
 
+       usb2: usb@4c200000 {
+               compatible = "fsl,imx95-usb", "fsl,imx7d-usb", "fsl,imx27-usb";
+               reg = <0x0 0x4c200000 0x0 0x200>;
+               interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&scmi_clk IMX94_CLK_HSIO>,
+                        <&scmi_clk IMX94_CLK_32K>;
+               clock-names = "usb_ctrl_root", "usb_wakeup";
+               power-domains = <&scmi_devpd IMX94_PD_HSIO_TOP>;
+               phys = <&usbphynop>;
+               fsl,usbmisc = <&usbmisc 0>;
+               status = "disabled";
+       };
+
+       usbmisc: usbmisc@4c200200 {
+               compatible = "fsl,imx95-usbmisc", "fsl,imx7d-usbmisc", "fsl,imx6q-usbmisc";
+               reg = <0x0 0x4c200200 0x0 0x200>,
+                     <0x0 0x4c010014 0x0 0x04>;
+               #index-cells = <1>;
+       };
+
        elemu1: mailbox@47530000 {
                compatible = "fsl,imx93-mu-s4";
                reg = <0x0 0x47530000 0x0 0x10000>;
index 27230ed32075695fa2e4656f0aabe5e11928f8ad..d308d29a1a500cc45eaa39107bd71c8882e699c6 100644 (file)
@@ -66,6 +66,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_POWEROFF=y
+CONFIG_CMD_USB=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_EFIDEBUG=y
@@ -112,4 +113,6 @@ CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_DM_RTC=y
 CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
 CONFIG_ULP_WATCHDOG=y