blob: 4623580c610206ad63eee219312223928d36c79f [file] [log] [blame]
Jagan Tekia4dd7932023-01-30 20:27:46 +05301// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2022 Edgeble AI Technologies Pvt. Ltd.
4 */
5
Jagan Tekia4dd7932023-01-30 20:27:46 +05306#include "rk3588s-u-boot.dtsi"
Joseph Chena1d63212023-05-29 13:01:34 +03007
8/ {
Jonas Karlmanf9b28c22023-10-17 17:02:11 +00009 usb_host1_xhci: usb@fc400000 {
Jonas Karlman592101d2024-01-26 22:14:52 +000010 compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000011 reg = <0x0 0xfc400000 0x0 0x400000>;
12 interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH 0>;
Joseph Chena1d63212023-05-29 13:01:34 +030013 clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
14 <&cru ACLK_USB3OTG1>;
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000015 clock-names = "ref_clk", "suspend_clk", "bus_clk";
Jonas Karlmane0a5afe2024-05-04 19:43:06 +000016 dr_mode = "otg";
17 phys = <&u2phy1_otg>, <&usbdp_phy1 PHY_TYPE_USB3>;
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000018 phy-names = "usb2-phy", "usb3-phy";
19 phy_type = "utmi_wide";
20 power-domains = <&power RK3588_PD_USB>;
21 resets = <&cru SRST_A_USB3OTG1>;
22 snps,dis_enblslpm_quirk;
23 snps,dis-u2-freeclk-exists-quirk;
24 snps,dis-del-phy-power-chg-quirk;
25 snps,dis-tx-ipgap-linecheck-quirk;
Joseph Chena1d63212023-05-29 13:01:34 +030026 status = "disabled";
Joseph Chena1d63212023-05-29 13:01:34 +030027 };
28
29 usbdpphy1_grf: syscon@fd5cc000 {
30 compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
31 reg = <0x0 0xfd5cc000 0x0 0x4000>;
32 };
33
34 usb2phy1_grf: syscon@fd5d4000 {
Jonas Karlmane0a5afe2024-05-04 19:43:06 +000035 compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
Joseph Chena1d63212023-05-29 13:01:34 +030036 reg = <0x0 0xfd5d4000 0x0 0x4000>;
37 #address-cells = <1>;
38 #size-cells = <1>;
39
Jonas Karlmane0a5afe2024-05-04 19:43:06 +000040 u2phy1: usb2phy@4000 {
Joseph Chena1d63212023-05-29 13:01:34 +030041 compatible = "rockchip,rk3588-usb2phy";
42 reg = <0x4000 0x10>;
Jonas Karlmane0a5afe2024-05-04 19:43:06 +000043 #clock-cells = <0>;
Joseph Chena1d63212023-05-29 13:01:34 +030044 clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
45 clock-names = "phyclk";
46 clock-output-names = "usb480m_phy1";
Jonas Karlmane0a5afe2024-05-04 19:43:06 +000047 interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH 0>;
48 resets = <&cru SRST_OTGPHY_U3_1>, <&cru SRST_P_USB2PHY_U3_1_GRF0>;
49 reset-names = "phy", "apb";
Joseph Chena1d63212023-05-29 13:01:34 +030050 status = "disabled";
51
52 u2phy1_otg: otg-port {
53 #phy-cells = <0>;
54 status = "disabled";
55 };
56 };
57 };
58
59 usbdp_phy1: phy@fed90000 {
60 compatible = "rockchip,rk3588-usbdp-phy";
61 reg = <0x0 0xfed90000 0x0 0x10000>;
Jonas Karlmane0a5afe2024-05-04 19:43:06 +000062 #phy-cells = <1>;
Joseph Chena1d63212023-05-29 13:01:34 +030063 clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
64 <&cru CLK_USBDP_PHY1_IMMORTAL>,
65 <&cru PCLK_USBDPPHY1>,
66 <&u2phy1>;
67 clock-names = "refclk", "immortal", "pclk", "utmi";
68 resets = <&cru SRST_USBDP_COMBO_PHY1_INIT>,
69 <&cru SRST_USBDP_COMBO_PHY1_CMN>,
70 <&cru SRST_USBDP_COMBO_PHY1_LANE>,
71 <&cru SRST_USBDP_COMBO_PHY1_PCS>,
72 <&cru SRST_P_USBDPPHY1>;
73 reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
Jonas Karlmane0a5afe2024-05-04 19:43:06 +000074 rockchip,u2phy-grf = <&usb2phy1_grf>;
75 rockchip,usb-grf = <&usb_grf>;
76 rockchip,usbdpphy-grf = <&usbdpphy1_grf>;
77 rockchip,vo-grf = <&vo0_grf>;
Joseph Chena1d63212023-05-29 13:01:34 +030078 status = "disabled";
Joseph Chena1d63212023-05-29 13:01:34 +030079 };
80};