aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/exynos5800-peach-pi.dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/exynos5800-peach-pi.dts')
-rw-r--r--arch/arm/boot/dts/exynos5800-peach-pi.dts374
1 files changed, 283 insertions, 91 deletions
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index f3af2079a063..f3ee48bbe05f 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -23,8 +23,18 @@
23 "google,pi", "google,peach", "samsung,exynos5800", 23 "google,pi", "google,peach", "samsung,exynos5800",
24 "samsung,exynos5"; 24 "samsung,exynos5";
25 25
26 memory { 26 aliases {
27 reg = <0x20000000 0x80000000>; 27 /* Assign 20 so we don't get confused w/ builtin ones */
28 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
29 };
30
31 backlight {
32 compatible = "pwm-backlight";
33 pwms = <&pwm 0 1000000 0>;
34 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
35 default-brightness-level = <7>;
36 pinctrl-0 = <&pwm0_out>;
37 pinctrl-names = "default";
28 }; 38 };
29 39
30 fixed-rate-clocks { 40 fixed-rate-clocks {
@@ -48,13 +58,16 @@
48 }; 58 };
49 }; 59 };
50 60
51 backlight { 61 memory {
52 compatible = "pwm-backlight"; 62 reg = <0x20000000 0x80000000>;
53 pwms = <&pwm 0 1000000 0>; 63 };
54 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 64
55 default-brightness-level = <7>; 65 sound {
56 pinctrl-0 = <&pwm0_out>; 66 compatible = "google,snow-audio-max98091";
57 pinctrl-names = "default"; 67
68 samsung,model = "Peach-Pi-I2S-MAX98091";
69 samsung,i2s-controller = <&i2s0>;
70 samsung,audio-codec = <&max98091>;
58 }; 71 };
59 72
60 usb300_vbus_reg: regulator-usb300 { 73 usb300_vbus_reg: regulator-usb300 {
@@ -78,59 +91,92 @@
78 pinctrl-0 = <&usb301_vbus_en>; 91 pinctrl-0 = <&usb301_vbus_en>;
79 enable-active-high; 92 enable-active-high;
80 }; 93 };
81};
82 94
83&pinctrl_0 { 95 vbat: fixed-regulator {
84 tpm_irq: tpm-irq { 96 compatible = "regulator-fixed";
85 samsung,pins = "gpx1-0"; 97 regulator-name = "vbat-supply";
86 samsung,pin-function = <0>; 98 regulator-boot-on;
87 samsung,pin-pud = <0>; 99 regulator-always-on;
88 samsung,pin-drv = <0>;
89 }; 100 };
101};
90 102
91 power_key_irq: power-key-irq { 103&dp {
92 samsung,pins = "gpx1-2"; 104 status = "okay";
93 samsung,pin-function = <0>; 105 pinctrl-names = "default";
94 samsung,pin-pud = <0>; 106 pinctrl-0 = <&dp_hpd_gpio>;
95 samsung,pin-drv = <0>; 107 samsung,color-space = <0>;
96 }; 108 samsung,dynamic-range = <0>;
109 samsung,ycbcr-coeff = <0>;
110 samsung,color-depth = <1>;
111 samsung,link-rate = <0x0a>;
112 samsung,lane-count = <2>;
113 samsung,hpd-gpio = <&gpx2 6 0>;
97 114
98 dp_hpd_gpio: dp_hpd_gpio { 115 display-timings {
99 samsung,pins = "gpx2-6"; 116 native-mode = <&timing1>;
100 samsung,pin-function = <0>;
101 samsung,pin-pud = <3>;
102 samsung,pin-drv = <0>;
103 };
104 117
105 hdmi_hpd_irq: hdmi-hpd-irq { 118 timing1: timing@1 {
106 samsung,pins = "gpx3-7"; 119 clock-frequency = <150660000>;
107 samsung,pin-function = <0>; 120 hactive = <1920>;
108 samsung,pin-pud = <1>; 121 vactive = <1080>;
109 samsung,pin-drv = <0>; 122 hfront-porch = <60>;
123 hback-porch = <172>;
124 hsync-len = <80>;
125 vback-porch = <25>;
126 vfront-porch = <10>;
127 vsync-len = <10>;
128 };
110 }; 129 };
111}; 130};
112 131
113&pinctrl_3 { 132&fimd {
114 usb300_vbus_en: usb300-vbus-en { 133 status = "okay";
115 samsung,pins = "gph0-0"; 134 samsung,invert-vclk;
116 samsung,pin-function = <1>; 135};
117 samsung,pin-pud = <0>; 136
118 samsung,pin-drv = <0>; 137&hdmi {
138 status = "okay";
139 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
140 pinctrl-names = "default";
141 pinctrl-0 = <&hdmi_hpd_irq>;
142 ddc = <&i2c_2>;
143};
144
145&hsi2c_7 {
146 status = "okay";
147
148 max98091: codec@10 {
149 compatible = "maxim,max98091";
150 reg = <0x10>;
151 interrupts = <2 0>;
152 interrupt-parent = <&gpx0>;
153 pinctrl-names = "default";
154 pinctrl-0 = <&max98091_irq>;
119 }; 155 };
156};
120 157
121 usb301_vbus_en: usb301-vbus-en { 158&hsi2c_9 {
122 samsung,pins = "gph0-1"; 159 status = "okay";
123 samsung,pin-function = <1>; 160 clock-frequency = <400000>;
124 samsung,pin-pud = <0>; 161
125 samsung,pin-drv = <0>; 162 tpm@20 {
163 compatible = "infineon,slb9645tt";
164 reg = <0x20>;
165
166 /* Unused irq; but still need to configure the pins */
167 pinctrl-names = "default";
168 pinctrl-0 = <&tpm_irq>;
126 }; 169 };
127}; 170};
128 171
129&rtc { 172&i2c_2 {
130 status = "okay"; 173 status = "okay";
174 samsung,i2c-sda-delay = <100>;
175 samsung,i2c-max-bus-freq = <66000>;
176 samsung,i2c-slave-addr = <0x50>;
131}; 177};
132 178
133&uart_3 { 179&i2s0 {
134 status = "okay"; 180 status = "okay";
135}; 181};
136 182
@@ -173,66 +219,210 @@
173 }; 219 };
174}; 220};
175 221
176&dp { 222
177 status = "okay"; 223&pinctrl_0 {
178 pinctrl-names = "default"; 224 pinctrl-names = "default";
179 pinctrl-0 = <&dp_hpd_gpio>; 225 pinctrl-0 = <&mask_tpm_reset>;
180 samsung,color-space = <0>;
181 samsung,dynamic-range = <0>;
182 samsung,ycbcr-coeff = <0>;
183 samsung,color-depth = <1>;
184 samsung,link-rate = <0x0a>;
185 samsung,lane-count = <2>;
186 samsung,hpd-gpio = <&gpx2 6 0>;
187 226
188 display-timings { 227 max98091_irq: max98091-irq {
189 native-mode = <&timing1>; 228 samsung,pins = "gpx0-2";
229 samsung,pin-function = <0>;
230 samsung,pin-pud = <0>;
231 samsung,pin-drv = <0>;
232 };
190 233
191 timing1: timing@1 { 234 /* We need GPX0_6 to be low at sleep time; just keep it low always */
192 clock-frequency = <150660000>; 235 mask_tpm_reset: mask-tpm-reset {
193 hactive = <1920>; 236 samsung,pins = "gpx0-6";
194 vactive = <1080>; 237 samsung,pin-function = <1>;
195 hfront-porch = <60>; 238 samsung,pin-pud = <0>;
196 hback-porch = <172>; 239 samsung,pin-drv = <0>;
197 hsync-len = <80>; 240 samsung,pin-val = <0>;
198 vback-porch = <25>;
199 vfront-porch = <10>;
200 vsync-len = <10>;
201 };
202 }; 241 };
203};
204 242
205&fimd { 243 tpm_irq: tpm-irq {
206 status = "okay"; 244 samsung,pins = "gpx1-0";
207 samsung,invert-vclk; 245 samsung,pin-function = <0>;
246 samsung,pin-pud = <0>;
247 samsung,pin-drv = <0>;
248 };
249
250 power_key_irq: power-key-irq {
251 samsung,pins = "gpx1-2";
252 samsung,pin-function = <0>;
253 samsung,pin-pud = <0>;
254 samsung,pin-drv = <0>;
255 };
256
257 ec_irq: ec-irq {
258 samsung,pins = "gpx1-5";
259 samsung,pin-function = <0>;
260 samsung,pin-pud = <0>;
261 samsung,pin-drv = <0>;
262 };
263
264 tps65090_irq: tps65090-irq {
265 samsung,pins = "gpx2-5";
266 samsung,pin-function = <0>;
267 samsung,pin-pud = <0>;
268 samsung,pin-drv = <0>;
269 };
270
271 dp_hpd_gpio: dp_hpd_gpio {
272 samsung,pins = "gpx2-6";
273 samsung,pin-function = <0>;
274 samsung,pin-pud = <3>;
275 samsung,pin-drv = <0>;
276 };
277
278 hdmi_hpd_irq: hdmi-hpd-irq {
279 samsung,pins = "gpx3-7";
280 samsung,pin-function = <0>;
281 samsung,pin-pud = <1>;
282 samsung,pin-drv = <0>;
283 };
208}; 284};
209 285
210&hsi2c_9 { 286&pinctrl_3 {
211 status = "okay"; 287 /* Drive SPI lines at x2 for better integrity */
212 clock-frequency = <400000>; 288 spi2-bus {
289 samsung,pin-drv = <2>;
290 };
213 291
214 tpm@20 { 292 /* Drive SPI chip select at x2 for better integrity */
215 compatible = "infineon,slb9645tt"; 293 ec_spi_cs: ec-spi-cs {
216 reg = <0x20>; 294 samsung,pins = "gpb1-2";
217 /* Unused irq; but still need to configure the pins */ 295 samsung,pin-function = <1>;
218 pinctrl-names = "default"; 296 samsung,pin-pud = <0>;
219 pinctrl-0 = <&tpm_irq>; 297 samsung,pin-drv = <2>;
298 };
299
300 usb300_vbus_en: usb300-vbus-en {
301 samsung,pins = "gph0-0";
302 samsung,pin-function = <1>;
303 samsung,pin-pud = <0>;
304 samsung,pin-drv = <0>;
305 };
306
307 usb301_vbus_en: usb301-vbus-en {
308 samsung,pins = "gph0-1";
309 samsung,pin-function = <1>;
310 samsung,pin-pud = <0>;
311 samsung,pin-drv = <0>;
220 }; 312 };
221}; 313};
222 314
223&i2c_2 { 315&rtc {
224 status = "okay"; 316 status = "okay";
225 samsung,i2c-sda-delay = <100>;
226 samsung,i2c-max-bus-freq = <66000>;
227 samsung,i2c-slave-addr = <0x50>;
228}; 317};
229 318
230&hdmi { 319&spi_2 {
320 status = "okay";
321 num-cs = <1>;
322 samsung,spi-src-clk = <0>;
323 cs-gpios = <&gpb1 2 0>;
324
325 cros_ec: cros-ec@0 {
326 compatible = "google,cros-ec-spi";
327 interrupt-parent = <&gpx1>;
328 interrupts = <5 0>;
329 pinctrl-names = "default";
330 pinctrl-0 = <&ec_spi_cs &ec_irq>;
331 reg = <0>;
332 spi-max-frequency = <3125000>;
333
334 controller-data {
335 samsung,spi-feedback-delay = <1>;
336 };
337
338 i2c-tunnel {
339 compatible = "google,cros-ec-i2c-tunnel";
340 #address-cells = <1>;
341 #size-cells = <0>;
342 google,remote-bus = <0>;
343
344 battery: sbs-battery@b {
345 compatible = "sbs,sbs-battery";
346 reg = <0xb>;
347 sbs,poll-retry-count = <1>;
348 sbs,i2c-retry-count = <2>;
349 };
350
351 power-regulator@48 {
352 compatible = "ti,tps65090";
353 reg = <0x48>;
354
355 /*
356 * Config irq to disable internal pulls
357 * even though we run in polling mode.
358 */
359 pinctrl-names = "default";
360 pinctrl-0 = <&tps65090_irq>;
361
362 vsys1-supply = <&vbat>;
363 vsys2-supply = <&vbat>;
364 vsys3-supply = <&vbat>;
365 infet1-supply = <&vbat>;
366 infet2-supply = <&vbat>;
367 infet3-supply = <&vbat>;
368 infet4-supply = <&vbat>;
369 infet5-supply = <&vbat>;
370 infet6-supply = <&vbat>;
371 infet7-supply = <&vbat>;
372 vsys-l1-supply = <&vbat>;
373 vsys-l2-supply = <&vbat>;
374
375 regulators {
376 tps65090_dcdc1: dcdc1 {
377 ti,enable-ext-control;
378 };
379 tps65090_dcdc2: dcdc2 {
380 ti,enable-ext-control;
381 };
382 tps65090_dcdc3: dcdc3 {
383 ti,enable-ext-control;
384 };
385 tps65090_fet1: fet1 {
386 regulator-name = "vcd_led";
387 };
388 tps65090_fet2: fet2 {
389 regulator-name = "video_mid";
390 regulator-always-on;
391 };
392 tps65090_fet3: fet3 {
393 regulator-name = "wwan_r";
394 regulator-always-on;
395 };
396 tps65090_fet4: fet4 {
397 regulator-name = "sdcard";
398 regulator-always-on;
399 };
400 tps65090_fet5: fet5 {
401 regulator-name = "camout";
402 };
403 tps65090_fet6: fet6 {
404 regulator-name = "lcd_vdd";
405 };
406 tps65090_fet7: fet7 {
407 regulator-name = "video_mid_1a";
408 regulator-always-on;
409 };
410 tps65090_ldo1: ldo1 {
411 };
412 tps65090_ldo2: ldo2 {
413 };
414 };
415
416 charger {
417 compatible = "ti,tps65090-charger";
418 };
419 };
420 };
421 };
422};
423
424&uart_3 {
231 status = "okay"; 425 status = "okay";
232 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
233 pinctrl-names = "default";
234 pinctrl-0 = <&hdmi_hpd_irq>;
235 ddc = <&i2c_2>;
236}; 426};
237 427
238&usbdrd_phy0 { 428&usbdrd_phy0 {
@@ -251,3 +441,5 @@
251&watchdog { 441&watchdog {
252 timeout-sec = <32>; 442 timeout-sec = <32>;
253}; 443};
444
445#include "cros-ec-keyboard.dtsi"