blob: 3e4aee8f70c1bb5c19b201f9b874e147defb1f63 [file] [log] [blame]
Eugen Hristev3bf8e402023-02-22 11:05:12 +02001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
Eugen Hristev22a5a972023-05-29 10:34:23 +03005#include <dt-bindings/gpio/gpio.h>
Eugen Hristev3bf8e402023-02-22 11:05:12 +02006#include "rk3588.dtsi"
7
8/ {
9 model = "Radxa ROCK 5 Model B";
10 compatible = "radxa,rock-5b", "rockchip,rk3588";
11
12 aliases {
13 mmc0 = &sdhci;
14 serial2 = &uart2;
15 };
16
17 chosen {
18 stdout-path = "serial2:1500000n8";
19 };
20
Eugen Hristev22a5a972023-05-29 10:34:23 +030021 fan: pwm-fan {
22 compatible = "pwm-fan";
23 cooling-levels = <0 95 145 195 255>;
24 fan-supply = <&vcc5v0_sys>;
25 pwms = <&pwm1 0 50000 0>;
26 #cooling-cells = <2>;
27 };
28
29 sound {
30 compatible = "audio-graph-card";
31 label = "Analog";
32
33 widgets = "Microphone", "Mic Jack",
34 "Headphone", "Headphones";
35
36 routing = "MIC2", "Mic Jack",
37 "Headphones", "HPOL",
38 "Headphones", "HPOR";
39
40 dais = <&i2s0_8ch_p0>;
41 hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
42 pinctrl-names = "default";
43 pinctrl-0 = <&hp_detect>;
44 };
45
Eugen Hristev3bf8e402023-02-22 11:05:12 +020046 vcc5v0_sys: vcc5v0-sys-regulator {
47 compatible = "regulator-fixed";
48 regulator-name = "vcc5v0_sys";
49 regulator-always-on;
50 regulator-boot-on;
51 regulator-min-microvolt = <5000000>;
52 regulator-max-microvolt = <5000000>;
53 };
54};
55
Eugen Hristev22a5a972023-05-29 10:34:23 +030056&cpu_b0 {
57 cpu-supply = <&vdd_cpu_big0_s0>;
58};
59
60&cpu_b1 {
61 cpu-supply = <&vdd_cpu_big0_s0>;
62};
63
64&cpu_b2 {
65 cpu-supply = <&vdd_cpu_big1_s0>;
66};
67
68&cpu_b3 {
69 cpu-supply = <&vdd_cpu_big1_s0>;
70};
71
72&i2c0 {
73 pinctrl-names = "default";
74 pinctrl-0 = <&i2c0m2_xfer>;
75 status = "okay";
76
77 vdd_cpu_big0_s0: regulator@42 {
78 compatible = "rockchip,rk8602";
79 reg = <0x42>;
80 fcs,suspend-voltage-selector = <1>;
81 regulator-name = "vdd_cpu_big0_s0";
82 regulator-always-on;
83 regulator-boot-on;
84 regulator-min-microvolt = <550000>;
85 regulator-max-microvolt = <1050000>;
86 regulator-ramp-delay = <2300>;
87 vin-supply = <&vcc5v0_sys>;
88
89 regulator-state-mem {
90 regulator-off-in-suspend;
91 };
92 };
93
94 vdd_cpu_big1_s0: regulator@43 {
95 compatible = "rockchip,rk8603", "rockchip,rk8602";
96 reg = <0x43>;
97 fcs,suspend-voltage-selector = <1>;
98 regulator-name = "vdd_cpu_big1_s0";
99 regulator-always-on;
100 regulator-boot-on;
101 regulator-min-microvolt = <550000>;
102 regulator-max-microvolt = <1050000>;
103 regulator-ramp-delay = <2300>;
104 vin-supply = <&vcc5v0_sys>;
105
106 regulator-state-mem {
107 regulator-off-in-suspend;
108 };
109 };
110};
111
112&i2c6 {
113 status = "okay";
114
115 hym8563: rtc@51 {
116 compatible = "haoyu,hym8563";
117 reg = <0x51>;
118 #clock-cells = <0>;
119 clock-output-names = "hym8563";
120 pinctrl-names = "default";
121 pinctrl-0 = <&hym8563_int>;
122 interrupt-parent = <&gpio0>;
123 interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
124 wakeup-source;
125 };
126};
127
128&i2c7 {
129 status = "okay";
130
131 es8316: audio-codec@11 {
132 compatible = "everest,es8316";
133 reg = <0x11>;
134 clocks = <&cru I2S0_8CH_MCLKOUT>;
135 clock-names = "mclk";
136 #sound-dai-cells = <0>;
137
138 port {
139 es8316_p0_0: endpoint {
140 remote-endpoint = <&i2s0_8ch_p0_0>;
141 };
142 };
143 };
144};
145
146&i2s0_8ch {
147 pinctrl-names = "default";
148 pinctrl-0 = <&i2s0_lrck
149 &i2s0_mclk
150 &i2s0_sclk
151 &i2s0_sdi0
152 &i2s0_sdo0>;
153 status = "okay";
154
155 i2s0_8ch_p0: port {
156 i2s0_8ch_p0_0: endpoint {
157 dai-format = "i2s";
158 mclk-fs = <256>;
159 remote-endpoint = <&es8316_p0_0>;
160 };
161 };
162};
163
164&pinctrl {
165 hym8563 {
166 hym8563_int: hym8563-int {
167 rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
168 };
169 };
170
171 sound {
172 hp_detect: hp-detect {
173 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
174 };
175 };
176};
177
178&pwm1 {
179 status = "okay";
180};
181
Eugen Hristev3bf8e402023-02-22 11:05:12 +0200182&sdhci {
183 bus-width = <8>;
184 no-sdio;
185 no-sd;
186 non-removable;
187 max-frequency = <200000000>;
188 mmc-hs400-1_8v;
189 mmc-hs400-enhanced-strobe;
190 status = "okay";
191};
192
193&uart2 {
194 pinctrl-0 = <&uart2m0_xfer>;
195 status = "okay";
196};