- Added PCIe3/USB3 support for Rock 5B - Updated sdmmc properties for Rock 5A/5B Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
142 lines
4.3 KiB
Diff
142 lines
4.3 KiB
Diff
From c062260a0e652da798f7130ec25c6452957456d5 Mon Sep 17 00:00:00 2001
|
|
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
Date: Tue, 25 Apr 2023 18:17:19 +0200
|
|
Subject: [PATCH] arm64: dts: rockchip: rk3588s: Add USB3 controllers
|
|
|
|
Add all USB3 controllers.
|
|
|
|
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
|
---
|
|
arch/arm64/boot/dts/rockchip/rk3588.dtsi | 29 ++++++++++-
|
|
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 60 ++++++++++++++++++++++-
|
|
2 files changed, 87 insertions(+), 2 deletions(-)
|
|
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi
|
|
@@ -7,6 +7,34 @@
|
|
#include "rk3588-pinctrl.dtsi"
|
|
|
|
/ {
|
|
+ usbdrd3_1: usb@fc400000 {
|
|
+ compatible = "rockchip,rk3588-dwc3-otg", "rockchip,rk3399-dwc3";
|
|
+ clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
|
|
+ <&cru ACLK_USB3OTG1>;
|
|
+ clock-names = "ref", "suspend", "bus";
|
|
+ ranges;
|
|
+ resets = <&cru SRST_A_USB3OTG1>;
|
|
+ reset-names = "usb3-otg";
|
|
+ #address-cells = <2>;
|
|
+ #size-cells = <2>;
|
|
+ status = "disabled";
|
|
+
|
|
+ usbdrd_dwc3_1: usb@fc400000 {
|
|
+ compatible = "snps,dwc3";
|
|
+ reg = <0x0 0xfc400000 0x0 0x400000>;
|
|
+ interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
+ power-domains = <&power RK3588_PD_USB>;
|
|
+ dr_mode = "host";
|
|
+ phys = <&u2phy1_otg>, <&usbdp_phy1_u3>;
|
|
+ phy-names = "usb2-phy", "usb3-phy";
|
|
+ phy_type = "utmi_wide";
|
|
+ snps,dis_enblslpm_quirk;
|
|
+ snps,dis-u2-freeclk-exists-quirk;
|
|
+ snps,dis-del-phy-power-chg-quirk;
|
|
+ snps,dis-tx-ipgap-linecheck-quirk;
|
|
+ };
|
|
+ };
|
|
+
|
|
pcie30_phy_grf: syscon@fd5b8000 {
|
|
compatible = "rockchip,rk3588-pcie3-phy-grf", "syscon";
|
|
reg = <0x0 0xfd5b8000 0x0 0x10000>;
|
|
@@ -39,7 +67,6 @@
|
|
clock-names = "phyclk";
|
|
clock-output-names = "usb480m_phy1";
|
|
#clock-cells = <0>;
|
|
- rockchip,usbctrl-grf = <&usb_grf>;
|
|
status = "disabled";
|
|
|
|
u2phy1_otg: otg-port {
|
|
--- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
|
|
@@ -832,6 +832,36 @@
|
|
};
|
|
};
|
|
|
|
+ usbdrd3_0: usb@fc000000 {
|
|
+ compatible = "rockchip,rk3588-dwc3-otg", "rockchip,rk3399-dwc3";
|
|
+ clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>,
|
|
+ <&cru ACLK_USB3OTG0>;
|
|
+ clock-names = "ref", "suspend", "bus";
|
|
+ ranges;
|
|
+ resets = <&cru SRST_A_USB3OTG0>;
|
|
+ reset-names = "usb3-otg";
|
|
+ #address-cells = <2>;
|
|
+ #size-cells = <2>;
|
|
+ status = "disabled";
|
|
+
|
|
+ usbdrd_dwc3_0: usb@fc000000 {
|
|
+ compatible = "snps,dwc3";
|
|
+ reg = <0x0 0xfc000000 0x0 0x400000>;
|
|
+ interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
+ power-domains = <&power RK3588_PD_USB>;
|
|
+ dr_mode = "otg";
|
|
+ phys = <&u2phy0_otg>, <&usbdp_phy0_u3>;
|
|
+ phy-names = "usb2-phy", "usb3-phy";
|
|
+ phy_type = "utmi_wide";
|
|
+ snps,dis_enblslpm_quirk;
|
|
+ snps,dis-u1-entry-quirk;
|
|
+ snps,dis-u2-entry-quirk;
|
|
+ snps,dis-u2-freeclk-exists-quirk;
|
|
+ snps,dis-del-phy-power-chg-quirk;
|
|
+ snps,dis-tx-ipgap-linecheck-quirk;
|
|
+ };
|
|
+ };
|
|
+
|
|
usb_host0_ehci: usb@fc800000 {
|
|
compatible = "rockchip,rk3588-ehci", "generic-ehci";
|
|
reg = <0x0 0xfc800000 0x0 0x40000>;
|
|
@@ -876,6 +906,35 @@
|
|
status = "disabled";
|
|
};
|
|
|
|
+ usbhost3_0: usb@fcd00000 {
|
|
+ compatible = "rockchip,rk3588-dwc3-host", "rockchip,rk3399-dwc3";
|
|
+ clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>,
|
|
+ <&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>,
|
|
+ <&cru PCLK_PHP_ROOT>, <&cru CLK_PIPEPHY2_PIPE_U3_G>;
|
|
+ clock-names = "ref", "suspend", "bus", "utmi", "php", "pipe";
|
|
+ ranges;
|
|
+ resets = <&cru SRST_A_USB3OTG2>;
|
|
+ reset-names = "usb3-host";
|
|
+ #address-cells = <2>;
|
|
+ #size-cells = <2>;
|
|
+ status = "disabled";
|
|
+
|
|
+ usbhost_dwc3_0: usb@fcd00000 {
|
|
+ compatible = "snps,dwc3";
|
|
+ reg = <0x0 0xfcd00000 0x0 0x400000>;
|
|
+ interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
+ dr_mode = "host";
|
|
+ phys = <&combphy2_psu PHY_TYPE_USB3>;
|
|
+ phy-names = "usb3-phy";
|
|
+ phy_type = "utmi_wide";
|
|
+ snps,dis_enblslpm_quirk;
|
|
+ snps,dis-u2-freeclk-exists-quirk;
|
|
+ snps,dis-del-phy-power-chg-quirk;
|
|
+ snps,dis-tx-ipgap-linecheck-quirk;
|
|
+ snps,dis_rxdet_inp3_quirk;
|
|
+ };
|
|
+ };
|
|
+
|
|
sys_grf: syscon@fd58c000 {
|
|
compatible = "rockchip,rk3588-sys-grf", "syscon";
|
|
reg = <0x0 0xfd58c000 0x0 0x1000>;
|
|
@@ -923,7 +982,6 @@
|
|
clock-names = "phyclk";
|
|
clock-output-names = "usb480m_phy0";
|
|
#clock-cells = <0>;
|
|
- rockchip,usbctrl-grf = <&usb_grf>;
|
|
status = "disabled";
|
|
|
|
u2phy0_otg: otg-port {
|