From 342adc8948def972dbd08b71009584745f7826f0 Mon Sep 17 00:00:00 2001 From: Sherry Sun Date: Thu, 25 Jul 2019 17:20:26 -0400 Subject: [PATCH] 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 --- arch/arm/dts/fsl-imx8mm.dtsi | 16 +++++++++ arch/arm/dts/fsl-imx8qm-ddr4-arm2-u-boot.dtsi | 29 +++++++++++++++ .../dts/fsl-imx8qm-lpddr4-arm2-u-boot.dtsi | 29 +++++++++++++++ arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi | 29 +++++++++++++++ .../arm/dts/fsl-imx8qxp-17x17-val-u-boot.dtsi | 36 ++++++++++++++++++- .../dts/fsl-imx8qxp-lpddr4-arm2-u-boot.dtsi | 30 ++++++++++++++++ arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi | 30 ++++++++++++++++ arch/arm/dts/imx6qdl.dtsi | 8 +++++ arch/arm/dts/imx6sl.dtsi | 16 +++++++++ arch/arm/dts/imx6sll.dtsi | 16 +++++++++ arch/arm/dts/imx6sx.dtsi | 16 +++++++++ arch/arm/dts/imx6ul.dtsi | 16 +++++++++ arch/arm/dts/imx6ull.dtsi | 16 +++++++++ arch/arm/dts/imx7d.dtsi | 8 +++++ arch/arm/dts/imx7s.dtsi | 8 +++++ arch/arm/dts/imx7ulp.dtsi | 8 +++++ 16 files changed, 310 insertions(+), 1 deletion(-) diff --git a/arch/arm/dts/fsl-imx8mm.dtsi b/arch/arm/dts/fsl-imx8mm.dtsi index 1a2a7a1799..f4f61cf1d0 100644 --- a/arch/arm/dts/fsl-imx8mm.dtsi +++ b/arch/arm/dts/fsl-imx8mm.dtsi @@ -47,6 +47,8 @@ spi0 = &flexspi; usb0 = &usbotg1; usb1 = &usbotg2; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -608,6 +610,20 @@ reg = <0x0 0x32e28000 0x0 0x100>; }; + 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@32e40000 { compatible = "fsl,imx8mm-usb", "fsl,imx7d-usb", "fsl,imx27-usb"; reg = <0x0 0x32e40000 0x0 0x200>; diff --git a/arch/arm/dts/fsl-imx8qm-ddr4-arm2-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-ddr4-arm2-u-boot.dtsi index c034c7a7d8..728d4c1042 100644 --- a/arch/arm/dts/fsl-imx8qm-ddr4-arm2-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qm-ddr4-arm2-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} { @@ -74,6 +83,14 @@ u-boot,dm-spl; }; +&pd_conn_usbotg0 { + u-boot,dm-spl; +}; + +&pd_conn_usbotg0_phy { + u-boot,dm-spl; +}; + &pd_conn_sdch2 { u-boot,dm-spl; }; @@ -98,6 +115,18 @@ u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usbotg3 { u-boot,dm-spl; }; diff --git a/arch/arm/dts/fsl-imx8qm-lpddr4-arm2-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-lpddr4-arm2-u-boot.dtsi index c643a81e9b..4572426c4a 100644 --- a/arch/arm/dts/fsl-imx8qm-lpddr4-arm2-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qm-lpddr4-arm2-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} { @@ -122,6 +131,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; }; @@ -146,6 +163,18 @@ u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usbotg3 { u-boot,dm-spl; }; diff --git a/arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-mek-u-boot.dtsi index fc1ff4b168..26e8216c96 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} { @@ -122,6 +131,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; }; @@ -150,6 +167,18 @@ u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usbotg3 { u-boot,dm-spl; }; diff --git a/arch/arm/dts/fsl-imx8qxp-17x17-val-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-17x17-val-u-boot.dtsi index 355ba0beeb..c3fc677d8d 100644 --- a/arch/arm/dts/fsl-imx8qxp-17x17-val-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qxp-17x17-val-u-boot.dtsi @@ -3,6 +3,20 @@ * Copyright 2018 NXP */ +/ { + aliases { + usbgadget0 = &usbg1; + }; + + usbg1: usbg1 { + compatible = "fsl,imx27-usb-gadget"; + dr_mode = "peripheral"; + chipidea,usb = <&usbotg1>; + status = "okay"; + u-boot,dm-spl; + }; +}; + &{/imx8qx-pm} { u-boot,dm-spl; @@ -48,10 +62,30 @@ u-boot,dm-spl; }; +&pd_conn_usbotg0 { + u-boot,dm-spl; +}; + +&pd_conn_usbotg0_phy { + u-boot,dm-spl; +}; + &lpuart0 { u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usdhc1 { u-boot,dm-spl; -}; \ No newline at end of file +}; diff --git a/arch/arm/dts/fsl-imx8qxp-lpddr4-arm2-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-lpddr4-arm2-u-boot.dtsi index 0d5aea6eba..0eb7deaff7 100644 --- a/arch/arm/dts/fsl-imx8qxp-lpddr4-arm2-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qxp-lpddr4-arm2-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} { @@ -114,6 +124,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; }; @@ -142,6 +160,18 @@ u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usbotg3 { 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 1a68246cb3..2870a8880b 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} { @@ -106,6 +116,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; }; @@ -126,6 +144,18 @@ u-boot,dm-spl; }; +&usbmisc1 { + u-boot,dm-spl; +}; + +&usbphy1 { + u-boot,dm-spl; +}; + +&usbotg1 { + u-boot,dm-spl; +}; + &usbotg3 { u-boot,dm-spl; }; diff --git a/arch/arm/dts/imx6qdl.dtsi b/arch/arm/dts/imx6qdl.dtsi index 65146b10cd..91868a0f94 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 { @@ -1076,6 +1077,13 @@ reg = <0x0217c000 0x4000>; }; + 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>; 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 df1d810528..5061b979b0 100644 --- a/arch/arm/dts/imx6sx.dtsi +++ b/arch/arm/dts/imx6sx.dtsi @@ -64,6 +64,8 @@ lcdif1 = &lcdif2; usb0 = &usbotg1; usb1 = &usbotg2; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -1019,6 +1021,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@02184000 { 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 20cfe4aec5..3e3cd661ca 100644 --- a/arch/arm/dts/imx6ul.dtsi +++ b/arch/arm/dts/imx6ul.dtsi @@ -59,6 +59,8 @@ usbphy1 = &usbphy2; usb0 = &usbotg1; usb1 = &usbotg2; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -936,6 +938,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@02184000 { compatible = "fsl,imx6ul-usb", "fsl,imx27-usb"; reg = <0x02184000 0x200>; diff --git a/arch/arm/dts/imx6ull.dtsi b/arch/arm/dts/imx6ull.dtsi index b80847f642..591217a017 100644 --- a/arch/arm/dts/imx6ull.dtsi +++ b/arch/arm/dts/imx6ull.dtsi @@ -49,6 +49,8 @@ usbphy1 = &usbphy2; usb0 = &usbotg1; usb1 = &usbotg2; + usbgadget0 = &usbg1; + usbgadget1 = &usbg2; }; cpus { @@ -851,6 +853,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,imx6ul-usb", "fsl,imx27-usb"; reg = <0x02184000 0x200>; diff --git a/arch/arm/dts/imx7d.dtsi b/arch/arm/dts/imx7d.dtsi index d643858e61..f517bb0824 100644 --- a/arch/arm/dts/imx7d.dtsi +++ b/arch/arm/dts/imx7d.dtsi @@ -47,6 +47,7 @@ / { aliases { usb1 = &usbotg2; + usbgadget1 = &usbg2; }; cpus { @@ -318,6 +319,13 @@ }; &aips3 { + 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 1ce84e19bb..607b4be1c0 100644 --- a/arch/arm/dts/imx7s.dtsi +++ b/arch/arm/dts/imx7s.dtsi @@ -88,6 +88,7 @@ spi3 = &ecspi3; spi4 = &ecspi4; usb0 = &usbotg1; + usbgadget0 = &usbg1; }; cpus { @@ -959,6 +960,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"; -- 2.17.1