From c67ca43017e94c1b6dc3a66edfa5ee855a2f08dc Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Tue, 6 Apr 2021 19:55:57 +0800 Subject: [PATCH] Revert "rockchip: backport upstream usbdrd3 patches" This reverts commit 2d6e43739c8918ba74ff62af529eb6c2000afd67. This is not stable yet, and has some issues when detects USB devices. Signed-off-by: Tianling Shen --- ...dd-support-for-FriendlyARM-NanoPi-R.patch} | 2 +- ...-add-rk3328-dwc3-usb-controller-node.patch | 48 -------------- ...usb3-controller-node-for-RK3328-SoCs.patch | 62 +++++++++++++++++++ ...ckchip-enable-LAN-port-on-NanoPi-R2S.patch | 26 ++++---- ...dd-OF-node-for-USB-eth-on-NanoPi-R2S.patch | 4 +- ...-of-simple-add-compatible-for-rk3328.patch | 35 ----------- ...ple-bail-probe-if-no-dwc3-child-node.patch | 36 ----------- ...328-Add-support-for-OrangePi-R1-Plus.patch | 2 +- ...m64-dts-rockchip-rk3328-add-dfi-node.patch | 4 +- ...anopi-r2s-add-rk3328-dmc-relate-node.patch | 2 +- ...dd-support-for-FriendlyARM-NanoPi-R.patch} | 2 +- ...-add-rk3328-dwc3-usb-controller-node.patch | 48 -------------- ...usb3-controller-node-for-RK3328-SoCs.patch | 62 +++++++++++++++++++ ...ckchip-enable-LAN-port-on-NanoPi-R2S.patch | 6 +- ...dd-OF-node-for-USB-eth-on-NanoPi-R2S.patch | 4 +- ...-of-simple-add-compatible-for-rk3328.patch | 35 ----------- ...ple-bail-probe-if-no-dwc3-child-node.patch | 36 ----------- ...m64-dts-rockchip-rk3328-add-dfi-node.patch | 4 +- 18 files changed, 156 insertions(+), 262 deletions(-) rename target/linux/rockchip/patches-5.10/{006-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch => 006-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch} (99%) delete mode 100644 target/linux/rockchip/patches-5.10/007-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch create mode 100644 target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch delete mode 100644 target/linux/rockchip/patches-5.10/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch delete mode 100644 target/linux/rockchip/patches-5.10/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch rename target/linux/rockchip/patches-5.4/{009-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch => 009-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch} (99%) delete mode 100644 target/linux/rockchip/patches-5.4/010-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch create mode 100644 target/linux/rockchip/patches-5.4/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch delete mode 100644 target/linux/rockchip/patches-5.4/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch delete mode 100644 target/linux/rockchip/patches-5.4/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch diff --git a/target/linux/rockchip/patches-5.10/006-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch b/target/linux/rockchip/patches-5.10/006-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch similarity index 99% rename from target/linux/rockchip/patches-5.10/006-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch rename to target/linux/rockchip/patches-5.10/006-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch index 6d43ba3f57..461a5ae7dd 100644 --- a/target/linux/rockchip/patches-5.10/006-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch +++ b/target/linux/rockchip/patches-5.10/006-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch @@ -25,7 +25,7 @@ Link: https://lore.kernel.org/r/20210319051627.814-2-cnsztl@gmail.com Signed-off-by: Heiko Stuebner --- arch/arm64/boot/dts/rockchip/Makefile | 1 + - .../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 133 ++++++++++++++++++ + .../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 133 +++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts diff --git a/target/linux/rockchip/patches-5.10/007-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch b/target/linux/rockchip/patches-5.10/007-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch deleted file mode 100644 index e86599a362..0000000000 --- a/target/linux/rockchip/patches-5.10/007-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 44dd5e2106dc2fd01697b539085818d1d1c58df0 Mon Sep 17 00:00:00 2001 -From: Cameron Nemo -Date: Tue, 9 Feb 2021 20:23:49 +0100 -Subject: arm64: dts: rockchip: add rk3328 dwc3 usb controller node - -RK3328 SoCs have one USB 3.0 OTG controller which uses DWC_USB3 -core's general architecture. It can act as static xHCI host -controller, static device controller, USB 3.0/2.0 OTG basing -on ID of USB3.0 PHY. - -Signed-off-by: William Wu -Signed-off-by: Cameron Nemo -Signed-off-by: Johan Jonker -Signed-off-by: Heiko Stuebner -Link: https://lore.kernel.org/r/20210209192350.7130-7-jbx6244@gmail.com -Signed-off-by: Heiko Stuebner ---- - arch/arm64/boot/dts/rockchip/rk3328.dtsi | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - ---- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi -+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -984,6 +984,25 @@ - status = "disabled"; - }; - -+ usbdrd3: usb@ff600000 { -+ compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; -+ reg = <0x0 0xff600000 0x0 0x100000>; -+ interrupts = ; -+ clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, -+ <&cru ACLK_USB3OTG>; -+ clock-names = "ref_clk", "suspend_clk", -+ "bus_clk"; -+ dr_mode = "otg"; -+ phy_type = "utmi_wide"; -+ snps,dis-del-phy-power-chg-quirk; -+ snps,dis_enblslpm_quirk; -+ snps,dis-tx-ipgap-linecheck-quirk; -+ snps,dis-u2-freeclk-exists-quirk; -+ snps,dis_u2_susphy_quirk; -+ snps,dis_u3_susphy_quirk; -+ status = "disabled"; -+ }; -+ - gic: interrupt-controller@ff811000 { - compatible = "arm,gic-400"; - #interrupt-cells = <3>; diff --git a/target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch b/target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch new file mode 100644 index 0000000000..e8123ee025 --- /dev/null +++ b/target/linux/rockchip/patches-5.10/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch @@ -0,0 +1,62 @@ +From: William Wu + +RK3328 has one USB 3.0 OTG controller which uses DWC_USB3 +core's general architecture. It can act as static xHCI host +controller, static device controller, USB 3.0/2.0 OTG basing +on ID of USB3.0 PHY. + +Signed-off-by: William Wu +Signed-off-by: Leonidas P. Papadakos + +--- + +NOTE: This binding still has issues. From the original thread: + +the rk3328 usb3-phy has an issue with detecting any plugin events +after a previous device got removed - see the inno-usb3-phy driver +in the vendor kernel. + +The current state is good-enough for enabling the USB3 attached LAN +port of the NanoPi R2S. However, it might explode depending on your +use-case. You've been warned. + +--- + arch/arm64/boot/dts/rockchip/rk3328.dtsi | 27 ++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +@@ -984,6 +984,33 @@ + status = "disabled"; + }; + ++ usbdrd3: usb@ff600000 { ++ compatible = "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3"; ++ clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, ++ <&cru ACLK_USB3OTG>; ++ clock-names = "ref_clk", "suspend_clk", ++ "bus_clk"; ++ #address-cells = <2>; ++ #size-cells = <2>; ++ ranges; ++ status = "disabled"; ++ ++ usbdrd_dwc3: dwc3@ff600000 { ++ compatible = "snps,dwc3"; ++ reg = <0x0 0xff600000 0x0 0x100000>; ++ interrupts = ; ++ dr_mode = "otg"; ++ phy_type = "utmi_wide"; ++ snps,dis_enblslpm_quirk; ++ snps,dis-u2-freeclk-exists-quirk; ++ snps,dis_u2_susphy_quirk; ++ snps,dis_u3_susphy_quirk; ++ snps,dis-del-phy-power-chg-quirk; ++ snps,dis-tx-ipgap-linecheck-quirk; ++ status = "disabled"; ++ }; ++ }; ++ + gic: interrupt-controller@ff811000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; diff --git a/target/linux/rockchip/patches-5.10/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch b/target/linux/rockchip/patches-5.10/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch index 2a24c29e88..82e2137a8b 100644 --- a/target/linux/rockchip/patches-5.10/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch +++ b/target/linux/rockchip/patches-5.10/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch @@ -13,11 +13,10 @@ Signed-off-by: David Bauer --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts -@@ -103,6 +103,18 @@ - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; +@@ -44,6 +44,18 @@ + }; }; -+ + + vcc_rtl8153: vcc-rtl8153-regulator { + compatible = "regulator-fixed"; + gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>; @@ -29,11 +28,12 @@ Signed-off-by: David Bauer + regulator-max-microvolt = <5000000>; + enable-active-high; + }; - }; - - &cpu0 { -@@ -324,6 +336,12 @@ - rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>; ++ + leds { + compatible = "gpio-leds"; + pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>; +@@ -273,6 +285,12 @@ + }; }; }; + @@ -44,13 +44,17 @@ Signed-off-by: David Bauer + }; }; - &pwm2 { -@@ -379,3 +397,8 @@ + &io_domains { +@@ -379,3 +397,12 @@ &usb_host0_ohci { status = "okay"; }; + +&usbdrd3 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3 { + dr_mode = "host"; + status = "okay"; +}; diff --git a/target/linux/rockchip/patches-5.10/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch b/target/linux/rockchip/patches-5.10/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch index 6d40d23b24..0acfae5de3 100644 --- a/target/linux/rockchip/patches-5.10/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch +++ b/target/linux/rockchip/patches-5.10/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch @@ -14,8 +14,8 @@ Signed-off-by: David Bauer --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts -@@ -401,4 +401,11 @@ - &usbdrd3 { +@@ -405,4 +405,11 @@ + &usbdrd_dwc3 { dr_mode = "host"; status = "okay"; + diff --git a/target/linux/rockchip/patches-5.10/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch b/target/linux/rockchip/patches-5.10/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch deleted file mode 100644 index f1b2b0d691..0000000000 --- a/target/linux/rockchip/patches-5.10/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Johan Jonker -To: heiko@sntech.de -Cc: devicetree@vger.kernel.org, balbi@kernel.org, - gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, - linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, - robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org -Subject: [PATCH v3 6/8] usb: dwc3: of-simple: add compatible for rk3328 -Date: Fri, 5 Feb 2021 12:40:09 +0100 -Message-ID: <20210205114011.10381-6-jbx6244@gmail.com> (raw) -In-Reply-To: <20210205114011.10381-1-jbx6244@gmail.com> - -From: Cameron Nemo - -Add a compatible to be hooked into by the Rockchip rk3328 device tree. - -The rk3399 compatible cannot be reused because the rk3328 SoCs may -require a specialized driver in the future and old device trees must -remain compatible with newer kernels. - -Signed-off-by: Cameron Nemo -Signed-off-by: Johan Jonker ---- - drivers/usb/dwc3/dwc3-of-simple.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/dwc3/dwc3-of-simple.c -+++ b/drivers/usb/dwc3/dwc3-of-simple.c -@@ -171,6 +171,7 @@ static const struct dev_pm_ops dwc3_of_s - }; - - static const struct of_device_id of_dwc3_simple_match[] = { -+ { .compatible = "rockchip,rk3328-dwc3" }, - { .compatible = "rockchip,rk3399-dwc3" }, - { .compatible = "xlnx,zynqmp-dwc3" }, - { .compatible = "cavium,octeon-7130-usb-uctl" }, diff --git a/target/linux/rockchip/patches-5.10/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch b/target/linux/rockchip/patches-5.10/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch deleted file mode 100644 index 6d0b79f416..0000000000 --- a/target/linux/rockchip/patches-5.10/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Johan Jonker -To: heiko@sntech.de -Cc: devicetree@vger.kernel.org, balbi@kernel.org, - gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, - linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, - robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org -Subject: [PATCH v5 2/8] usb: dwc3: of-simple: bail probe if no dwc3 child node -Date: Tue, 9 Feb 2021 20:23:44 +0100 -Message-ID: <20210209192350.7130-2-jbx6244@gmail.com> (raw) -In-Reply-To: <20210209192350.7130-1-jbx6244@gmail.com> - -For some of the dwc3-of-simple compatible SoCs we -don't want to bind this driver to a dwc3 node, -but bind that node to the 'snps,dwc3' driver instead. -The kernel has no logic to decide which driver to bind -to if there are 2 matching drivers, so bail probe if no -dwc3 child node. - -Signed-off-by: Johan Jonker ---- - drivers/usb/dwc3/dwc3-of-simple.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/drivers/usb/dwc3/dwc3-of-simple.c -+++ b/drivers/usb/dwc3/dwc3-of-simple.c -@@ -38,6 +38,10 @@ static int dwc3_of_simple_probe(struct p - - int ret; - -+ /* Bail probe if no dwc3 child node. */ -+ if (!of_get_compatible_child(dev->of_node, "snps,dwc3")) -+ return -ENODEV; -+ - simple = devm_kzalloc(dev, sizeof(*simple), GFP_KERNEL); - if (!simple) - return -ENOMEM; diff --git a/target/linux/rockchip/patches-5.10/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch b/target/linux/rockchip/patches-5.10/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch index 3bc09bdf53..c529427791 100644 --- a/target/linux/rockchip/patches-5.10/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch +++ b/target/linux/rockchip/patches-5.10/202-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-od +@@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb diff --git a/target/linux/rockchip/patches-5.10/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch b/target/linux/rockchip/patches-5.10/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch index 479340820c..8a5222da22 100644 --- a/target/linux/rockchip/patches-5.10/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch +++ b/target/linux/rockchip/patches-5.10/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch @@ -11,8 +11,8 @@ Signed-off-by: Tianling Shen --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -1014,6 +1014,13 @@ - status = "disabled"; +@@ -1022,6 +1022,13 @@ + }; }; + dfi: dfi@ff790000 { diff --git a/target/linux/rockchip/patches-5.10/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch b/target/linux/rockchip/patches-5.10/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch index d4bf547763..d93b9a77b2 100644 --- a/target/linux/rockchip/patches-5.10/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch +++ b/target/linux/rockchip/patches-5.10/807-arm64-dts-nanopi-r2s-add-rk3328-dmc-relate-node.patch @@ -25,8 +25,8 @@ Signed-off-by: hmz007 / { @@ -115,6 +116,72 @@ + regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - enable-active-high; }; + + dmc: dmc { diff --git a/target/linux/rockchip/patches-5.4/009-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch b/target/linux/rockchip/patches-5.4/009-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch similarity index 99% rename from target/linux/rockchip/patches-5.4/009-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch rename to target/linux/rockchip/patches-5.4/009-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch index b7495f000b..c508d71317 100644 --- a/target/linux/rockchip/patches-5.4/009-v5.13-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch +++ b/target/linux/rockchip/patches-5.4/009-rockchip-rk3399-Add-support-for-FriendlyARM-NanoPi-R.patch @@ -25,7 +25,7 @@ Link: https://lore.kernel.org/r/20210319051627.814-2-cnsztl@gmail.com Signed-off-by: Heiko Stuebner --- arch/arm64/boot/dts/rockchip/Makefile | 1 + - .../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 133 ++++++++++++++++++ + .../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 133 +++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts diff --git a/target/linux/rockchip/patches-5.4/010-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch b/target/linux/rockchip/patches-5.4/010-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch deleted file mode 100644 index 2942e8f43f..0000000000 --- a/target/linux/rockchip/patches-5.4/010-v5.13-arm64-dts-rockchip-add-rk3328-dwc3-usb-controller-node.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 44dd5e2106dc2fd01697b539085818d1d1c58df0 Mon Sep 17 00:00:00 2001 -From: Cameron Nemo -Date: Tue, 9 Feb 2021 20:23:49 +0100 -Subject: arm64: dts: rockchip: add rk3328 dwc3 usb controller node - -RK3328 SoCs have one USB 3.0 OTG controller which uses DWC_USB3 -core's general architecture. It can act as static xHCI host -controller, static device controller, USB 3.0/2.0 OTG basing -on ID of USB3.0 PHY. - -Signed-off-by: William Wu -Signed-off-by: Cameron Nemo -Signed-off-by: Johan Jonker -Signed-off-by: Heiko Stuebner -Link: https://lore.kernel.org/r/20210209192350.7130-7-jbx6244@gmail.com -Signed-off-by: Heiko Stuebner ---- - arch/arm64/boot/dts/rockchip/rk3328.dtsi | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - ---- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi -+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -955,6 +955,25 @@ - status = "disabled"; - }; - -+ usbdrd3: usb@ff600000 { -+ compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; -+ reg = <0x0 0xff600000 0x0 0x100000>; -+ interrupts = ; -+ clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, -+ <&cru ACLK_USB3OTG>; -+ clock-names = "ref_clk", "suspend_clk", -+ "bus_clk"; -+ dr_mode = "otg"; -+ phy_type = "utmi_wide"; -+ snps,dis-del-phy-power-chg-quirk; -+ snps,dis_enblslpm_quirk; -+ snps,dis-tx-ipgap-linecheck-quirk; -+ snps,dis-u2-freeclk-exists-quirk; -+ snps,dis_u2_susphy_quirk; -+ snps,dis_u3_susphy_quirk; -+ status = "disabled"; -+ }; -+ - gic: interrupt-controller@ff811000 { - compatible = "arm,gic-400"; - #interrupt-cells = <3>; diff --git a/target/linux/rockchip/patches-5.4/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch b/target/linux/rockchip/patches-5.4/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch new file mode 100644 index 0000000000..621b25abca --- /dev/null +++ b/target/linux/rockchip/patches-5.4/101-dts-rockchip-add-usb3-controller-node-for-RK3328-SoCs.patch @@ -0,0 +1,62 @@ +From: William Wu + +RK3328 has one USB 3.0 OTG controller which uses DWC_USB3 +core's general architecture. It can act as static xHCI host +controller, static device controller, USB 3.0/2.0 OTG basing +on ID of USB3.0 PHY. + +Signed-off-by: William Wu +Signed-off-by: Leonidas P. Papadakos + +--- + +NOTE: This binding still has issues. From the original thread: + +the rk3328 usb3-phy has an issue with detecting any plugin events +after a previous device got removed - see the inno-usb3-phy driver +in the vendor kernel. + +The current state is good-enough for enabling the USB3 attached LAN +port of the NanoPi R2S. However, it might explode depending on your +use-case. You've been warned. + +--- + arch/arm64/boot/dts/rockchip/rk3328.dtsi | 27 ++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +@@ -955,6 +955,33 @@ + status = "disabled"; + }; + ++ usbdrd3: usb@ff600000 { ++ compatible = "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3"; ++ clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, ++ <&cru ACLK_USB3OTG>; ++ clock-names = "ref_clk", "suspend_clk", ++ "bus_clk"; ++ #address-cells = <2>; ++ #size-cells = <2>; ++ ranges; ++ status = "disabled"; ++ ++ usbdrd_dwc3: dwc3@ff600000 { ++ compatible = "snps,dwc3"; ++ reg = <0x0 0xff600000 0x0 0x100000>; ++ interrupts = ; ++ dr_mode = "otg"; ++ phy_type = "utmi_wide"; ++ snps,dis_enblslpm_quirk; ++ snps,dis-u2-freeclk-exists-quirk; ++ snps,dis_u2_susphy_quirk; ++ snps,dis_u3_susphy_quirk; ++ snps,dis-del-phy-power-chg-quirk; ++ snps,dis-tx-ipgap-linecheck-quirk; ++ status = "disabled"; ++ }; ++ }; ++ + gic: interrupt-controller@ff811000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; diff --git a/target/linux/rockchip/patches-5.4/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch b/target/linux/rockchip/patches-5.4/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch index 11fa87914f..37dcb88948 100644 --- a/target/linux/rockchip/patches-5.4/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch +++ b/target/linux/rockchip/patches-5.4/102-rockchip-enable-LAN-port-on-NanoPi-R2S.patch @@ -45,12 +45,16 @@ Signed-off-by: David Bauer }; &pwm2 { -@@ -375,3 +393,8 @@ +@@ -375,3 +393,12 @@ &usb_host0_ohci { status = "okay"; }; + +&usbdrd3 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3 { + dr_mode = "host"; + status = "okay"; +}; diff --git a/target/linux/rockchip/patches-5.4/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch b/target/linux/rockchip/patches-5.4/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch index f026fdc58e..e318f3136f 100644 --- a/target/linux/rockchip/patches-5.4/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch +++ b/target/linux/rockchip/patches-5.4/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch @@ -14,8 +14,8 @@ Signed-off-by: David Bauer --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts -@@ -397,4 +397,11 @@ - &usbdrd3 { +@@ -401,4 +401,11 @@ + &usbdrd_dwc3 { dr_mode = "host"; status = "okay"; + diff --git a/target/linux/rockchip/patches-5.4/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch b/target/linux/rockchip/patches-5.4/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch deleted file mode 100644 index e2b4358bf7..0000000000 --- a/target/linux/rockchip/patches-5.4/106-usb-dwc3-of-simple-add-compatible-for-rk3328.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Johan Jonker -To: heiko@sntech.de -Cc: devicetree@vger.kernel.org, balbi@kernel.org, - gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, - linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, - robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org -Subject: [PATCH v3 6/8] usb: dwc3: of-simple: add compatible for rk3328 -Date: Fri, 5 Feb 2021 12:40:09 +0100 -Message-ID: <20210205114011.10381-6-jbx6244@gmail.com> (raw) -In-Reply-To: <20210205114011.10381-1-jbx6244@gmail.com> - -From: Cameron Nemo - -Add a compatible to be hooked into by the Rockchip rk3328 device tree. - -The rk3399 compatible cannot be reused because the rk3328 SoCs may -require a specialized driver in the future and old device trees must -remain compatible with newer kernels. - -Signed-off-by: Cameron Nemo -Signed-off-by: Johan Jonker ---- - drivers/usb/dwc3/dwc3-of-simple.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/usb/dwc3/dwc3-of-simple.c -+++ b/drivers/usb/dwc3/dwc3-of-simple.c -@@ -176,6 +176,7 @@ static const struct dev_pm_ops dwc3_of_s - }; - - static const struct of_device_id of_dwc3_simple_match[] = { -+ { .compatible = "rockchip,rk3328-dwc3" }, - { .compatible = "rockchip,rk3399-dwc3" }, - { .compatible = "xlnx,zynqmp-dwc3" }, - { .compatible = "cavium,octeon-7130-usb-uctl" }, diff --git a/target/linux/rockchip/patches-5.4/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch b/target/linux/rockchip/patches-5.4/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch deleted file mode 100644 index 6fedf775ce..0000000000 --- a/target/linux/rockchip/patches-5.4/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Johan Jonker -To: heiko@sntech.de -Cc: devicetree@vger.kernel.org, balbi@kernel.org, - gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, - linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, - robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org -Subject: [PATCH v5 2/8] usb: dwc3: of-simple: bail probe if no dwc3 child node -Date: Tue, 9 Feb 2021 20:23:44 +0100 -Message-ID: <20210209192350.7130-2-jbx6244@gmail.com> (raw) -In-Reply-To: <20210209192350.7130-1-jbx6244@gmail.com> - -For some of the dwc3-of-simple compatible SoCs we -don't want to bind this driver to a dwc3 node, -but bind that node to the 'snps,dwc3' driver instead. -The kernel has no logic to decide which driver to bind -to if there are 2 matching drivers, so bail probe if no -dwc3 child node. - -Signed-off-by: Johan Jonker ---- - drivers/usb/dwc3/dwc3-of-simple.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/drivers/usb/dwc3/dwc3-of-simple.c -+++ b/drivers/usb/dwc3/dwc3-of-simple.c -@@ -40,6 +40,10 @@ static int dwc3_of_simple_probe(struct p - int ret; - bool shared_resets = false; - -+ /* Bail probe if no dwc3 child node. */ -+ if (!of_get_compatible_child(dev->of_node, "snps,dwc3")) -+ return -ENODEV; -+ - simple = devm_kzalloc(dev, sizeof(*simple), GFP_KERNEL); - if (!simple) - return -ENOMEM; diff --git a/target/linux/rockchip/patches-5.4/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch b/target/linux/rockchip/patches-5.4/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch index c090dbf97a..e9b79b6fa9 100644 --- a/target/linux/rockchip/patches-5.4/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch +++ b/target/linux/rockchip/patches-5.4/806-arm64-dts-rockchip-rk3328-add-dfi-node.patch @@ -11,8 +11,8 @@ Signed-off-by: Tianling Shen --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi -@@ -985,6 +985,13 @@ - status = "disabled"; +@@ -993,6 +993,13 @@ + }; }; + dfi: dfi@ff790000 {