ARM: dts: rockchip: Add Radxa Rock Pi N8 initial support
[platform/kernel/u-boot.git] / arch / arm / dts / rk3288-vmarc-som.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4  * Copyright (c) 2019 Vamrs Limited
5  * Copyright (c) 2019 Amarula Solutions(India)
6  */
7
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/pinctrl/rockchip.h>
10 #include <dt-bindings/pwm/pwm.h>
11
12 / {
13         compatible = "vamrs,rk3288-vmarc-som", "rockchip,rk3288";
14
15         ext_gmac: external-gmac-clock {
16                 compatible = "fixed-clock";
17                 clock-frequency = <125000000>;
18                 clock-output-names = "ext_gmac";
19                 #clock-cells = <0>;
20         };
21
22         vccio_flash: vccio-flash-regulator {
23                 compatible = "regulator-fixed";
24                 regulator-name = "vccio_flash";
25                 regulator-min-microvolt = <1800000>;
26                 regulator-max-microvolt = <1800000>;
27                 startup-delay-us = <150>;
28                 vin-supply = <&vcc_io>;
29         };
30
31         vcc_sys: vsys-regulator {
32                 compatible = "regulator-fixed";
33                 regulator-name = "vcc_sys";
34                 regulator-min-microvolt = <5000000>;
35                 regulator-max-microvolt = <5000000>;
36                 regulator-always-on;
37                 regulator-boot-on;
38         };
39 };
40
41 &emmc {
42         bus-width = <8>;
43         cap-mmc-highspeed;
44         disable-wp;
45         non-removable;
46         pinctrl-names = "default";
47         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
48         status = "okay";
49 };
50
51 &gmac {
52         assigned-clocks = <&cru SCLK_MAC>;
53         assigned-clock-parents = <&ext_gmac>;
54         clock_in_out = "input";
55         phy-mode = "rgmii";
56         phy-supply = <&vcc_io>;
57         pinctrl-names = "default";
58         pinctrl-0 = <&rgmii_pins>;
59         snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
60         snps,reset-active-low;
61         snps,reset-delays-us = <0 10000 50000>;
62         tx_delay = <0x30>;
63         rx_delay = <0x10>;
64         max-speed = <1000>;
65 };
66
67 &i2c0 {
68         clock-frequency = <400000>;
69         status = "okay";
70
71         rk808: pmic@1b {
72                 compatible = "rockchip,rk808";
73                 reg = <0x1b>;
74                 interrupt-parent = <&gpio0>;
75                 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
76                 pinctrl-names = "default";
77                 pinctrl-0 = <&pmic_int &global_pwroff>;
78                 rockchip,system-power-controller;
79                 wakeup-source;
80                 #clock-cells = <1>;
81                 clock-output-names = "rk808-clkout1", "rk808-clkout2";
82
83                 vcc1-supply = <&vcc_sys>;
84                 vcc2-supply = <&vcc_sys>;
85                 vcc3-supply = <&vcc_sys>;
86                 vcc4-supply = <&vcc_sys>;
87                 vcc6-supply = <&vcc_sys>;
88                 vcc7-supply = <&vcc_sys>;
89                 vcc8-supply = <&vcc_io>;
90                 vcc9-supply = <&vcc_io>;
91                 vcc10-supply = <&vcc_sys>;
92                 vcc11-supply = <&vcc_sys>;
93                 vcc12-supply = <&vcc_io>;
94                 vddio-supply = <&vcc_io>;
95
96                 regulators {
97                         vdd_cpu: DCDC_REG1 {
98                                 regulator-always-on;
99                                 regulator-boot-on;
100                                 regulator-min-microvolt = <750000>;
101                                 regulator-max-microvolt = <1400000>;
102                                 regulator-name = "vdd_arm";
103                                 regulator-state-mem {
104                                         regulator-off-in-suspend;
105                                 };
106                         };
107
108                         vdd_gpu: DCDC_REG2 {
109                                 regulator-always-on;
110                                 regulator-boot-on;
111                                 regulator-min-microvolt = <850000>;
112                                 regulator-max-microvolt = <1250000>;
113                                 regulator-name = "vdd_gpu";
114                                 regulator-ramp-delay = <6000>;
115                                 regulator-state-mem {
116                                         regulator-off-in-suspend;
117                                 };
118                         };
119
120                         vcc_ddr: DCDC_REG3 {
121                                 regulator-always-on;
122                                 regulator-boot-on;
123                                 regulator-name = "vcc_ddr";
124                                 regulator-state-mem {
125                                         regulator-on-in-suspend;
126                                 };
127                         };
128
129                         vcc_io: DCDC_REG4 {
130                                 regulator-always-on;
131                                 regulator-boot-on;
132                                 regulator-min-microvolt = <3300000>;
133                                 regulator-max-microvolt = <3300000>;
134                                 regulator-name = "vcc_io";
135                                 regulator-state-mem {
136                                         regulator-on-in-suspend;
137                                         regulator-suspend-microvolt = <3300000>;
138                                 };
139                         };
140
141                         vcc_tp: LDO_REG1 {
142                                 regulator-always-on;
143                                 regulator-boot-on;
144                                 regulator-min-microvolt = <3300000>;
145                                 regulator-max-microvolt = <3300000>;
146                                 regulator-name = "vcc_tp";
147                                 regulator-state-mem {
148                                         regulator-off-in-suspend;
149                                 };
150                         };
151
152                         vcca_codec: LDO_REG2 {
153                                 regulator-always-on;
154                                 regulator-boot-on;
155                                 regulator-min-microvolt = <3300000>;
156                                 regulator-max-microvolt = <3300000>;
157                                 regulator-name = "vcca_codec";
158                                 regulator-state-mem {
159                                         regulator-on-in-suspend;
160                                         regulator-suspend-microvolt = <3300000>;
161                                 };
162                         };
163
164                         vdd_10: LDO_REG3 {
165                                 regulator-always-on;
166                                 regulator-boot-on;
167                                 regulator-min-microvolt = <1000000>;
168                                 regulator-max-microvolt = <1000000>;
169                                 regulator-name = "vdd_10";
170                                 regulator-state-mem {
171                                         regulator-on-in-suspend;
172                                         regulator-suspend-microvolt = <1000000>;
173                                 };
174                         };
175
176                         vcc_wl: LDO_REG4 {
177                                 regulator-always-on;
178                                 regulator-boot-on;
179                                 regulator-min-microvolt = <1800000>;
180                                 regulator-max-microvolt = <1800000>;
181                                 regulator-name = "vcc_wl";
182                                 regulator-state-mem {
183                                         regulator-on-in-suspend;
184                                 };
185                         };
186
187                         vccio_sd: LDO_REG5 {
188                                 regulator-always-on;
189                                 regulator-boot-on;
190                                 regulator-min-microvolt = <1800000>;
191                                 regulator-max-microvolt = <3300000>;
192                                 regulator-name = "vccio_sd";
193                                 regulator-state-mem {
194                                         regulator-on-in-suspend;
195                                         regulator-suspend-microvolt = <3300000>;
196                                 };
197                         };
198
199                         vdd10_lcd: LDO_REG6 {
200                                 regulator-always-on;
201                                 regulator-boot-on;
202                                 regulator-min-microvolt = <1000000>;
203                                 regulator-max-microvolt = <1000000>;
204                                 regulator-name = "vdd10_lcd";
205                                 regulator-state-mem {
206                                         regulator-off-in-suspend;
207                                 };
208                         };
209
210                         vcc_18: LDO_REG7 {
211                                 regulator-always-on;
212                                 regulator-boot-on;
213                                 regulator-min-microvolt = <1800000>;
214                                 regulator-max-microvolt = <1800000>;
215                                 regulator-name = "vcc_18";
216                                 regulator-state-mem {
217                                         regulator-on-in-suspend;
218                                         regulator-suspend-microvolt = <1800000>;
219                                 };
220                         };
221
222                         vcc18_lcd: LDO_REG8 {
223                                 regulator-always-on;
224                                 regulator-boot-on;
225                                 regulator-min-microvolt = <1800000>;
226                                 regulator-max-microvolt = <1800000>;
227                                 regulator-name = "vcc18_lcd";
228                                 regulator-state-mem {
229                                         regulator-off-in-suspend;
230                                 };
231                         };
232
233                         vcc_sd: SWITCH_REG1 {
234                                 regulator-always-on;
235                                 regulator-boot-on;
236                                 regulator-name = "vcc_sd";
237                                 regulator-state-mem {
238                                         regulator-off-in-suspend;
239                                 };
240                         };
241
242                         vcc_lcd: SWITCH_REG2 {
243                                 regulator-always-on;
244                                 regulator-boot-on;
245                                 regulator-name = "vcc_lcd";
246                                 regulator-state-mem {
247                                         regulator-off-in-suspend;
248                                 };
249                         };
250                 };
251         };
252 };
253
254 &pinctrl {
255         pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
256                 drive-strength = <8>;
257         };
258
259         pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
260                 bias-pull-up;
261                 drive-strength = <8>;
262         };
263
264         pmic {
265                 pmic_int: pmic-int {
266                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
267                 };
268         };
269
270         sdmmc {
271                 sdmmc_bus4: sdmmc-bus4 {
272                         rockchip,pins =
273                                 <6 RK_PC0 1 &pcfg_pull_up_drv_8ma>,
274                                 <6 RK_PC1 1 &pcfg_pull_up_drv_8ma>,
275                                 <6 RK_PC2 1 &pcfg_pull_up_drv_8ma>,
276                                 <6 RK_PC3 1 &pcfg_pull_up_drv_8ma>;
277                 };
278
279                 sdmmc_clk: sdmmc-clk {
280                         rockchip,pins =
281                                 <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>;
282                 };
283
284                 sdmmc_cmd: sdmmc-cmd {
285                         rockchip,pins =
286                                 <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>;
287                 };
288         };
289 };