From a165d67e649fa81f5cbc3e2e4b4834e005ebc60b Mon Sep 17 00:00:00 2001 From: Tianling Shen <cnsztl@gmail.com> Date: Tue, 6 Apr 2021 19:57:50 +0800 Subject: [PATCH] Revert "rockchip: backport upstream usbdrd3 patches" This reverts commit fb82562e4568094a221d62784016c23a1171f301. This is not stable yet, and has some issues when detects USB devices. Signed-off-by: Tianling Shen <cnsztl@gmail.com> --- ...-r8152-add-LED-configuration-from-OF.patch | 8 +-- ...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 +- 9 files changed, 76 insertions(+), 129 deletions(-) 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.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/rockchip/patches-5.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch index 69b5000177..53b6413cf3 100644 --- a/target/linux/rockchip/patches-5.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/rockchip/patches-5.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> #include <linux/crc32.h> #include <linux/if_vlan.h> #include <linux/uaccess.h> -@@ -4335,6 +4336,22 @@ static void rtl_tally_reset(struct r8152 +@@ -4363,6 +4364,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -4376,6 +4393,8 @@ static void r8152b_init(struct r8152 *tp +@@ -4404,6 +4421,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> } static void r8153_init(struct r8152 *tp) -@@ -4510,6 +4529,8 @@ static void r8153_init(struct r8152 *tp) +@@ -4533,6 +4552,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net> } static void r8153b_init(struct r8152 *tp) -@@ -4586,6 +4607,8 @@ static void r8153b_init(struct r8152 *tp +@@ -4609,6 +4630,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ 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 <heiko@sntech.de> --- 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 <cnemo@tutanota.com> -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 <william.wu@rock-chips.com> -Signed-off-by: Cameron Nemo <cnemo@tutanota.com> -Signed-off-by: Johan Jonker <jbx6244@gmail.com> -Signed-off-by: Heiko Stuebner <heiko@sntech.de> -Link: https://lore.kernel.org/r/20210209192350.7130-7-jbx6244@gmail.com -Signed-off-by: Heiko Stuebner <heiko@sntech.de> ---- - 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 = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; -+ 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 <william.wu@rock-chips.com> + +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 <william.wu@rock-chips.com> +Signed-off-by: Leonidas P. Papadakos <papadakospan@gmail.com> + +--- + +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 = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; ++ 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 <mail@david-bauer.net> }; &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 <mail@david-bauer.net> --- 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 <jbx6244@gmail.com> -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 <cnemo@tutanota.com> - -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 <cnemo@tutanota.com> -Signed-off-by: Johan Jonker <jbx6244@gmail.com> ---- - 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 <jbx6244@gmail.com> -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 <jbx6244@gmail.com> ---- - 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 <cnsztl@immortalwrt.org> --- 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 {