From: Alice Guo <alice....@nxp.com>

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....@nxp.com>
---
 arch/arm/dts/imx943-evk-u-boot.dtsi |  9 +++++++++
 arch/arm/dts/imx943-u-boot.dtsi     | 28 ++++++++++++++++++++++++++++
 configs/imx943_evk_defconfig        |  3 +++
 3 files changed, 40 insertions(+)

diff --git a/arch/arm/dts/imx943-evk-u-boot.dtsi 
b/arch/arm/dts/imx943-evk-u-boot.dtsi
index 5496385dc4d..e6abe7ed2e0 100644
--- a/arch/arm/dts/imx943-evk-u-boot.dtsi
+++ b/arch/arm/dts/imx943-evk-u-boot.dtsi
@@ -13,6 +13,15 @@
        bootph-pre-ram;
 };
 
+&usb2 {
+       dr_mode = "host";
+       hnp-disable;
+       srp-disable;
+       adp-disable;
+       disable-over-current;
+       status = "okay";
+};
+
 &usdhc1 {
        bootph-pre-ram;
 };
diff --git a/arch/arm/dts/imx943-u-boot.dtsi b/arch/arm/dts/imx943-u-boot.dtsi
index 9c4882f7d79..9b2c1072366 100644
--- a/arch/arm/dts/imx943-u-boot.dtsi
+++ b/arch/arm/dts/imx943-u-boot.dtsi
@@ -83,6 +83,13 @@
                        };
                };
        };
+
+       usbphynop: usbphynop {
+               compatible = "usb-nop-xceiv";
+               clocks = <&scmi_clk IMX94_CLK_HSIO>;
+               clock-names = "main_clk";
+               #phy-cells = <0>;
+       };
 };
 
 &cpu0 {
@@ -192,6 +199,27 @@
 &{/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>;
diff --git a/configs/imx943_evk_defconfig b/configs/imx943_evk_defconfig
index 27230ed3207..d308d29a1a5 100644
--- a/configs/imx943_evk_defconfig
+++ b/configs/imx943_evk_defconfig
@@ -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

-- 
2.43.0

Reply via email to