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