]> git.ipfire.org Git - thirdparty/u-boot.git/blame - src/arm/renesas/r8a7745-iwg22d-sodimm.dts
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / src / arm / renesas / r8a7745-iwg22d-sodimm.dts
CommitLineData
53633a89
TR
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the iWave-RZG1E SODIMM carrier board
4 *
5 * Copyright (C) 2017 Renesas Electronics Corp.
6 */
7
8/*
9 * SSI-SGTL5000
10 *
11 * This command is required when Playback/Capture
12 *
13 * amixer set "DVC Out" 100%
14 * amixer set "DVC In" 100%
15 *
16 * You can use Mute
17 *
18 * amixer set "DVC Out Mute" on
19 * amixer set "DVC In Mute" on
20 *
21 * You can use Volume Ramp
22 *
23 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps"
24 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
25 * amixer set "DVC Out Ramp" on
26 * aplay xxx.wav &
27 * amixer set "DVC Out" 80% // Volume Down
28 * amixer set "DVC Out" 100% // Volume Up
29 */
30
31/dts-v1/;
32#include "r8a7745-iwg22m.dtsi"
33#include <dt-bindings/pwm/pwm.h>
34
35/ {
36 model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
37 compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
38
39 aliases {
40 ethernet0 = &avb;
41 serial3 = &scif4;
42 serial5 = &hscif1;
43 };
44
45 chosen {
46 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
47 stdout-path = "serial3:115200n8";
48 };
49
50 audio_clock: audio_clock {
51 compatible = "fixed-clock";
52 #clock-cells = <0>;
53 clock-frequency = <26000000>;
54 };
55
56 backlight_lcd: backlight {
57 compatible = "pwm-backlight";
58 pwms = <&tpu 3 5000000 PWM_POLARITY_INVERTED>;
59 brightness-levels = <0 4 8 16 32 64 128 255>;
60 default-brightness-level = <7>;
61 };
62
63 lcd_panel: lcd {
64 compatible = "edt,etm043080dh6gp";
65 power-supply = <&vccq_panel>;
66 backlight = <&backlight_lcd>;
67
68 port {
69 lcd_in: endpoint {
70 remote-endpoint = <&du_out_rgb0>;
71 };
72 };
73 };
74
75 vccq_panel: regulator-vccq-panel {
76 compatible = "regulator-fixed";
77 regulator-name = "Panel VccQ";
78 regulator-min-microvolt = <3300000>;
79 regulator-max-microvolt = <3300000>;
80 gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
81 enable-active-high;
82 };
83
84 vccq_sdhi0: regulator-vccq-sdhi0 {
85 compatible = "regulator-gpio";
86
87 regulator-name = "SDHI0 VccQ";
88 regulator-min-microvolt = <1800000>;
89 regulator-max-microvolt = <3300000>;
90
91 gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
92 gpios-states = <1>;
93 states = <3300000 1>, <1800000 0>;
94 };
95
96 rsnd_sgtl5000: sound {
97 compatible = "simple-audio-card";
98 simple-audio-card,format = "i2s";
99 simple-audio-card,bitclock-master = <&sndcodec>;
100 simple-audio-card,frame-master = <&sndcodec>;
101
102 sndcpu: simple-audio-card,cpu {
103 sound-dai = <&rcar_sound>;
104 };
105
106 sndcodec: simple-audio-card,codec {
107 sound-dai = <&sgtl5000>;
108 };
109 };
110};
111
112&avb {
113 pinctrl-0 = <&avb_pins>;
114 pinctrl-names = "default";
115
116 phy-handle = <&phy3>;
117 phy-mode = "gmii";
118 renesas,no-ether-link;
119 status = "okay";
120
121 phy3: ethernet-phy@3 {
122 /*
123 * On some older versions of the platform (before R4.0) the phy address
124 * may be 1 or 3. The address is fixed to 3 for R4.0 onwards.
125 */
126 compatible = "ethernet-phy-id0022.1622",
127 "ethernet-phy-ieee802.3-c22";
128 reg = <3>;
129 micrel,led-mode = <1>;
130 };
131};
132
133&can0 {
134 pinctrl-0 = <&can0_pins>;
135 pinctrl-names = "default";
136
137 status = "okay";
138};
139
140&du {
141 pinctrl-0 = <&du0_pins>;
142 pinctrl-names = "default";
143
144 status = "okay";
145
146 ports {
147 port@0 {
148 endpoint {
149 remote-endpoint = <&lcd_in>;
150 };
151 };
152 };
153};
154
155&hscif1 {
156 pinctrl-0 = <&hscif1_pins>;
157 pinctrl-names = "default";
158
159 uart-has-rtscts;
160 status = "okay";
161};
162
163&hsusb {
164 status = "okay";
165 pinctrl-0 = <&usb0_pins>;
166 pinctrl-names = "default";
167};
168
169&i2c5 {
170 pinctrl-0 = <&i2c5_pins>;
171 pinctrl-names = "default";
172
173 status = "okay";
174 clock-frequency = <400000>;
175
176 sgtl5000: codec@a {
177 compatible = "fsl,sgtl5000";
178 #sound-dai-cells = <0>;
179 reg = <0x0a>;
180 clocks = <&audio_clock>;
181 VDDA-supply = <&reg_3p3v>;
182 VDDIO-supply = <&reg_3p3v>;
183 };
184
93743d24 185 port-expander@44 {
53633a89
TR
186 compatible = "st,stmpe811";
187 reg = <0x44>;
188 interrupt-parent = <&gpio4>;
189 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
190
191 /* 3.25 MHz ADC clock speed */
192 st,adc-freq = <1>;
193 /* ADC conversion time: 80 clocks */
194 st,sample-time = <4>;
195 /* 12-bit ADC */
196 st,mod-12b = <1>;
197 /* internal ADC reference */
198 st,ref-sel = <0>;
199
93743d24 200 touchscreen {
53633a89
TR
201 compatible = "st,stmpe-ts";
202 /* 8 sample average control */
203 st,ave-ctrl = <3>;
204 /* 7 length fractional part in z */
205 st,fraction-z = <7>;
206 /*
207 * 50 mA typical 80 mA max touchscreen drivers
208 * current limit value
209 */
210 st,i-drive = <1>;
211 /* 1 ms panel driver settling time */
212 st,settling = <3>;
213 /* 5 ms touch detect interrupt delay */
214 st,touch-det-delay = <5>;
215 };
216 };
217};
218
219&pci1 {
220 status = "okay";
221 pinctrl-0 = <&usb1_pins>;
222 pinctrl-names = "default";
223};
224
225&pfc {
226 avb_pins: avb {
227 groups = "avb_mdio", "avb_gmii";
228 function = "avb";
229 };
230
231 backlight_pins: backlight {
232 groups = "tpu_to3_c";
233 function = "tpu";
234 };
235
236 can0_pins: can0 {
237 groups = "can0_data";
238 function = "can0";
239 };
240
241 du0_pins: du0 {
242 groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out";
243 function = "du0";
244 };
245
246 hscif1_pins: hscif1 {
247 groups = "hscif1_data", "hscif1_ctrl";
248 function = "hscif1";
249 };
250
251 i2c5_pins: i2c5 {
252 groups = "i2c5_b";
253 function = "i2c5";
254 };
255
256 scif4_pins: scif4 {
257 groups = "scif4_data_b";
258 function = "scif4";
259 };
260
261 sdhi0_pins: sd0 {
262 groups = "sdhi0_data4", "sdhi0_ctrl";
263 function = "sdhi0";
264 power-source = <3300>;
265 };
266
267 sound_pins: sound {
268 groups = "ssi34_ctrl", "ssi3_data", "ssi4_data";
269 function = "ssi";
270 };
271
272 usb0_pins: usb0 {
273 groups = "usb0";
274 function = "usb0";
275 };
276
277 usb1_pins: usb1 {
278 groups = "usb1";
279 function = "usb1";
280 };
281};
282
283&rcar_sound {
284 pinctrl-0 = <&sound_pins>;
285 pinctrl-names = "default";
286 status = "okay";
287
288 /* Single DAI */
289
290 #sound-dai-cells = <0>;
291
292 rcar_sound,dai {
293 dai0 {
294 playback = <&ssi3>, <&src3>, <&dvc0>;
295 capture = <&ssi4>, <&src4>, <&dvc1>;
296 };
297 };
298};
299
300&scif4 {
301 pinctrl-0 = <&scif4_pins>;
302 pinctrl-names = "default";
303
304 status = "okay";
305};
306
307&sdhi0 {
308 pinctrl-0 = <&sdhi0_pins>;
309 pinctrl-names = "default";
310
311 vmmc-supply = <&reg_3p3v>;
312 vqmmc-supply = <&vccq_sdhi0>;
313 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
314 status = "okay";
315};
316
317&ssi4 {
318 shared-pin;
319};
320
321&tpu {
322 pinctrl-0 = <&backlight_pins>;
323 pinctrl-names = "default";
324 status = "okay";
325};
326
327&usbphy {
328 status = "okay";
329};