blob: c0fd16c4022b93102d833f79f2619a8b86f6d37b [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
6#include "rockchip-u-boot.dtsi"
7
8/ {
Jonas Karlmana5e28652023-07-28 12:05:41 +00009 aliases {
10 spi0 = &spi0;
11 spi1 = &spi1;
12 spi2 = &spi2;
13 spi3 = &spi3;
14 spi4 = &spi4;
15 spi5 = &sfc;
16 };
17
Jagan Tekia4dd7932023-01-30 20:27:46 +053018 dmc {
19 compatible = "rockchip,rk3588-dmc";
Tom Rinide70b472023-03-27 15:20:19 -040020 bootph-all;
Jagan Tekia4dd7932023-01-30 20:27:46 +053021 status = "okay";
22 };
23
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000024 usb_host0_xhci: usb@fc000000 {
25 compatible = "rockchip,rk3588-dwc3", "rockchip,rk3568-dwc3", "snps,dwc3";
26 reg = <0x0 0xfc000000 0x0 0x400000>;
27 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
Joseph Chena1d63212023-05-29 13:01:34 +030028 clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>,
29 <&cru ACLK_USB3OTG0>;
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000030 clock-names = "ref_clk", "suspend_clk", "bus_clk";
31 dr_mode = "otg";
32 phys = <&u2phy0_otg>, <&usbdp_phy0_u3>;
33 phy-names = "usb2-phy", "usb3-phy";
34 phy_type = "utmi_wide";
35 power-domains = <&power RK3588_PD_USB>;
36 resets = <&cru SRST_A_USB3OTG0>;
37 snps,dis_enblslpm_quirk;
38 snps,dis-u1-entry-quirk;
39 snps,dis-u2-entry-quirk;
40 snps,dis-u2-freeclk-exists-quirk;
41 snps,dis-del-phy-power-chg-quirk;
42 snps,dis-tx-ipgap-linecheck-quirk;
Joseph Chena1d63212023-05-29 13:01:34 +030043 status = "disabled";
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000044 };
Joseph Chena1d63212023-05-29 13:01:34 +030045
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000046 usb_host2_xhci: usb@fcd00000 {
47 compatible = "rockchip,rk3588-dwc3", "rockchip,rk3568-dwc3", "snps,dwc3";
48 reg = <0x0 0xfcd00000 0x0 0x400000>;
49 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH 0>;
50 clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>,
51 <&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>,
52 <&cru CLK_PIPEPHY2_PIPE_U3_G>;
53 clock-names = "ref_clk", "suspend_clk", "bus_clk", "utmi", "pipe";
54 dr_mode = "host";
55 phys = <&combphy2_psu PHY_TYPE_USB3>;
56 phy-names = "usb3-phy";
57 phy_type = "utmi_wide";
58 resets = <&cru SRST_A_USB3OTG2>;
59 snps,dis_enblslpm_quirk;
60 snps,dis-u2-freeclk-exists-quirk;
61 snps,dis-del-phy-power-chg-quirk;
62 snps,dis-tx-ipgap-linecheck-quirk;
63 snps,dis_rxdet_inp3_quirk;
64 status = "disabled";
Joseph Chena1d63212023-05-29 13:01:34 +030065 };
66
Jagan Tekia4dd7932023-01-30 20:27:46 +053067 pmu1_grf: syscon@fd58a000 {
Tom Rinide70b472023-03-27 15:20:19 -040068 bootph-all;
Jagan Tekia4dd7932023-01-30 20:27:46 +053069 compatible = "rockchip,rk3588-pmu1-grf", "syscon";
70 reg = <0x0 0xfd58a000 0x0 0x2000>;
71 };
Jagan Teki275d8512023-01-30 20:27:47 +053072
Jonas Karlmanf9b28c22023-10-17 17:02:11 +000073 usbdpphy0_grf: syscon@fd5c8000 {
74 compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
75 reg = <0x0 0xfd5c8000 0x0 0x4000>;
76 };
77
Joseph Chena1d63212023-05-29 13:01:34 +030078 usb2phy0_grf: syscon@fd5d0000 {
79 compatible = "rockchip,rk3588-usb2phy-grf", "syscon",
80 "simple-mfd";
81 reg = <0x0 0xfd5d0000 0x0 0x4000>;
82 #address-cells = <1>;
83 #size-cells = <1>;
84
85 u2phy0: usb2-phy@0 {
86 compatible = "rockchip,rk3588-usb2phy";
87 reg = <0x0 0x10>;
88 interrupts = <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH 0>;
89 resets = <&cru SRST_OTGPHY_U3_0>, <&cru SRST_P_USB2PHY_U3_0_GRF0>;
90 reset-names = "phy", "apb";
91 clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
92 clock-names = "phyclk";
93 clock-output-names = "usb480m_phy0";
94 #clock-cells = <0>;
Joseph Chena1d63212023-05-29 13:01:34 +030095 status = "disabled";
96
97 u2phy0_otg: otg-port {
98 #phy-cells = <0>;
99 status = "disabled";
100 };
101 };
102 };
103
Joseph Chena1d63212023-05-29 13:01:34 +0300104 vo0_grf: syscon@fd5a6000 {
105 compatible = "rockchip,rk3588-vo-grf", "syscon";
106 reg = <0x0 0xfd5a6000 0x0 0x2000>;
107 clocks = <&cru PCLK_VO0GRF>;
108 };
109
110 usb_grf: syscon@fd5ac000 {
111 compatible = "rockchip,rk3588-usb-grf", "syscon";
112 reg = <0x0 0xfd5ac000 0x0 0x4000>;
113 };
114
Joseph Chena1d63212023-05-29 13:01:34 +0300115 usbdpphy0_grf: syscon@fd5c8000 {
116 compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
117 reg = <0x0 0xfd5c8000 0x0 0x4000>;
118 };
119
Chris Morgan7f255042023-04-13 09:13:03 -0500120 rng: rng@fe378000 {
121 compatible = "rockchip,trngv1";
122 reg = <0x0 0xfe378000 0x0 0x200>;
123 status = "disabled";
124 };
Joseph Chen84445502023-05-17 13:01:00 +0300125
Joseph Chena1d63212023-05-29 13:01:34 +0300126 usbdp_phy0: phy@fed80000 {
127 compatible = "rockchip,rk3588-usbdp-phy";
128 reg = <0x0 0xfed80000 0x0 0x10000>;
129 rockchip,u2phy-grf = <&usb2phy0_grf>;
130 rockchip,usb-grf = <&usb_grf>;
131 rockchip,usbdpphy-grf = <&usbdpphy0_grf>;
132 rockchip,vo-grf = <&vo0_grf>;
133 clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
134 <&cru CLK_USBDP_PHY0_IMMORTAL>,
135 <&cru PCLK_USBDPPHY0>,
136 <&u2phy0>;
137 clock-names = "refclk", "immortal", "pclk", "utmi";
138 resets = <&cru SRST_USBDP_COMBO_PHY0_INIT>,
139 <&cru SRST_USBDP_COMBO_PHY0_CMN>,
140 <&cru SRST_USBDP_COMBO_PHY0_LANE>,
141 <&cru SRST_USBDP_COMBO_PHY0_PCS>,
142 <&cru SRST_P_USBDPPHY0>;
143 reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
144 status = "disabled";
145
146 usbdp_phy0_dp: dp-port {
147 #phy-cells = <0>;
148 status = "disabled";
149 };
150
151 usbdp_phy0_u3: usb3-port {
152 #phy-cells = <0>;
153 status = "disabled";
154 };
155 };
Jagan Tekia4dd7932023-01-30 20:27:46 +0530156};
157
Eugen Hristev2b2416e2023-07-04 22:05:11 +0300158&emmc_bus8 {
159 bootph-all;
160};
161
162&emmc_clk {
163 bootph-all;
164};
165
166&emmc_cmd {
167 bootph-all;
168};
169
170&emmc_data_strobe {
171 bootph-all;
172};
173
174&emmc_rstnout {
175 bootph-all;
176};
177
178&pinctrl {
179 bootph-all;
180};
181
182&pcfg_pull_none {
183 bootph-all;
184};
185
186&pcfg_pull_up_drv_level_2 {
187 bootph-all;
188};
189
190&pcfg_pull_up {
191 bootph-all;
192};
193
Jagan Tekia4dd7932023-01-30 20:27:46 +0530194&xin24m {
Tom Rinide70b472023-03-27 15:20:19 -0400195 bootph-all;
Jagan Tekia4dd7932023-01-30 20:27:46 +0530196 status = "okay";
197};
198
199&cru {
Tom Rinide70b472023-03-27 15:20:19 -0400200 bootph-pre-ram;
Jagan Tekia4dd7932023-01-30 20:27:46 +0530201 status = "okay";
202};
203
204&sys_grf {
Tom Rinide70b472023-03-27 15:20:19 -0400205 bootph-pre-ram;
Jagan Tekia4dd7932023-01-30 20:27:46 +0530206 status = "okay";
207};
208
Jonas Karlmanfc805c22023-04-17 19:07:21 +0000209&scmi {
210 bootph-pre-ram;
211};
212
213&scmi_clk {
214 bootph-pre-ram;
215};
216
217&sdmmc {
218 bootph-pre-ram;
219 u-boot,spl-fifo-mode;
220};
221
Jonas Karlmanced8be02023-04-18 16:46:41 +0000222&sdhci {
223 bootph-pre-ram;
Jonas Karlmanf79c5372023-05-06 17:41:11 +0000224 u-boot,spl-fifo-mode;
Jonas Karlmanced8be02023-04-18 16:46:41 +0000225};
226
Eugen Hristev2b2416e2023-07-04 22:05:11 +0300227&sdmmc_bus4 {
228 bootph-all;
229};
230
231&sdmmc_clk {
232 bootph-all;
233};
234
235&sdmmc_cmd {
236 bootph-all;
237};
238
239&sdmmc_det {
240 bootph-all;
241};
242
Jagan Tekia4dd7932023-01-30 20:27:46 +0530243&uart2 {
244 clock-frequency = <24000000>;
Tom Rinide70b472023-03-27 15:20:19 -0400245 bootph-pre-ram;
Jagan Tekia4dd7932023-01-30 20:27:46 +0530246 status = "okay";
247};
248
Eugen Hristev2b2416e2023-07-04 22:05:11 +0300249&uart2m0_xfer {
250 bootph-all;
251};
252
Jagan Tekia4dd7932023-01-30 20:27:46 +0530253&ioc {
Tom Rinide70b472023-03-27 15:20:19 -0400254 bootph-pre-ram;
Jagan Tekia4dd7932023-01-30 20:27:46 +0530255};
Jonas Karlmanadb78942023-05-18 15:39:30 +0000256
257#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
258&binman {
259 simple-bin-spi {
260 mkimage {
261 args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
262 offset = <0x8000>;
263 };
264 };
265};
266#endif