aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Anderson <dianders@chromium.org>2014-07-18 15:09:15 -0400
committerKukjin Kim <kgene.kim@samsung.com>2014-07-18 15:09:15 -0400
commit8060098bbb564d27a287057a93d4fe3bfd266290 (patch)
tree38704b98e644f332e0e4dd723d5dd412284e26f0
parent6f4b82a3568ea6dc721dc611754053846dca5781 (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.dts145
-rw-r--r--arch/arm/boot/dts/exynos5800-peach-pi.dts145
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"