]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/rockchip/rk3588-rock-5b.dts
Import device-tree files from Linux 6.4
[FreeBSD/FreeBSD.git] / src / arm64 / rockchip / rk3588-rock-5b.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3 /dts-v1/;
4
5 #include <dt-bindings/gpio/gpio.h>
6 #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
21         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
46         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
56 &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
182 &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 };