diff options
author | Doug Anderson <dianders@chromium.org> | 2014-07-18 15:09:15 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2014-07-18 15:09:15 -0400 |
commit | 8060098bbb564d27a287057a93d4fe3bfd266290 (patch) | |
tree | 38704b98e644f332e0e4dd723d5dd412284e26f0 | |
parent | 6f4b82a3568ea6dc721dc611754053846dca5781 (diff) |
ARM: dts: Add cros_ec to exynos5420-peach-pit and exynos5800-peach-pi
This adds cros_ec to exynos5420-peach-pit and exynos5800-peach-pi,
including:
* The keyboard
* The i2c tunnel
* The tps65090 under the i2c tunnel
* The battery under the i2c tunnel
To add extra motivation, it should be noted that tps65090 is one of
the things needed to get display-related FETs turned on for pit and
pi.
Signed-off-by: Doug Anderson <dianders@chromium.org>
Tested-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Tested-by: Tushar Behera <tushar.b@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r-- | arch/arm/boot/dts/exynos5420-peach-pit.dts | 145 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5800-peach-pi.dts | 145 |
2 files changed, 290 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index c7b2bbae71a9..228a6b1e0aa1 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts | |||
@@ -25,6 +25,11 @@ | |||
25 | "google,pit", "google,peach","samsung,exynos5420", | 25 | "google,pit", "google,peach","samsung,exynos5420", |
26 | "samsung,exynos5"; | 26 | "samsung,exynos5"; |
27 | 27 | ||
28 | aliases { | ||
29 | /* Assign 20 so we don't get confused w/ builtin ones */ | ||
30 | i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel"; | ||
31 | }; | ||
32 | |||
28 | backlight { | 33 | backlight { |
29 | compatible = "pwm-backlight"; | 34 | compatible = "pwm-backlight"; |
30 | pwms = <&pwm 0 1000000 0>; | 35 | pwms = <&pwm 0 1000000 0>; |
@@ -88,6 +93,13 @@ | |||
88 | pinctrl-0 = <&usb301_vbus_en>; | 93 | pinctrl-0 = <&usb301_vbus_en>; |
89 | enable-active-high; | 94 | enable-active-high; |
90 | }; | 95 | }; |
96 | |||
97 | vbat: fixed-regulator { | ||
98 | compatible = "regulator-fixed"; | ||
99 | regulator-name = "vbat-supply"; | ||
100 | regulator-boot-on; | ||
101 | regulator-always-on; | ||
102 | }; | ||
91 | }; | 103 | }; |
92 | 104 | ||
93 | &dp { | 105 | &dp { |
@@ -244,6 +256,20 @@ | |||
244 | samsung,pin-drv = <0>; | 256 | samsung,pin-drv = <0>; |
245 | }; | 257 | }; |
246 | 258 | ||
259 | ec_irq: ec-irq { | ||
260 | samsung,pins = "gpx1-5"; | ||
261 | samsung,pin-function = <0>; | ||
262 | samsung,pin-pud = <0>; | ||
263 | samsung,pin-drv = <0>; | ||
264 | }; | ||
265 | |||
266 | tps65090_irq: tps65090-irq { | ||
267 | samsung,pins = "gpx2-5"; | ||
268 | samsung,pin-function = <0>; | ||
269 | samsung,pin-pud = <0>; | ||
270 | samsung,pin-drv = <0>; | ||
271 | }; | ||
272 | |||
247 | dp_hpd_gpio: dp_hpd_gpio { | 273 | dp_hpd_gpio: dp_hpd_gpio { |
248 | samsung,pins = "gpx2-6"; | 274 | samsung,pins = "gpx2-6"; |
249 | samsung,pin-function = <0>; | 275 | samsung,pin-function = <0>; |
@@ -260,6 +286,19 @@ | |||
260 | }; | 286 | }; |
261 | 287 | ||
262 | &pinctrl_3 { | 288 | &pinctrl_3 { |
289 | /* Drive SPI lines at x2 for better integrity */ | ||
290 | spi2-bus { | ||
291 | samsung,pin-drv = <2>; | ||
292 | }; | ||
293 | |||
294 | /* Drive SPI chip select at x2 for better integrity */ | ||
295 | ec_spi_cs: ec-spi-cs { | ||
296 | samsung,pins = "gpb1-2"; | ||
297 | samsung,pin-function = <1>; | ||
298 | samsung,pin-pud = <0>; | ||
299 | samsung,pin-drv = <2>; | ||
300 | }; | ||
301 | |||
263 | usb300_vbus_en: usb300-vbus-en { | 302 | usb300_vbus_en: usb300-vbus-en { |
264 | samsung,pins = "gph0-0"; | 303 | samsung,pins = "gph0-0"; |
265 | samsung,pin-function = <1>; | 304 | samsung,pin-function = <1>; |
@@ -279,6 +318,111 @@ | |||
279 | status = "okay"; | 318 | status = "okay"; |
280 | }; | 319 | }; |
281 | 320 | ||
321 | &spi_2 { | ||
322 | status = "okay"; | ||
323 | num-cs = <1>; | ||
324 | samsung,spi-src-clk = <0>; | ||
325 | cs-gpios = <&gpb1 2 0>; | ||
326 | |||
327 | cros_ec: cros-ec@0 { | ||
328 | compatible = "google,cros-ec-spi"; | ||
329 | interrupt-parent = <&gpx1>; | ||
330 | interrupts = <5 0>; | ||
331 | pinctrl-names = "default"; | ||
332 | pinctrl-0 = <&ec_spi_cs &ec_irq>; | ||
333 | reg = <0>; | ||
334 | spi-max-frequency = <3125000>; | ||
335 | |||
336 | controller-data { | ||
337 | samsung,spi-feedback-delay = <1>; | ||
338 | }; | ||
339 | |||
340 | i2c-tunnel { | ||
341 | compatible = "google,cros-ec-i2c-tunnel"; | ||
342 | #address-cells = <1>; | ||
343 | #size-cells = <0>; | ||
344 | google,remote-bus = <0>; | ||
345 | |||
346 | battery: sbs-battery@b { | ||
347 | compatible = "sbs,sbs-battery"; | ||
348 | reg = <0xb>; | ||
349 | sbs,poll-retry-count = <1>; | ||
350 | sbs,i2c-retry-count = <2>; | ||
351 | }; | ||
352 | |||
353 | power-regulator@48 { | ||
354 | compatible = "ti,tps65090"; | ||
355 | reg = <0x48>; | ||
356 | |||
357 | /* | ||
358 | * Config irq to disable internal pulls | ||
359 | * even though we run in polling mode. | ||
360 | */ | ||
361 | pinctrl-names = "default"; | ||
362 | pinctrl-0 = <&tps65090_irq>; | ||
363 | |||
364 | vsys1-supply = <&vbat>; | ||
365 | vsys2-supply = <&vbat>; | ||
366 | vsys3-supply = <&vbat>; | ||
367 | infet1-supply = <&vbat>; | ||
368 | infet2-supply = <&vbat>; | ||
369 | infet3-supply = <&vbat>; | ||
370 | infet4-supply = <&vbat>; | ||
371 | infet5-supply = <&vbat>; | ||
372 | infet6-supply = <&vbat>; | ||
373 | infet7-supply = <&vbat>; | ||
374 | vsys-l1-supply = <&vbat>; | ||
375 | vsys-l2-supply = <&vbat>; | ||
376 | |||
377 | regulators { | ||
378 | tps65090_dcdc1: dcdc1 { | ||
379 | ti,enable-ext-control; | ||
380 | }; | ||
381 | tps65090_dcdc2: dcdc2 { | ||
382 | ti,enable-ext-control; | ||
383 | }; | ||
384 | tps65090_dcdc3: dcdc3 { | ||
385 | ti,enable-ext-control; | ||
386 | }; | ||
387 | tps65090_fet1: fet1 { | ||
388 | regulator-name = "vcd_led"; | ||
389 | }; | ||
390 | tps65090_fet2: fet2 { | ||
391 | regulator-name = "video_mid"; | ||
392 | regulator-always-on; | ||
393 | }; | ||
394 | tps65090_fet3: fet3 { | ||
395 | regulator-name = "wwan_r"; | ||
396 | regulator-always-on; | ||
397 | }; | ||
398 | tps65090_fet4: fet4 { | ||
399 | regulator-name = "sdcard"; | ||
400 | regulator-always-on; | ||
401 | }; | ||
402 | tps65090_fet5: fet5 { | ||
403 | regulator-name = "camout"; | ||
404 | }; | ||
405 | tps65090_fet6: fet6 { | ||
406 | regulator-name = "lcd_vdd"; | ||
407 | }; | ||
408 | tps65090_fet7: fet7 { | ||
409 | regulator-name = "video_mid_1a"; | ||
410 | regulator-always-on; | ||
411 | }; | ||
412 | tps65090_ldo1: ldo1 { | ||
413 | }; | ||
414 | tps65090_ldo2: ldo2 { | ||
415 | }; | ||
416 | }; | ||
417 | |||
418 | charger { | ||
419 | compatible = "ti,tps65090-charger"; | ||
420 | }; | ||
421 | }; | ||
422 | }; | ||
423 | }; | ||
424 | }; | ||
425 | |||
282 | &uart_3 { | 426 | &uart_3 { |
283 | status = "okay"; | 427 | status = "okay"; |
284 | }; | 428 | }; |
@@ -300,3 +444,4 @@ | |||
300 | timeout-sec = <32>; | 444 | timeout-sec = <32>; |
301 | }; | 445 | }; |
302 | 446 | ||
447 | #include "cros-ec-keyboard.dtsi" | ||
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index 0bc97d94474c..f3ee48bbe05f 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts | |||
@@ -23,6 +23,11 @@ | |||
23 | "google,pi", "google,peach", "samsung,exynos5800", | 23 | "google,pi", "google,peach", "samsung,exynos5800", |
24 | "samsung,exynos5"; | 24 | "samsung,exynos5"; |
25 | 25 | ||
26 | aliases { | ||
27 | /* Assign 20 so we don't get confused w/ builtin ones */ | ||
28 | i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel"; | ||
29 | }; | ||
30 | |||
26 | backlight { | 31 | backlight { |
27 | compatible = "pwm-backlight"; | 32 | compatible = "pwm-backlight"; |
28 | pwms = <&pwm 0 1000000 0>; | 33 | pwms = <&pwm 0 1000000 0>; |
@@ -86,6 +91,13 @@ | |||
86 | pinctrl-0 = <&usb301_vbus_en>; | 91 | pinctrl-0 = <&usb301_vbus_en>; |
87 | enable-active-high; | 92 | enable-active-high; |
88 | }; | 93 | }; |
94 | |||
95 | vbat: fixed-regulator { | ||
96 | compatible = "regulator-fixed"; | ||
97 | regulator-name = "vbat-supply"; | ||
98 | regulator-boot-on; | ||
99 | regulator-always-on; | ||
100 | }; | ||
89 | }; | 101 | }; |
90 | 102 | ||
91 | &dp { | 103 | &dp { |
@@ -242,6 +254,20 @@ | |||
242 | samsung,pin-drv = <0>; | 254 | samsung,pin-drv = <0>; |
243 | }; | 255 | }; |
244 | 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 | |||
245 | dp_hpd_gpio: dp_hpd_gpio { | 271 | dp_hpd_gpio: dp_hpd_gpio { |
246 | samsung,pins = "gpx2-6"; | 272 | samsung,pins = "gpx2-6"; |
247 | samsung,pin-function = <0>; | 273 | samsung,pin-function = <0>; |
@@ -258,6 +284,19 @@ | |||
258 | }; | 284 | }; |
259 | 285 | ||
260 | &pinctrl_3 { | 286 | &pinctrl_3 { |
287 | /* Drive SPI lines at x2 for better integrity */ | ||
288 | spi2-bus { | ||
289 | samsung,pin-drv = <2>; | ||
290 | }; | ||
291 | |||
292 | /* Drive SPI chip select at x2 for better integrity */ | ||
293 | ec_spi_cs: ec-spi-cs { | ||
294 | samsung,pins = "gpb1-2"; | ||
295 | samsung,pin-function = <1>; | ||
296 | samsung,pin-pud = <0>; | ||
297 | samsung,pin-drv = <2>; | ||
298 | }; | ||
299 | |||
261 | usb300_vbus_en: usb300-vbus-en { | 300 | usb300_vbus_en: usb300-vbus-en { |
262 | samsung,pins = "gph0-0"; | 301 | samsung,pins = "gph0-0"; |
263 | samsung,pin-function = <1>; | 302 | samsung,pin-function = <1>; |
@@ -277,6 +316,111 @@ | |||
277 | status = "okay"; | 316 | status = "okay"; |
278 | }; | 317 | }; |
279 | 318 | ||
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 | |||
280 | &uart_3 { | 424 | &uart_3 { |
281 | status = "okay"; | 425 | status = "okay"; |
282 | }; | 426 | }; |
@@ -298,3 +442,4 @@ | |||
298 | timeout-sec = <32>; | 442 | timeout-sec = <32>; |
299 | }; | 443 | }; |
300 | 444 | ||
445 | #include "cros-ec-keyboard.dtsi" | ||