blob: c7b2bbae71a9dc9ab9f68af6fd1088a6dd724383 [file] [log] [blame]
Arun Kumar K3528dd32014-05-09 06:06:25 +09001/*
2 * Google Peach Pit Rev 6+ 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 "exynos5420.dtsi"
15
16/ {
17 model = "Google Peach Pit Rev 6+";
18
19 compatible = "google,pit-rev16",
20 "google,pit-rev15", "google,pit-rev14",
21 "google,pit-rev13", "google,pit-rev12",
22 "google,pit-rev11", "google,pit-rev10",
23 "google,pit-rev9", "google,pit-rev8",
24 "google,pit-rev7", "google,pit-rev6",
25 "google,pit", "google,peach","samsung,exynos5420",
26 "samsung,exynos5";
27
Tushar Behera522c8ff2014-06-21 21:50:17 +090028 backlight {
29 compatible = "pwm-backlight";
30 pwms = <&pwm 0 1000000 0>;
31 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
32 default-brightness-level = <7>;
33 pinctrl-0 = <&pwm0_out>;
34 pinctrl-names = "default";
Arun Kumar K3528dd32014-05-09 06:06:25 +090035 };
36
37 fixed-rate-clocks {
38 oscclk {
39 compatible = "samsung,exynos5420-oscclk";
40 clock-frequency = <24000000>;
41 };
42 };
43
44 gpio-keys {
45 compatible = "gpio-keys";
46
47 pinctrl-names = "default";
48 pinctrl-0 = <&power_key_irq>;
49
50 power {
51 label = "Power";
52 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
53 linux,code = <KEY_POWER>;
54 gpio-key,wakeup;
55 };
56 };
57
Tushar Behera522c8ff2014-06-21 21:50:17 +090058 memory {
59 reg = <0x20000000 0x80000000>;
Arun Kumar K3528dd32014-05-09 06:06:25 +090060 };
Tushar Beheraead39932014-05-17 07:44:10 +090061
62 sound {
63 compatible = "google,snow-audio-max98090";
64
Tushar Beheraa8d80b62014-07-08 08:20:08 +090065 samsung,model = "Peach-Pit-I2S-MAX98090";
Tushar Beheraead39932014-05-17 07:44:10 +090066 samsung,i2s-controller = <&i2s0>;
67 samsung,audio-codec = <&max98090>;
68 };
Vivek Gautam14a35ad2014-05-19 22:29:42 +090069
70 usb300_vbus_reg: regulator-usb300 {
71 compatible = "regulator-fixed";
72 regulator-name = "P5.0V_USB3CON0";
73 regulator-min-microvolt = <5000000>;
74 regulator-max-microvolt = <5000000>;
75 gpio = <&gph0 0 0>;
76 pinctrl-names = "default";
77 pinctrl-0 = <&usb300_vbus_en>;
78 enable-active-high;
79 };
80
81 usb301_vbus_reg: regulator-usb301 {
82 compatible = "regulator-fixed";
83 regulator-name = "P5.0V_USB3CON1";
84 regulator-min-microvolt = <5000000>;
85 regulator-max-microvolt = <5000000>;
86 gpio = <&gph0 1 0>;
87 pinctrl-names = "default";
88 pinctrl-0 = <&usb301_vbus_en>;
89 enable-active-high;
90 };
Arun Kumar K3528dd32014-05-09 06:06:25 +090091};
92
Tushar Behera522c8ff2014-06-21 21:50:17 +090093&dp {
Arun Kumar K3528dd32014-05-09 06:06:25 +090094 status = "okay";
Tushar Behera522c8ff2014-06-21 21:50:17 +090095 pinctrl-names = "default";
96 pinctrl-0 = <&dp_hpd_gpio>;
97 samsung,color-space = <0>;
98 samsung,dynamic-range = <0>;
99 samsung,ycbcr-coeff = <0>;
100 samsung,color-depth = <1>;
101 samsung,link-rate = <0x06>;
102 samsung,lane-count = <2>;
103 samsung,hpd-gpio = <&gpx2 6 0>;
104
105 display-timings {
106 native-mode = <&timing1>;
107
108 timing1: timing@1 {
109 clock-frequency = <70589280>;
110 hactive = <1366>;
111 vactive = <768>;
112 hfront-porch = <40>;
113 hback-porch = <40>;
114 hsync-len = <32>;
115 vback-porch = <10>;
116 vfront-porch = <12>;
117 vsync-len = <6>;
118 };
119 };
Arun Kumar K3528dd32014-05-09 06:06:25 +0900120};
121
Tushar Behera522c8ff2014-06-21 21:50:17 +0900122&fimd {
123 status = "okay";
124 samsung,invert-vclk;
125};
126
127&hdmi {
128 status = "okay";
129 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
130 pinctrl-names = "default";
131 pinctrl-0 = <&hdmi_hpd_irq>;
132 ddc = <&i2c_2>;
133};
134
135&hsi2c_7 {
136 status = "okay";
137
138 max98090: codec@10 {
139 compatible = "maxim,max98090";
140 reg = <0x10>;
141 interrupts = <2 0>;
142 interrupt-parent = <&gpx0>;
143 pinctrl-names = "default";
144 pinctrl-0 = <&max98090_irq>;
145 };
146};
147
148&hsi2c_9 {
149 status = "okay";
150 clock-frequency = <400000>;
151
152 tpm@20 {
153 compatible = "infineon,slb9645tt";
154 reg = <0x20>;
155
156 /* Unused irq; but still need to configure the pins */
157 pinctrl-names = "default";
158 pinctrl-0 = <&tpm_irq>;
159 };
160};
161
162&i2c_2 {
163 status = "okay";
164 samsung,i2c-sda-delay = <100>;
165 samsung,i2c-max-bus-freq = <66000>;
166 samsung,i2c-slave-addr = <0x50>;
167};
168
169&i2s0 {
Arun Kumar K3528dd32014-05-09 06:06:25 +0900170 status = "okay";
171};
172
173&mmc_0 {
174 status = "okay";
175 num-slots = <1>;
176 broken-cd;
177 caps2-mmc-hs200-1_8v;
178 supports-highspeed;
179 non-removable;
180 card-detect-delay = <200>;
181 clock-frequency = <400000000>;
182 samsung,dw-mshc-ciu-div = <3>;
183 samsung,dw-mshc-sdr-timing = <0 4>;
184 samsung,dw-mshc-ddr-timing = <0 2>;
185 pinctrl-names = "default";
186 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
187
188 slot@0 {
189 reg = <0>;
190 bus-width = <8>;
191 };
192};
193
194&mmc_2 {
195 status = "okay";
196 num-slots = <1>;
197 supports-highspeed;
198 card-detect-delay = <200>;
199 clock-frequency = <400000000>;
200 samsung,dw-mshc-ciu-div = <3>;
201 samsung,dw-mshc-sdr-timing = <2 3>;
202 samsung,dw-mshc-ddr-timing = <1 2>;
203 pinctrl-names = "default";
204 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
205
206 slot@0 {
207 reg = <0>;
208 bus-width = <4>;
209 };
210};
211
Tushar Beheraead39932014-05-17 07:44:10 +0900212
Tushar Behera522c8ff2014-06-21 21:50:17 +0900213&pinctrl_0 {
Doug Andersonac5ce092014-07-16 02:38:39 +0900214 pinctrl-names = "default";
215 pinctrl-0 = <&mask_tpm_reset>;
216
Tushar Behera522c8ff2014-06-21 21:50:17 +0900217 max98090_irq: max98090-irq {
218 samsung,pins = "gpx0-2";
219 samsung,pin-function = <0>;
220 samsung,pin-pud = <0>;
221 samsung,pin-drv = <0>;
222 };
223
Doug Andersonac5ce092014-07-16 02:38:39 +0900224 /* We need GPX0_6 to be low at sleep time; just keep it low always */
225 mask_tpm_reset: mask-tpm-reset {
226 samsung,pins = "gpx0-6";
227 samsung,pin-function = <1>;
228 samsung,pin-pud = <0>;
229 samsung,pin-drv = <0>;
230 samsung,pin-val = <0>;
231 };
232
Tushar Behera522c8ff2014-06-21 21:50:17 +0900233 tpm_irq: tpm-irq {
234 samsung,pins = "gpx1-0";
235 samsung,pin-function = <0>;
236 samsung,pin-pud = <0>;
237 samsung,pin-drv = <0>;
238 };
239
240 power_key_irq: power-key-irq {
241 samsung,pins = "gpx1-2";
242 samsung,pin-function = <0>;
243 samsung,pin-pud = <0>;
244 samsung,pin-drv = <0>;
245 };
246
247 dp_hpd_gpio: dp_hpd_gpio {
248 samsung,pins = "gpx2-6";
249 samsung,pin-function = <0>;
250 samsung,pin-pud = <3>;
251 samsung,pin-drv = <0>;
252 };
253
254 hdmi_hpd_irq: hdmi-hpd-irq {
255 samsung,pins = "gpx3-7";
256 samsung,pin-function = <0>;
257 samsung,pin-pud = <1>;
258 samsung,pin-drv = <0>;
Tushar Beheraead39932014-05-17 07:44:10 +0900259 };
260};
261
Tushar Behera522c8ff2014-06-21 21:50:17 +0900262&pinctrl_3 {
263 usb300_vbus_en: usb300-vbus-en {
264 samsung,pins = "gph0-0";
265 samsung,pin-function = <1>;
266 samsung,pin-pud = <0>;
267 samsung,pin-drv = <0>;
268 };
Arun Kumar K3528dd32014-05-09 06:06:25 +0900269
Tushar Behera522c8ff2014-06-21 21:50:17 +0900270 usb301_vbus_en: usb301-vbus-en {
271 samsung,pins = "gph0-1";
272 samsung,pin-function = <1>;
273 samsung,pin-pud = <0>;
274 samsung,pin-drv = <0>;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900275 };
276};
277
Tushar Behera522c8ff2014-06-21 21:50:17 +0900278&rtc {
Rahul Sharma6ac189f2014-05-16 05:23:21 +0900279 status = "okay";
Rahul Sharma6ac189f2014-05-16 05:23:21 +0900280};
281
Tushar Behera522c8ff2014-06-21 21:50:17 +0900282&uart_3 {
Rahul Sharma6ac189f2014-05-16 05:23:21 +0900283 status = "okay";
Rahul Sharma6ac189f2014-05-16 05:23:21 +0900284};
285
Arun Kumar K0ce9f472014-05-31 02:11:39 +0900286&usbdrd_phy0 {
Vivek Gautam14a35ad2014-05-19 22:29:42 +0900287 vbus-supply = <&usb300_vbus_reg>;
288};
289
Arun Kumar K0ce9f472014-05-31 02:11:39 +0900290&usbdrd_phy1 {
Vivek Gautam14a35ad2014-05-19 22:29:42 +0900291 vbus-supply = <&usb301_vbus_reg>;
292};
293
Arun Kumar K3528dd32014-05-09 06:06:25 +0900294/*
295 * Use longest HW watchdog in SoC (32 seconds) since the hardware
296 * watchdog provides no debugging information (compared to soft/hard
297 * lockup detectors) and so should be last resort.
298 */
299&watchdog {
300 timeout-sec = <32>;
301};
Tushar Beheraead39932014-05-17 07:44:10 +0900302