blob: 7ba1c28f70a9a86bdeeb3b6a5fab91b43d1c55b0 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4 */
5
6/dts-v1/;
7#include "rk3399-roc-pc.dtsi"
8
9/*
10 * Notice:
11 * 1. rk3399-roc-pc-plus is powered by dc_12v directly.
12 * 2. rk3399-roc-pc-plus has only vcc_bus_typec0 in schematic, which is coresponding
13 * to vcc_vbus_typec1 in rk3399-roc-pc.
14 * For simplicity, reserve the node name of vcc_vbus_typec1.
15 * 3. vcc5v0_host is actually 2 regulators (host0, 1) controlled by the same gpio.
16 */
17
18/delete-node/ &fusb1;
19/delete-node/ &hub_rst;
20/delete-node/ &mp8859;
21/delete-node/ &vcc_sys_en;
22/delete-node/ &vcc_vbus_typec0;
23/delete-node/ &yellow_led;
24
25/ {
26 model = "Firefly ROC-RK3399-PC-PLUS Board";
27 compatible = "firefly,roc-rk3399-pc-plus", "rockchip,rk3399";
28
29 dc_12v: dc-12v {
30 compatible = "regulator-fixed";
31 regulator-name = "dc_12v";
32 regulator-always-on;
33 regulator-boot-on;
34 regulator-min-microvolt = <12000000>;
35 regulator-max-microvolt = <12000000>;
36 };
37
38 es8388-sound {
39 compatible = "simple-audio-card";
40 pinctrl-names = "default";
41 pinctrl-0 = <&hp_det_pin>;
42 simple-audio-card,name = "rockchip,es8388-codec";
43 simple-audio-card,format = "i2s";
44 simple-audio-card,mclk-fs = <256>;
45 simple-audio-card,widgets =
46 "Microphone", "Mic Jack",
47 "Headphone", "Headphones";
48 simple-audio-card,routing =
49 "LINPUT1", "Mic Jack",
50 "Headphone Amp INL", "LOUT2",
51 "Headphone Amp INR", "ROUT2",
52 "Headphones", "Headphone Amp OUTL",
53 "Headphones", "Headphone Amp OUTR";
54 simple-audio-card,hp-det-gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
55 simple-audio-card,aux-devs = <&headphones_amp>;
56 simple-audio-card,pin-switches = "Headphones";
57
58 simple-audio-card,codec {
59 sound-dai = <&es8388>;
60 };
61
62 simple-audio-card,cpu {
63 sound-dai = <&i2s1>;
64 };
65 };
66
67 gpio-fan {
68 #cooling-cells = <2>;
69 compatible = "gpio-fan";
70 gpio-fan,speed-map = <0 0 3000 1>;
71 gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
72 };
73
74 /delete-node/ gpio-keys;
75
76 /* not amplifier, used as switcher only */
77 headphones_amp: headphones-amp {
78 compatible = "simple-audio-amplifier";
79 pinctrl-names = "default";
80 pinctrl-0 = <&ear_ctl_pin>;
81 enable-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
82 sound-name-prefix = "Headphone Amp";
83 VCC-supply = <&vcca3v0_codec>;
84 };
85
86 ir-receiver {
87 linux,rc-map-name = "rc-khadas";
88 };
89
90 leds {
91 pinctrl-names = "default";
92 pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
93 };
94};
95
96&fusb0 {
97 vbus-supply = <&vcc_vbus_typec1>;
98};
99
100&i2c0 {
101 hym8563: rtc@51 {
102 compatible = "haoyu,hym8563";
103 reg = <0x51>;
104 interrupt-parent = <&gpio0>;
105 interrupts = <RK_PA5 IRQ_TYPE_EDGE_FALLING>;
106 #clock-cells = <0>;
107 clock-output-names = "xin32k";
108 pinctrl-names = "default";
109 pinctrl-0 = <&hym8563_int>;
110 };
111};
112
113&i2c1 {
114 es8388: es8388@11 {
115 compatible = "everest,es8388";
116 reg = <0x11>;
117 clock-names = "mclk";
118 clocks = <&cru SCLK_I2S_8CH_OUT>;
119 #sound-dai-cells = <0>;
120 };
121};
122
123/* <4 RK_PA0 1 &pcfg_pull_none> is used as i2s_8ch_mclk_pin */
124&i2s0_8ch_bus {
125 rockchip,pins =
126 <3 RK_PD0 1 &pcfg_pull_none>,
127 <3 RK_PD1 1 &pcfg_pull_none>,
128 <3 RK_PD2 1 &pcfg_pull_none>,
129 <3 RK_PD3 1 &pcfg_pull_none>,
130 <3 RK_PD4 1 &pcfg_pull_none>,
131 <3 RK_PD5 1 &pcfg_pull_none>,
132 <3 RK_PD6 1 &pcfg_pull_none>,
133 <3 RK_PD7 1 &pcfg_pull_none>;
134};
135
136&i2s1 {
137 pinctrl-names = "default";
138 pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
139 rockchip,playback-channels = <2>;
140 rockchip,capture-channels = <2>;
141 status = "okay";
142};
143
144&pinctrl {
145 es8388 {
146 ear_ctl_pin: ear-ctl-pin {
147 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_output_high>;
148 };
149
150 hp_det_pin: hp-det-pin {
151 rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_down>;
152 };
153 };
154
155 hym8563 {
156 hym8563_int: hym8563-int {
157 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
158 };
159 };
160
161 i2s1 {
162 i2s_8ch_mclk_pin: i2s-8ch-mclk-pin {
163 rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
164 };
165 };
166};
167
168&u2phy0 {
169 status = "okay";
170
171 u2phy0_otg: otg-port {
172 phy-supply = <&vcc_vbus_typec1>;
173 status = "okay";
174 };
175
176 u2phy0_host: host-port {
177 phy-supply = <&vcc5v0_host>;
178 status = "okay";
179 };
180};
181
182&u2phy1 {
183 status = "okay";
184
185 u2phy1_otg: otg-port {
186 phy-supply = <&vcc5v0_host>;
187 status = "okay";
188 };
189
190 u2phy1_host: host-port {
191 phy-supply = <&vcc5v0_host>;
192 status = "okay";
193 };
194};
195
196&uart0 {
197 pinctrl-names = "default";
198 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
199 status = "okay";
200};
201
202&usbdrd_dwc3_0 {
203 dr_mode = "host";
204 status = "okay";
205};
206
207&vcc_sys {
208 /* vcc_sys is fixed, not controlled by any gpio */
209 /delete-property/ gpio;
210 /delete-property/ pinctrl-names;
211 /delete-property/ pinctrl-0;
212};
213
214&vcc5v0_host {
215 pinctrl-names = "default";
216 pinctrl-0 = <&vcc5v0_host_en>;
217};