From: Sherry Sun Date: Thu, 25 Jul 2019 21:20:26 +0000 (-0400) Subject: MLK-22336-2 dts: Add a new usb gadget node on imx6/7/7ulp/8/8mm X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~387 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=f4ea9fa4b9fe7eabd8aad02d9c39c1dc2923c32b;p=u-boot.git MLK-22336-2 dts: Add a new usb gadget node on imx6/7/7ulp/8/8mm Since one dts node can only bind to one DM driver in uboot, for usbotg node, we can not use it for both DM usb host driver and DM usb gadget driver. So a new usb gadget node is added to each usbotg node, the original usbotg node is bind to usb host driver as default, and the new usb gadget node is bind to usb gadet driver as default. Signed-off-by: Sherry Sun Reviewed-by: Ye Li (cherry picked from commit 342adc8948def972dbd08b71009584745f7826f0) (cherry picked from commit 6716cd87079cae70a5c521f83be292628403b9ab) --- diff --git a/arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi index 05dd992a15..0194194fa5 100644 --- a/arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi @@ -7,6 +7,7 @@ aliases { usbhost1 = &usbh3; + usbgadget0 = &usbg1; }; usbh3: usbh3 { @@ -15,6 +16,14 @@ cdns3,usb = <&usbotg3>; status = "okay"; }; + + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + u-boot,dm-spl; + }; }; &{/imx8qm-pm} { @@ -130,6 +139,14 @@ u-boot,dm-spl; }; +&pd_conn_usbotg0 { + u-boot,dm-spl; +}; + +&pd_conn_usbotg0_phy { + u-boot,dm-spl; +}; + &pd_conn_usb2 { u-boot,dm-spl; }; @@ -174,6 +191,18 @@ u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usbotg3 { phys = <&usbphynop1>; u-boot,dm-spl; diff --git a/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi index 1f5837c1d2..361ce44f81 100644 --- a/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi @@ -7,6 +7,7 @@ aliases { usbhost1 = &usbh3; + usbgadget0 = &usbg1; }; usbh3: usbh3 { @@ -15,6 +16,15 @@ cdns3,usb = <&usbotg3>; status = "okay"; }; + + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + u-boot,dm-spl; + }; + }; &{/imx8qx-pm} { @@ -126,6 +136,14 @@ u-boot,dm-spl; }; +&pd_conn_usbotg0 { + u-boot,dm-spl; +}; + +&pd_conn_usbotg0_phy { + u-boot,dm-spl; +}; + &pd_lsio_flexspi0 { u-boot,dm-spl; }; @@ -174,6 +192,18 @@ u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usbotg3 { phys = <&usbphynop1>; u-boot,dm-spl; diff --git a/arch/arm/dts/imx6qdl.dtsi b/arch/arm/dts/imx6qdl.dtsi index da54c050fb..417151287d 100644 --- a/arch/arm/dts/imx6qdl.dtsi +++ b/arch/arm/dts/imx6qdl.dtsi @@ -50,6 +50,7 @@ usbphy1 = &usbphy2; usb0 = &usbotg; usb1 = &usbh1; + usbgadget0 = &usbg1; }; clocks { @@ -1075,7 +1076,14 @@ reg = <0x0217c000 0x4000>; }; - usbotg: usb@2184000 { + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg>; + status = "okay"; + }; + + usbotg: usb@02184000 { compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; reg = <0x02184000 0x200>; interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>; diff --git a/arch/arm/dts/imx6sl.dtsi b/arch/arm/dts/imx6sl.dtsi index d241481528..5de9e8edf9 100644 --- a/arch/arm/dts/imx6sl.dtsi +++ b/arch/arm/dts/imx6sl.dtsi @@ -48,6 +48,8 @@ usbphy1 = &usbphy2; usb0 = &usbotg1; usb1 = &usbotg2; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -873,6 +875,20 @@ reg = <0x02100000 0x100000>; ranges; + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + usbotg1: usb@02184000 { compatible = "fsl,imx6sl-usb", "fsl,imx27-usb"; reg = <0x02184000 0x200>; diff --git a/arch/arm/dts/imx6sll.dtsi b/arch/arm/dts/imx6sll.dtsi index 3b8ce21780..0b97c291d7 100644 --- a/arch/arm/dts/imx6sll.dtsi +++ b/arch/arm/dts/imx6sll.dtsi @@ -40,6 +40,8 @@ usbphy1 = &usbphy2; usb0 = &usbotg1; usb1 = &usbotg2; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -697,6 +699,20 @@ reg = <0x02100000 0x100000>; ranges; + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + usbotg1: usb@02184000 { compatible = "fsl,imx6sll-usb", "fsl,imx6ul-usb", "fsl,imx27-usb"; diff --git a/arch/arm/dts/imx6sx.dtsi b/arch/arm/dts/imx6sx.dtsi index e8d28f8ffc..0b5d25d644 100644 --- a/arch/arm/dts/imx6sx.dtsi +++ b/arch/arm/dts/imx6sx.dtsi @@ -65,6 +65,8 @@ usb0 = &usbotg1; usb1 = &usbotg2; pci0 = &pcie; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -1041,6 +1043,20 @@ }; }; + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + usbotg1: usb@2184000 { compatible = "fsl,imx6sx-usb", "fsl,imx27-usb"; reg = <0x02184000 0x200>; diff --git a/arch/arm/dts/imx6ul.dtsi b/arch/arm/dts/imx6ul.dtsi index 5644b0f34d..81c78ff229 100644 --- a/arch/arm/dts/imx6ul.dtsi +++ b/arch/arm/dts/imx6ul.dtsi @@ -52,6 +52,8 @@ usbphy1 = &usbphy2; usb0 = &usbotg1; usb1 = &usbotg2; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -800,6 +802,20 @@ }; }; + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + usbotg1: usb@2184000 { compatible = "fsl,imx6ul-usb", "fsl,imx27-usb"; reg = <0x02184000 0x200>; diff --git a/arch/arm/dts/imx7d.dtsi b/arch/arm/dts/imx7d.dtsi index 48ac079b4f..0b54fa2342 100644 --- a/arch/arm/dts/imx7d.dtsi +++ b/arch/arm/dts/imx7d.dtsi @@ -53,6 +53,7 @@ spi4 = &ecspi4; ethernet1 = &fec2; usb1 = &usbotg2; + usbgadget1 = &usbg2; }; cpus { @@ -354,6 +355,13 @@ status = "disabled"; }; + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + usbotg2: usb@30b20000 { compatible = "fsl,imx7d-usb", "fsl,imx27-usb"; reg = <0x30b20000 0x200>; diff --git a/arch/arm/dts/imx7s.dtsi b/arch/arm/dts/imx7s.dtsi index 86c2359c0e..49c45cb99f 100644 --- a/arch/arm/dts/imx7s.dtsi +++ b/arch/arm/dts/imx7s.dtsi @@ -87,6 +87,7 @@ spi3 = &ecspi4; ethernet0 = &fec1; usb0 = &usbotg1; + usbgadget0 = &usbg1; }; cpus { @@ -1169,6 +1170,13 @@ status = "disabled"; }; + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + usbotg1: usb@30b10000 { compatible = "fsl,imx7d-usb", "fsl,imx27-usb"; reg = <0x30b10000 0x200>; diff --git a/arch/arm/dts/imx7ulp.dtsi b/arch/arm/dts/imx7ulp.dtsi index 7bcd2cc346..9bb1396286 100644 --- a/arch/arm/dts/imx7ulp.dtsi +++ b/arch/arm/dts/imx7ulp.dtsi @@ -30,6 +30,7 @@ serial3 = &lpuart7; usbphy0 = &usbphy1; usb0 = &usbotg1; + usbgadget0 = &usbg1; i2c4 = &lpi2c4; i2c5 = &lpi2c5; i2c6 = &lpi2c6; @@ -290,6 +291,13 @@ status = "disabled"; }; + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + usbotg1: usb@40330000 { compatible = "fsl,imx7ulp-usb", "fsl,imx6ul-usb", "fsl,imx27-usb"; diff --git a/arch/arm/dts/imx8mm-ddr4-evk-u-boot.dtsi b/arch/arm/dts/imx8mm-ddr4-evk-u-boot.dtsi index 7164c64a85..1aac7d4d90 100644 --- a/arch/arm/dts/imx8mm-ddr4-evk-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-ddr4-evk-u-boot.dtsi @@ -10,6 +10,25 @@ u-boot,dm-spl; }; + aliases { + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; + }; + + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + firmware { optee { compatible = "linaro,optee-tz"; diff --git a/arch/arm/dts/imx8mm-evk-u-boot.dtsi b/arch/arm/dts/imx8mm-evk-u-boot.dtsi index 1841cc75c1..518000c48b 100644 --- a/arch/arm/dts/imx8mm-evk-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-evk-u-boot.dtsi @@ -10,6 +10,25 @@ u-boot,dm-spl; }; + aliases { + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; + }; + + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + firmware { optee { compatible = "linaro,optee-tz"; diff --git a/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi b/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi index 8db7a2548c..919743b510 100644 --- a/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi +++ b/arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi @@ -10,6 +10,25 @@ u-boot,dm-spl; }; + aliases { + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; + }; + + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + }; + + usbg2: usbg2 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg2>; + status = "okay"; + }; + firmware { optee { compatible = "linaro,optee-tz";