]> git.ipfire.org Git - thirdparty/u-boot.git/blob - arch/arm/dts/exynos5420-peach-pit.dts
dm: sound: exynos: Correct codec bus addresses
[thirdparty/u-boot.git] / arch / arm / dts / exynos5420-peach-pit.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 * SAMSUNG/GOOGLE Peach-Pit board device tree source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 */
8
9 /dts-v1/;
10 #include "exynos54xx.dtsi"
11 #include <dt-bindings/clock/maxim,max77802.h>
12 #include <dt-bindings/regulator/maxim,max77802.h>
13
14 / {
15 model = "Samsung/Google Peach Pit board based on Exynos5420";
16
17 compatible = "google,pit-rev#", "google,pit",
18 "google,peach", "samsung,exynos5420", "samsung,exynos5";
19
20 config {
21 google,bad-wake-gpios = <&gpx0 6 GPIO_ACTIVE_HIGH>;
22 hwid = "PIT TEST A-A 7848";
23 lazy-init = <1>;
24 };
25
26 aliases {
27 serial0 = "/serial@12C30000";
28 console = "/serial@12C30000";
29 pmic = "/i2c@12CA0000";
30 i2c104 = &i2c_tunnel;
31 };
32
33 backlight: backlight {
34 compatible = "pwm-backlight";
35 pwms = <&pwm 0 1000000 0>;
36 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
37 default-brightness-level = <7>;
38 power-supply = <&tps65090_fet1>;
39 };
40
41 dmc {
42 mem-manuf = "samsung";
43 mem-type = "ddr3";
44 clock-frequency = <800000000>;
45 arm-frequency = <900000000>;
46 };
47
48 tmu@10060000 {
49 samsung,min-temp = <25>;
50 samsung,max-temp = <125>;
51 samsung,start-warning = <95>;
52 samsung,start-tripping = <105>;
53 samsung,hw-tripping = <110>;
54 samsung,efuse-min-value = <40>;
55 samsung,efuse-value = <55>;
56 samsung,efuse-max-value = <100>;
57 samsung,slope = <274761730>;
58 samsung,dc-value = <25>;
59 };
60
61 /* MAX77802 is on i2c bus 4 */
62 i2c@12CA0000 {
63 clock-frequency = <400000>;
64 power-regulator@9 {
65 compatible = "maxim,max77802-pmic";
66 reg = <0x9>;
67 };
68 };
69
70 i2c@12CD0000 { /* i2c7 */
71 clock-frequency = <100000>;
72 soundcodec@10 {
73 reg = <0x10>;
74 compatible = "maxim,max98090-codec";
75 };
76
77 edp-lvds-bridge@48 {
78 compatible = "parade,ps8625";
79 reg = <0x48>;
80 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
81 reset-gpios = <&gpy7 7 GPIO_ACTIVE_LOW>;
82 parade,regs = /bits/ 8 <
83 0x02 0xa1 0x01 /* HPD low */
84 /*
85 * SW setting
86 * [1:0] SW output 1.2V voltage is lower to 96%
87 */
88 0x04 0x14 0x01
89 /*
90 * RCO SS setting
91 * [5:4] = b01 0.5%, b10 1%, b11 1.5%
92 */
93 0x04 0xe3 0x20
94 0x04 0xe2 0x80 /* [7] RCO SS enable */
95 /*
96 * RPHY Setting
97 * [3:2] CDR tune wait cycle before
98 * measure for fine tune b00: 1us,
99 * 01: 0.5us, 10:2us, 11:4us.
100 */
101 0x04 0x8a 0x0c
102 0x04 0x89 0x08 /* [3] RFD always on */
103 /*
104 * CTN lock in/out:
105 * 20000ppm/80000ppm. Lock out 2
106 * times.
107 */
108 0x04 0x71 0x2d
109 /*
110 * 2.7G CDR settings
111 * NOF=40LSB for HBR CDR setting
112 */
113 0x04 0x7d 0x07
114 0x04 0x7b 0x00 /* [1:0] Fmin=+4bands */
115 0x04 0x7a 0xfd /* [7:5] DCO_FTRNG=+-40% */
116 /*
117 * 1.62G CDR settings
118 * [5:2]NOF=64LSB [1:0]DCO scale is 2/5
119 */
120 0x04 0xc0 0x12
121 0x04 0xc1 0x92 /* Gitune=-37% */
122 0x04 0xc2 0x1c /* Fbstep=100% */
123 0x04 0x32 0x80 /* [7]LOS signal disable */
124 /*
125 * RPIO Setting
126 * [7:4] LVDS driver bias current :
127 * 75% (250mV swing)
128 */
129 0x04 0x00 0xb0
130 /*
131 * [7:6] Right-bar GPIO output strength is 8mA
132 */
133 0x04 0x15 0x40
134 /* EQ Training State Machine Setting */
135 0x04 0x54 0x10 /* RCO calibration start */
136 /* [4:0] MAX_LANE_COUNT set to one lane */
137 0x01 0x02 0x81
138 /* [4:0] LANE_COUNT_SET set to one lane */
139 0x01 0x21 0x81
140 0x00 0x52 0x20
141 0x00 0xf1 0x03 /* HPD CP toggle enable */
142 0x00 0x62 0x41
143 /* Counter number add 1ms counter delay */
144 0x00 0xf6 0x01
145 /*
146 * [6]PWM function control by
147 * DPCD0040f[7], default is PWM
148 * block always works.
149 */
150 0x00 0x77 0x06
151 /*
152 * 04h Adjust VTotal tolerance to
153 * fix the 30Hz no display issue
154 */
155 0x00 0x4c 0x04
156 /* DPCD00400='h00, Parade OUI = 'h001cf8 */
157 0x01 0xc0 0x00
158 0x01 0xc1 0x1c /* DPCD00401='h1c */
159 0x01 0xc2 0xf8 /* DPCD00402='hf8 */
160 /*
161 * DPCD403~408 = ASCII code
162 * D2SLV5='h4432534c5635
163 */
164 0x01 0xc3 0x44
165 0x01 0xc4 0x32 /* DPCD404 */
166 0x01 0xc5 0x53 /* DPCD405 */
167 0x01 0xc6 0x4c /* DPCD406 */
168 0x01 0xc7 0x56 /* DPCD407 */
169 0x01 0xc8 0x35 /* DPCD408 */
170 /*
171 * DPCD40A, Initial Code major revision
172 * '01'
173 */
174 0x01 0xca 0x01
175 /* DPCD40B Initial Code minor revision '05' */
176 0x01 0xcb 0x05
177 /* DPCD720 Select internal PWM */
178 0x01 0xa5 0xa0
179 /*
180 * FFh for 100% PWM of brightness, 0h for 0%
181 * brightness
182 */
183 0x01 0xa7 0xff
184 /*
185 * Set LVDS output as 6bit-VESA mapping,
186 * single LVDS channel
187 */
188 0x01 0xcc 0x13
189 /* Enable SSC set by register */
190 0x02 0xb1 0x20
191 /*
192 * Set SSC enabled and +/-1% central
193 * spreading
194 */
195 0x04 0x10 0x16
196 /* MPU Clock source: LC => RCO */
197 0x04 0x59 0x60
198 0x04 0x54 0x14 /* LC -> RCO */
199 0x02 0xa1 0x91>; /* HPD high */
200
201 ports {
202 port@0 {
203 bridge_out: endpoint {
204 remote-endpoint = <&panel_in>;
205 };
206 };
207
208 port@1 {
209 bridge_in: endpoint {
210 remote-endpoint = <&dp_out>;
211 };
212 };
213 };
214 };
215 };
216
217 sound@3830000 {
218 samsung,codec-type = "max98090";
219 };
220
221 i2c@12E10000 { /* i2c9 */
222 clock-frequency = <400000>;
223 tpm@20 {
224 compatible = "infineon,slb9645tt";
225 reg = <0x20>;
226 };
227 };
228
229 panel: panel {
230 compatible = "auo,b116xw03";
231 power-supply = <&tps65090_fet6>;
232 backlight = <&backlight>;
233
234 port {
235 panel_in: endpoint {
236 remote-endpoint = <&bridge_out>;
237 };
238 };
239 };
240
241 spi@12d30000 { /* spi1 */
242 spi-max-frequency = <50000000>;
243 firmware_storage_spi: flash@0 {
244 compatible = "spi-flash";
245 reg = <0>;
246
247 /*
248 * A region for the kernel to store a panic event
249 * which the firmware will add to the log.
250 */
251 elog-panic-event-offset = <0x01e00000 0x100000>;
252
253 elog-shrink-size = <0x400>;
254 elog-full-threshold = <0xc00>;
255 };
256 };
257
258 xhci@12000000 {
259 samsung,vbus-gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
260 };
261
262 xhci@12400000 {
263 samsung,vbus-gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
264 };
265
266 fimd@14400000 {
267 samsung,vl-freq = <60>;
268 samsung,vl-col = <1366>;
269 samsung,vl-row = <768>;
270 samsung,vl-width = <1366>;
271 samsung,vl-height = <768>;
272
273 samsung,vl-clkp;
274 samsung,vl-dp;
275 samsung,vl-bpix = <4>;
276
277 samsung,vl-hspw = <32>;
278 samsung,vl-hbpd = <40>;
279 samsung,vl-hfpd = <40>;
280 samsung,vl-vspw = <6>;
281 samsung,vl-vbpd = <10>;
282 samsung,vl-vfpd = <12>;
283 samsung,vl-cmd-allow-len = <0xf>;
284
285 samsung,winid = <3>;
286 samsung,interface-mode = <1>;
287 samsung,dp-enabled = <1>;
288 samsung,dual-lcd-enabled = <0>;
289 };
290 };
291
292 &dp {
293 status = "okay";
294 samsung,color-space = <0>;
295 samsung,dynamic-range = <0>;
296 samsung,ycbcr-coeff = <0>;
297 samsung,color-depth = <1>;
298 samsung,link-rate = <0x06>;
299 samsung,lane-count = <2>;
300 samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
301
302 ports {
303 port@0 {
304 dp_out: endpoint {
305 remote-endpoint = <&bridge_in>;
306 };
307 };
308 };
309 };
310
311 &spi_2 {
312 spi-max-frequency = <3125000>;
313 spi-deactivate-delay = <200>;
314 status = "okay";
315 num-cs = <1>;
316 samsung,spi-src-clk = <0>;
317 cs-gpios = <&gpb1 2 0>;
318
319 cros_ec: cros-ec@0 {
320 compatible = "google,cros-ec-spi";
321 interrupt-parent = <&gpx1>;
322 interrupts = <5 0>;
323 reg = <0>;
324 spi-half-duplex;
325 spi-max-timeout-ms = <1100>;
326 ec-interrupt = <&gpx1 5 GPIO_ACTIVE_LOW>;
327 #address-cells = <1>;
328 #size-cells = <1>;
329
330 /*
331 * This describes the flash memory within the EC. Note
332 * that the STM32L flash erases to 0, not 0xff.
333 */
334 flash@8000000 {
335 reg = <0x08000000 0x20000>;
336 erase-value = <0>;
337 };
338
339 controller-data {
340 samsung,spi-feedback-delay = <1>;
341 };
342
343 i2c_tunnel: i2c-tunnel {
344 compatible = "google,cros-ec-i2c-tunnel";
345 #address-cells = <1>;
346 #size-cells = <0>;
347 google,remote-bus = <0>;
348
349 battery: sbs-battery@b {
350 compatible = "sbs,sbs-battery";
351 reg = <0xb>;
352 sbs,poll-retry-count = <1>;
353 sbs,i2c-retry-count = <2>;
354 };
355
356 power-regulator@48 {
357 compatible = "ti,tps65090";
358 reg = <0x48>;
359
360 regulators {
361 tps65090_dcdc1: dcdc1 {
362 ti,enable-ext-control;
363 };
364 tps65090_dcdc2: dcdc2 {
365 ti,enable-ext-control;
366 };
367 tps65090_dcdc3: dcdc3 {
368 ti,enable-ext-control;
369 };
370 tps65090_fet1: fet1 {
371 regulator-name = "vcd_led";
372 };
373 tps65090_fet2: fet2 {
374 regulator-name = "video_mid";
375 regulator-always-on;
376 };
377 tps65090_fet3: fet3 {
378 regulator-name = "wwan_r";
379 regulator-always-on;
380 };
381 tps65090_fet4: fet4 {
382 regulator-name = "sdcard";
383 regulator-always-on;
384 };
385 tps65090_fet5: fet5 {
386 regulator-name = "camout";
387 regulator-always-on;
388 };
389 tps65090_fet6: fet6 {
390 regulator-name = "lcd_vdd";
391 };
392 tps65090_fet7: fet7 {
393 regulator-name = "video_mid_1a";
394 regulator-always-on;
395 };
396 tps65090_ldo1: ldo1 {
397 };
398 tps65090_ldo2: ldo2 {
399 };
400 };
401
402 charger {
403 compatible = "ti,tps65090-charger";
404 };
405 };
406 };
407 };
408 };
409
410 #include "cros-ec-keyboard.dtsi"