rockchip: rk3588-rock-5b: Sync USB3 nodes from mainline linux patches
The device tree for rk3588 and rock-5b contain usb3 nodes that have deviated too much from current state of submitted mainline linux usb3 patches, see [1]. Sync usb3 related nodes from latest patches and collaboras rk3588 tree so that dwc3-generic driver can be updated to include support for the rockchip,rk3588-dwc3 compatible in the future, use rockchip,rk3568-dwc3 compatible until final node is merged in linux maintainer tree. [1] https://lore.kernel.org/lkml/20231009172129.43568-1-sebastian.reichel@collabora.com/ Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
parent
191ece249a
commit
c1710bfc4f
|
@ -19,38 +19,10 @@
|
||||||
regulator-min-microvolt = <12000000>;
|
regulator-min-microvolt = <12000000>;
|
||||||
regulator-max-microvolt = <12000000>;
|
regulator-max-microvolt = <12000000>;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
vcc5v0_usbdcin: vcc5v0-usbdcin {
|
&combphy2_psu {
|
||||||
compatible = "regulator-fixed";
|
status = "okay";
|
||||||
regulator-name = "vcc5v0_usbdcin";
|
|
||||||
regulator-always-on;
|
|
||||||
regulator-boot-on;
|
|
||||||
regulator-min-microvolt = <5000000>;
|
|
||||||
regulator-max-microvolt = <5000000>;
|
|
||||||
vin-supply = <&vcc12v_dcin>;
|
|
||||||
};
|
|
||||||
|
|
||||||
vcc5v0_usb: vcc5v0-usb {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
regulator-name = "vcc5v0_usb";
|
|
||||||
regulator-always-on;
|
|
||||||
regulator-boot-on;
|
|
||||||
regulator-min-microvolt = <5000000>;
|
|
||||||
regulator-max-microvolt = <5000000>;
|
|
||||||
vin-supply = <&vcc5v0_usbdcin>;
|
|
||||||
};
|
|
||||||
|
|
||||||
vbus5v0_typec: vbus5v0-typec {
|
|
||||||
compatible = "regulator-fixed";
|
|
||||||
regulator-name = "vbus5v0_typec";
|
|
||||||
regulator-min-microvolt = <5000000>;
|
|
||||||
regulator-max-microvolt = <5000000>;
|
|
||||||
enable-active-high;
|
|
||||||
gpio = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
|
|
||||||
vin-supply = <&vcc5v0_usb>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&typec5v_pwren>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&fspim2_pins {
|
&fspim2_pins {
|
||||||
|
@ -58,13 +30,9 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&pinctrl {
|
&pinctrl {
|
||||||
usb-typec {
|
usb {
|
||||||
usbc0_int: usbc0-int {
|
usbc0_int: usbc0-int {
|
||||||
rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
|
rockchip,pins = <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||||
};
|
|
||||||
|
|
||||||
typec5v_pwren: typec5v-pwren {
|
|
||||||
rockchip,pins = <2 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -97,7 +65,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&u2phy0_otg {
|
&u2phy0_otg {
|
||||||
rockchip,typec-vbus-det;
|
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -109,25 +76,17 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb2phy2_grf {
|
&usbdp_phy1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb2phy3_grf {
|
&usbdp_phy1_u3 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&usb_host0_ehci {
|
|
||||||
companion = <&usb_host0_ohci>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&usb_host1_ehci {
|
|
||||||
companion = <&usb_host1_ohci>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&usbdp_phy0 {
|
&usbdp_phy0 {
|
||||||
orientation-switch;
|
orientation-switch;
|
||||||
svid = <0xff01>;
|
mode-switch;
|
||||||
sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
|
sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
|
||||||
sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
|
sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
@ -135,14 +94,15 @@
|
||||||
port {
|
port {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
usbdp_phy0_orientation_switch: endpoint@0 {
|
|
||||||
|
usbdp_phy0_typec_ss: endpoint@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
remote-endpoint = <&usbc0_orien_sw>;
|
remote-endpoint = <&usbc0_ss>;
|
||||||
};
|
};
|
||||||
|
|
||||||
usbdp_phy0_dp_altmode_mux: endpoint@1 {
|
usbdp_phy0_typec_sbu: endpoint@1 {
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
remote-endpoint = <&dp_altmode_mux>;
|
remote-endpoint = <&usbc0_sbu>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -151,84 +111,53 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&usbdp_phy1 {
|
&usb_host0_xhci {
|
||||||
rockchip,dp-lane-mux = <2 3>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&usbdp_phy1_u3 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&usbdrd3_0 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&usbdrd3_1 {
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
&usbdrd_dwc3_0 {
|
|
||||||
usb-role-switch;
|
usb-role-switch;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
port {
|
port {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
dwc3_0_role_switch: endpoint@0 {
|
|
||||||
reg = <0>;
|
usb_host0_xhci_drd_sw: endpoint {
|
||||||
remote-endpoint = <&usbc0_role_sw>;
|
remote-endpoint = <&usbc0_hs>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&usb_host1_xhci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb_host2_xhci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&i2c4 {
|
&i2c4 {
|
||||||
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&i2c4m1_xfer>;
|
pinctrl-0 = <&i2c4m1_xfer>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
usbc0: fusb302@22 {
|
usbc0: usb-typec@22 {
|
||||||
compatible = "fcs,fusb302";
|
compatible = "fcs,fusb302";
|
||||||
reg = <0x22>;
|
reg = <0x22>;
|
||||||
interrupt-parent = <&gpio3>;
|
interrupt-parent = <&gpio3>;
|
||||||
interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
|
interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
pinctrl-0 = <&usbc0_int>;
|
pinctrl-0 = <&usbc0_int>;
|
||||||
vbus-supply = <&vbus5v0_typec>;
|
vbus-supply = <&vcc12v_dcin>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
ports {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
port@0 {
|
|
||||||
reg = <0>;
|
|
||||||
usbc0_role_sw: endpoint@0 {
|
|
||||||
remote-endpoint = <&dwc3_0_role_switch>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
usb_con: connector {
|
usb_con: connector {
|
||||||
compatible = "usb-c-connector";
|
compatible = "usb-c-connector";
|
||||||
label = "USB-C";
|
label = "USB-C";
|
||||||
data-role = "dual";
|
data-role = "dual";
|
||||||
power-role = "dual";
|
power-role = "sink";
|
||||||
try-power-role = "sink";
|
try-power-role = "sink";
|
||||||
op-sink-microwatt = <1000000>;
|
op-sink-microwatt = <1000000>;
|
||||||
sink-pdos =
|
sink-pdos =
|
||||||
<PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
|
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>,
|
||||||
source-pdos =
|
<PDO_VAR(5000, 20000, 5000)>;
|
||||||
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
|
|
||||||
|
|
||||||
altmodes {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
|
|
||||||
altmode@0 {
|
|
||||||
reg = <0>;
|
|
||||||
svid = <0xff01>;
|
|
||||||
vdo = <0xffffffff>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ports {
|
ports {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
@ -236,15 +165,22 @@
|
||||||
|
|
||||||
port@0 {
|
port@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
usbc0_orien_sw: endpoint {
|
usbc0_hs: endpoint {
|
||||||
remote-endpoint = <&usbdp_phy0_orientation_switch>;
|
remote-endpoint = <&usb_host0_xhci_drd_sw>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
port@1 {
|
port@1 {
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
dp_altmode_mux: endpoint {
|
usbc0_ss: endpoint {
|
||||||
remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
|
remote-endpoint = <&usbdp_phy0_typec_ss>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
usbc0_sbu: endpoint {
|
||||||
|
remote-endpoint = <&usbdp_phy0_typec_sbu>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,32 +6,24 @@
|
||||||
#include "rk3588s-u-boot.dtsi"
|
#include "rk3588s-u-boot.dtsi"
|
||||||
|
|
||||||
/ {
|
/ {
|
||||||
usbdrd3_1: usbdrd3_1 {
|
usb_host1_xhci: usb@fc400000 {
|
||||||
compatible = "rockchip,rk3588-dwc3", "rockchip,rk3399-dwc3";
|
compatible = "rockchip,rk3588-dwc3", "rockchip,rk3568-dwc3", "snps,dwc3";
|
||||||
|
reg = <0x0 0xfc400000 0x0 0x400000>;
|
||||||
|
interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
|
clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
|
||||||
<&cru ACLK_USB3OTG1>;
|
<&cru ACLK_USB3OTG1>;
|
||||||
clock-names = "ref", "suspend", "bus";
|
clock-names = "ref_clk", "suspend_clk", "bus_clk";
|
||||||
#address-cells = <2>;
|
dr_mode = "host";
|
||||||
#size-cells = <2>;
|
phys = <&u2phy1_otg>, <&usbdp_phy1_u3>;
|
||||||
ranges;
|
phy-names = "usb2-phy", "usb3-phy";
|
||||||
|
phy_type = "utmi_wide";
|
||||||
|
power-domains = <&power RK3588_PD_USB>;
|
||||||
|
resets = <&cru SRST_A_USB3OTG1>;
|
||||||
|
snps,dis_enblslpm_quirk;
|
||||||
|
snps,dis-u2-freeclk-exists-quirk;
|
||||||
|
snps,dis-del-phy-power-chg-quirk;
|
||||||
|
snps,dis-tx-ipgap-linecheck-quirk;
|
||||||
status = "disabled";
|
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>;
|
|
||||||
resets = <&cru SRST_A_USB3OTG1>;
|
|
||||||
reset-names = "usb3-otg";
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
usbdpphy1_grf: syscon@fd5cc000 {
|
usbdpphy1_grf: syscon@fd5cc000 {
|
||||||
|
@ -56,7 +48,6 @@
|
||||||
clock-names = "phyclk";
|
clock-names = "phyclk";
|
||||||
clock-output-names = "usb480m_phy1";
|
clock-output-names = "usb480m_phy1";
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
rockchip,usbctrl-grf = <&usb_grf>;
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
||||||
u2phy1_otg: otg-port {
|
u2phy1_otg: otg-port {
|
||||||
|
|
|
@ -21,35 +21,47 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
usbdrd3_0: usbdrd3_0 {
|
usb_host0_xhci: usb@fc000000 {
|
||||||
compatible = "rockchip,rk3588-dwc3", "rockchip,rk3399-dwc3";
|
compatible = "rockchip,rk3588-dwc3", "rockchip,rk3568-dwc3", "snps,dwc3";
|
||||||
|
reg = <0x0 0xfc000000 0x0 0x400000>;
|
||||||
|
interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>,
|
clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>,
|
||||||
<&cru ACLK_USB3OTG0>;
|
<&cru ACLK_USB3OTG0>;
|
||||||
clock-names = "ref", "suspend", "bus";
|
clock-names = "ref_clk", "suspend_clk", "bus_clk";
|
||||||
#address-cells = <2>;
|
dr_mode = "otg";
|
||||||
#size-cells = <2>;
|
phys = <&u2phy0_otg>, <&usbdp_phy0_u3>;
|
||||||
ranges;
|
phy-names = "usb2-phy", "usb3-phy";
|
||||||
|
phy_type = "utmi_wide";
|
||||||
|
power-domains = <&power RK3588_PD_USB>;
|
||||||
|
resets = <&cru SRST_A_USB3OTG0>;
|
||||||
|
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;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
usbdrd_dwc3_0: usb@fc000000 {
|
usb_host2_xhci: usb@fcd00000 {
|
||||||
compatible = "snps,dwc3";
|
compatible = "rockchip,rk3588-dwc3", "rockchip,rk3568-dwc3", "snps,dwc3";
|
||||||
reg = <0x0 0xfc000000 0x0 0x400000>;
|
reg = <0x0 0xfcd00000 0x0 0x400000>;
|
||||||
interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
|
interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
power-domains = <&power RK3588_PD_USB>;
|
clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>,
|
||||||
resets = <&cru SRST_A_USB3OTG0>;
|
<&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>,
|
||||||
reset-names = "usb3-otg";
|
<&cru CLK_PIPEPHY2_PIPE_U3_G>;
|
||||||
dr_mode = "otg";
|
clock-names = "ref_clk", "suspend_clk", "bus_clk", "utmi", "pipe";
|
||||||
phys = <&u2phy0_otg>, <&usbdp_phy0_u3>;
|
dr_mode = "host";
|
||||||
phy-names = "usb2-phy", "usb3-phy";
|
phys = <&combphy2_psu PHY_TYPE_USB3>;
|
||||||
phy_type = "utmi_wide";
|
phy-names = "usb3-phy";
|
||||||
snps,dis_enblslpm_quirk;
|
phy_type = "utmi_wide";
|
||||||
snps,dis-u1-entry-quirk;
|
resets = <&cru SRST_A_USB3OTG2>;
|
||||||
snps,dis-u2-entry-quirk;
|
snps,dis_enblslpm_quirk;
|
||||||
snps,dis-u2-freeclk-exists-quirk;
|
snps,dis-u2-freeclk-exists-quirk;
|
||||||
snps,dis-del-phy-power-chg-quirk;
|
snps,dis-del-phy-power-chg-quirk;
|
||||||
snps,dis-tx-ipgap-linecheck-quirk;
|
snps,dis-tx-ipgap-linecheck-quirk;
|
||||||
quirk-skip-phy-init;
|
snps,dis_rxdet_inp3_quirk;
|
||||||
};
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
pmu1_grf: syscon@fd58a000 {
|
pmu1_grf: syscon@fd58a000 {
|
||||||
|
@ -58,6 +70,11 @@
|
||||||
reg = <0x0 0xfd58a000 0x0 0x2000>;
|
reg = <0x0 0xfd58a000 0x0 0x2000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
usbdpphy0_grf: syscon@fd5c8000 {
|
||||||
|
compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
|
||||||
|
reg = <0x0 0xfd5c8000 0x0 0x4000>;
|
||||||
|
};
|
||||||
|
|
||||||
usb2phy0_grf: syscon@fd5d0000 {
|
usb2phy0_grf: syscon@fd5d0000 {
|
||||||
compatible = "rockchip,rk3588-usb2phy-grf", "syscon",
|
compatible = "rockchip,rk3588-usb2phy-grf", "syscon",
|
||||||
"simple-mfd";
|
"simple-mfd";
|
||||||
|
@ -75,7 +92,6 @@
|
||||||
clock-names = "phyclk";
|
clock-names = "phyclk";
|
||||||
clock-output-names = "usb480m_phy0";
|
clock-output-names = "usb480m_phy0";
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
rockchip,usbctrl-grf = <&usb_grf>;
|
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
||||||
u2phy0_otg: otg-port {
|
u2phy0_otg: otg-port {
|
||||||
|
|
|
@ -101,7 +101,6 @@ CONFIG_SYSRESET=y
|
||||||
CONFIG_USB=y
|
CONFIG_USB=y
|
||||||
CONFIG_DM_USB_GADGET=y
|
CONFIG_DM_USB_GADGET=y
|
||||||
CONFIG_USB_XHCI_HCD=y
|
CONFIG_USB_XHCI_HCD=y
|
||||||
# CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set
|
|
||||||
CONFIG_USB_EHCI_HCD=y
|
CONFIG_USB_EHCI_HCD=y
|
||||||
CONFIG_USB_EHCI_GENERIC=y
|
CONFIG_USB_EHCI_GENERIC=y
|
||||||
CONFIG_USB_OHCI_HCD=y
|
CONFIG_USB_OHCI_HCD=y
|
||||||
|
|
Loading…
Reference in New Issue
Block a user