blob: 78e350b78d698ea78e561cb4668cf2c3946add55 [file] [log] [blame]
Arun Kumar K853d2692014-05-12 07:56:34 +09001/*
2 * Google Peach Pi Rev 10+ board device tree source
3 *
4 * Copyright (c) 2014 Google, Inc
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11/dts-v1/;
12#include <dt-bindings/input/input.h>
13#include <dt-bindings/gpio/gpio.h>
14#include "exynos5800.dtsi"
15
16/ {
17 model = "Google Peach Pi Rev 10+";
18
19 compatible = "google,pi-rev16",
20 "google,pi-rev15", "google,pi-rev14",
21 "google,pi-rev13", "google,pi-rev12",
22 "google,pi-rev11", "google,pi-rev10",
23 "google,pi", "google,peach", "samsung,exynos5800",
24 "samsung,exynos5";
25
26 memory {
27 reg = <0x20000000 0x80000000>;
28 };
29
30 fixed-rate-clocks {
31 oscclk {
32 compatible = "samsung,exynos5420-oscclk";
33 clock-frequency = <24000000>;
34 };
35 };
36
37 gpio-keys {
38 compatible = "gpio-keys";
39
40 pinctrl-names = "default";
41 pinctrl-0 = <&power_key_irq>;
42
43 power {
44 label = "Power";
45 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
46 linux,code = <KEY_POWER>;
47 gpio-key,wakeup;
48 };
49 };
50
51 backlight {
52 compatible = "pwm-backlight";
53 pwms = <&pwm 0 1000000 0>;
54 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
55 default-brightness-level = <7>;
56 pinctrl-0 = <&pwm0_out>;
57 pinctrl-names = "default";
58 };
59};
60
61&pinctrl_0 {
62 tpm_irq: tpm-irq {
63 samsung,pins = "gpx1-0";
64 samsung,pin-function = <0>;
65 samsung,pin-pud = <0>;
66 samsung,pin-drv = <0>;
67 };
68
69 power_key_irq: power-key-irq {
70 samsung,pins = "gpx1-2";
71 samsung,pin-function = <0>;
72 samsung,pin-pud = <0>;
73 samsung,pin-drv = <0>;
74 };
Rahul Sharma6a7da0d2014-05-16 05:06:34 +090075
76 hdmi_hpd_irq: hdmi-hpd-irq {
77 samsung,pins = "gpx3-7";
78 samsung,pin-function = <0>;
79 samsung,pin-pud = <1>;
80 samsung,pin-drv = <0>;
81 };
Arun Kumar K853d2692014-05-12 07:56:34 +090082};
83
84&rtc {
85 status = "okay";
86};
87
88&uart_3 {
89 status = "okay";
90};
91
92&mmc_0 {
93 status = "okay";
94 num-slots = <1>;
95 broken-cd;
96 caps2-mmc-hs200-1_8v;
97 supports-highspeed;
98 non-removable;
99 card-detect-delay = <200>;
100 clock-frequency = <400000000>;
101 samsung,dw-mshc-ciu-div = <3>;
102 samsung,dw-mshc-sdr-timing = <0 4>;
103 samsung,dw-mshc-ddr-timing = <0 2>;
104 pinctrl-names = "default";
105 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
106
107 slot@0 {
108 reg = <0>;
109 bus-width = <8>;
110 };
111};
112
113&mmc_2 {
114 status = "okay";
115 num-slots = <1>;
116 supports-highspeed;
117 card-detect-delay = <200>;
118 clock-frequency = <400000000>;
119 samsung,dw-mshc-ciu-div = <3>;
120 samsung,dw-mshc-sdr-timing = <2 3>;
121 samsung,dw-mshc-ddr-timing = <1 2>;
122 pinctrl-names = "default";
123 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
124
125 slot@0 {
126 reg = <0>;
127 bus-width = <4>;
128 };
129};
130
131&hsi2c_9 {
132 status = "okay";
133 clock-frequency = <400000>;
134
135 tpm@20 {
136 compatible = "infineon,slb9645tt";
137 reg = <0x20>;
138 /* Unused irq; but still need to configure the pins */
139 pinctrl-names = "default";
140 pinctrl-0 = <&tpm_irq>;
141 };
142};
143
Rahul Sharma6a7da0d2014-05-16 05:06:34 +0900144&i2c_2 {
145 status = "okay";
146 samsung,i2c-sda-delay = <100>;
147 samsung,i2c-max-bus-freq = <66000>;
148 samsung,i2c-slave-addr = <0x50>;
149};
150
151&hdmi {
152 status = "okay";
153 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
154 pinctrl-names = "default";
155 pinctrl-0 = <&hdmi_hpd_irq>;
156 ddc = <&i2c_2>;
157};
158
Arun Kumar K853d2692014-05-12 07:56:34 +0900159/*
160 * Use longest HW watchdog in SoC (32 seconds) since the hardware
161 * watchdog provides no debugging information (compared to soft/hard
162 * lockup detectors) and so should be last resort.
163 */
164&watchdog {
165 timeout-sec = <32>;
166};