blob: 7bd2df1364c2b7d15afa18569118410e8121c59f [file] [log] [blame]
Doug Anderson95e82942012-11-21 13:32:21 +09001/*
2 * Google Snow board device tree source
3 *
4 * Copyright (c) 2012 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/;
Padmavathi Venna37992792013-06-18 00:02:08 +090012#include "exynos5250.dtsi"
Mark Browna22d0602013-12-21 10:09:25 +090013#include "exynos5250-cros-common.dtsi"
Doug Anderson95e82942012-11-21 13:32:21 +090014
15/ {
16 model = "Google Snow";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090017 compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";
Doug Anderson95e82942012-11-21 13:32:21 +090018
Doug Anderson97a4a1b2013-04-16 16:29:01 +000019 aliases {
20 i2c104 = &i2c_104;
21 };
22
Sachin Kamat65cedf02014-02-24 08:47:28 +090023 rtc@101E0000 {
24 status = "okay";
25 };
26
Thomas Abrahamf8bfe2b2013-04-04 14:16:11 +090027 pinctrl@11400000 {
Doug Andersonecad1592014-05-16 05:16:11 +090028 ec_irq: ec-irq {
29 samsung,pins = "gpx1-6";
30 samsung,pin-function = <0>;
31 samsung,pin-pud = <0>;
32 samsung,pin-drv = <0>;
33 };
34
Thomas Abrahamf8bfe2b2013-04-04 14:16:11 +090035 sd3_clk: sd3-clk {
36 samsung,pin-drv = <0>;
37 };
38
39 sd3_cmd: sd3-cmd {
40 samsung,pin-pud = <3>;
41 samsung,pin-drv = <0>;
42 };
43
44 sd3_bus4: sd3-bus-width4 {
45 samsung,pin-drv = <0>;
46 };
Doug Andersonb16be762014-05-16 05:16:14 +090047
Tushar Behera80f78ad2014-05-17 07:43:18 +090048 max98095_en: max98095-en {
49 samsung,pins = "gpx1-7";
50 samsung,pin-function = <0>;
51 samsung,pin-pud = <3>;
52 samsung,pin-drv = <0>;
53 };
54
Doug Andersonb16be762014-05-16 05:16:14 +090055 tps65090_irq: tps65090-irq {
56 samsung,pins = "gpx2-6";
57 samsung,pin-function = <0>;
58 samsung,pin-pud = <0>;
59 samsung,pin-drv = <0>;
60 };
Rahul Sharma2e747d62014-05-16 05:22:41 +090061
Vivek Gautama491ae62014-05-19 22:23:43 +090062 usb3_vbus_en: usb3-vbus-en {
63 samsung,pins = "gpx2-7";
64 samsung,pin-function = <1>;
65 samsung,pin-pud = <0>;
66 samsung,pin-drv = <0>;
67 };
68
Rahul Sharma2e747d62014-05-16 05:22:41 +090069 hdmi_hpd_irq: hdmi-hpd-irq {
70 samsung,pins = "gpx3-7";
71 samsung,pin-function = <0>;
72 samsung,pin-pud = <1>;
73 samsung,pin-drv = <0>;
74 };
Thomas Abrahamf8bfe2b2013-04-04 14:16:11 +090075 };
76
Doug Andersonf9357e92014-05-16 05:16:07 +090077 pinctrl@13400000 {
78 arb_their_claim: arb-their-claim {
79 samsung,pins = "gpe0-4";
80 samsung,pin-function = <0>;
81 samsung,pin-pud = <3>;
82 samsung,pin-drv = <0>;
83 };
84
85 arb_our_claim: arb-our-claim {
86 samsung,pins = "gpf0-3";
87 samsung,pin-function = <1>;
88 samsung,pin-pud = <0>;
89 samsung,pin-drv = <0>;
90 };
91 };
92
Doug Anderson95e82942012-11-21 13:32:21 +090093 gpio-keys {
94 compatible = "gpio-keys";
95
96 lid-switch {
97 label = "Lid";
Thomas Abrahamf8bfe2b2013-04-04 14:16:11 +090098 gpios = <&gpx3 5 1>;
Doug Anderson95e82942012-11-21 13:32:21 +090099 linux,input-type = <5>; /* EV_SW */
100 linux,code = <0>; /* SW_LID */
101 debounce-interval = <1>;
102 gpio-key,wakeup;
103 };
104 };
105
Doug Andersonb16be762014-05-16 05:16:14 +0900106 vbat: vbat-fixed-regulator {
107 compatible = "regulator-fixed";
108 regulator-name = "vbat-supply";
109 regulator-boot-on;
110 };
111
Doug Anderson97a4a1b2013-04-16 16:29:01 +0000112 i2c-arbitrator {
113 compatible = "i2c-arb-gpio-challenge";
114 #address-cells = <1>;
115 #size-cells = <0>;
116
117 i2c-parent = <&{/i2c@12CA0000}>;
118
119 our-claim-gpio = <&gpf0 3 1>;
120 their-claim-gpios = <&gpe0 4 1>;
121 slew-delay-us = <10>;
122 wait-retry-us = <3000>;
123 wait-free-us = <50000>;
124
Doug Andersonf9357e92014-05-16 05:16:07 +0900125 pinctrl-names = "default";
126 pinctrl-0 = <&arb_our_claim &arb_their_claim>;
127
Doug Anderson97a4a1b2013-04-16 16:29:01 +0000128 /* Use ID 104 as a hint that we're on physical bus 4 */
129 i2c_104: i2c@0 {
130 reg = <0>;
131 #address-cells = <1>;
132 #size-cells = <0>;
Doug Anderson61d4f052013-04-16 16:29:02 +0000133
134 battery: sbs-battery@b {
135 compatible = "sbs,sbs-battery";
136 reg = <0xb>;
137 sbs,poll-retry-count = <1>;
138 };
Olof Johanssona4591dc2013-04-27 15:14:10 -0700139
Doug Anderson1a395e32014-06-04 15:20:20 -0700140 cros_ec: embedded-controller {
Olof Johanssona4591dc2013-04-27 15:14:10 -0700141 compatible = "google,cros-ec-i2c";
142 reg = <0x1e>;
143 interrupts = <6 0>;
144 interrupt-parent = <&gpx1>;
Doug Andersonecad1592014-05-16 05:16:11 +0900145 pinctrl-names = "default";
146 pinctrl-0 = <&ec_irq>;
Olof Johanssona4591dc2013-04-27 15:14:10 -0700147 wakeup-source;
Olof Johanssona4591dc2013-04-27 15:14:10 -0700148 };
Doug Andersonb16be762014-05-16 05:16:14 +0900149
150 power-regulator {
151 compatible = "ti,tps65090";
152 reg = <0x48>;
153
154 /*
155 * Config irq to disable internal pulls
156 * even though we run in polling mode.
157 */
158 pinctrl-names = "default";
159 pinctrl-0 = <&tps65090_irq>;
160
161 vsys1-supply = <&vbat>;
162 vsys2-supply = <&vbat>;
163 vsys3-supply = <&vbat>;
164 infet1-supply = <&vbat>;
165 infet2-supply = <&vbat>;
166 infet3-supply = <&vbat>;
167 infet4-supply = <&vbat>;
168 infet5-supply = <&vbat>;
169 infet6-supply = <&vbat>;
170 infet7-supply = <&vbat>;
171 vsys-l1-supply = <&vbat>;
172 vsys-l2-supply = <&vbat>;
173
174 regulators {
175 dcdc1 {
176 ti,enable-ext-control;
177 };
178 dcdc2 {
179 ti,enable-ext-control;
180 };
181 dcdc3 {
182 ti,enable-ext-control;
183 };
184 fet1 {
185 regulator-name = "vcd_led";
186 ti,overcurrent-wait = <3>;
187 };
188 tps65090_fet2: fet2 {
189 regulator-name = "video_mid";
190 regulator-always-on;
191 ti,overcurrent-wait = <3>;
192 };
193 fet3 {
194 regulator-name = "wwan_r";
195 regulator-always-on;
196 ti,overcurrent-wait = <3>;
197 };
198 fet4 {
199 regulator-name = "sdcard";
200 ti,overcurrent-wait = <3>;
201 };
202 fet5 {
203 regulator-name = "camout";
204 regulator-always-on;
205 ti,overcurrent-wait = <3>;
206 };
207 fet6 {
208 regulator-name = "lcd_vdd";
209 ti,overcurrent-wait = <3>;
210 };
211 tps65090_fet7: fet7 {
212 regulator-name = "video_mid_1a";
213 regulator-always-on;
214 ti,overcurrent-wait = <3>;
215 };
216 ldo1 {
217 };
218 ldo2 {
219 };
220 };
221
222 charger {
223 compatible = "ti,tps65090-charger";
224 };
225 };
Doug Anderson97a4a1b2013-04-16 16:29:01 +0000226 };
227 };
228
Yuvaraj Kumar C De8dd3ee2013-12-19 04:31:19 +0900229 mmc@12200000 {
230 status = "okay";
231 };
232
233 mmc@12220000 {
234 status = "okay";
235 };
236
Doug Anderson95e82942012-11-21 13:32:21 +0900237 /*
238 * On Snow we've got SIP WiFi and so can keep drive strengths low to
239 * reduce EMI.
240 */
Yuvaraj Kumar C Dc8149df2013-10-21 05:48:16 +0900241 mmc@12230000 {
Yuvaraj Kumar C De8dd3ee2013-12-19 04:31:19 +0900242 status = "okay";
Doug Anderson95e82942012-11-21 13:32:21 +0900243 slot@0 {
Thomas Abrahamf8bfe2b2013-04-04 14:16:11 +0900244 pinctrl-names = "default";
245 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
Doug Anderson95e82942012-11-21 13:32:21 +0900246 };
247 };
Vivek Gautam13cbd1e2013-02-12 15:24:15 -0800248
Tushar Behera80f78ad2014-05-17 07:43:18 +0900249 i2c@12CD0000 {
250 max98095: codec@11 {
251 compatible = "maxim,max98095";
252 reg = <0x11>;
253 pinctrl-0 = <&max98095_en>;
254 pinctrl-names = "default";
255 };
256 };
257
258 i2s0: i2s@03830000 {
259 status = "okay";
260 };
261
262 sound {
263 compatible = "google,snow-audio-max98095";
264
265 samsung,i2s-controller = <&i2s0>;
266 samsung,audio-codec = <&max98095>;
267 };
268
Vivek Gautama491ae62014-05-19 22:23:43 +0900269 usb3_vbus_reg: regulator-usb3 {
270 compatible = "regulator-fixed";
271 regulator-name = "P5.0V_USB3CON";
272 regulator-min-microvolt = <5000000>;
273 regulator-max-microvolt = <5000000>;
274 gpio = <&gpx2 7 0>;
275 pinctrl-names = "default";
276 pinctrl-0 = <&usb3_vbus_en>;
277 enable-active-high;
278 };
279
280 phy@12100000 {
281 vbus-supply = <&usb3_vbus_reg>;
282 };
283
Vivek Gautam13cbd1e2013-02-12 15:24:15 -0800284 usb@12110000 {
Doug Andersonc58c1a42013-05-08 10:37:16 -0700285 samsung,vbus-gpio = <&gpx1 1 0>;
Vivek Gautam13cbd1e2013-02-12 15:24:15 -0800286 };
Thomas Abraham8b6076d2013-03-09 17:19:22 +0900287
288 fixed-rate-clocks {
289 xxti {
290 compatible = "samsung,clock-xxti";
291 clock-frequency = <24000000>;
292 };
293 };
Rahul Sharma2e747d62014-05-16 05:22:41 +0900294
295 hdmi {
296 hdmi-en-supply = <&tps65090_fet7>;
297 vdd-supply = <&ldo8_reg>;
298 vdd_osc-supply = <&ldo10_reg>;
299 vdd_pll-supply = <&ldo8_reg>;
300 };
Ajay Kumar62ffa702014-05-19 22:38:18 +0900301
302 backlight {
303 compatible = "pwm-backlight";
304 pwms = <&pwm 0 1000000 0>;
305 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
306 default-brightness-level = <7>;
307 pinctrl-0 = <&pwm0_out>;
308 pinctrl-names = "default";
309 };
310
Rahul Sharma2f026232014-05-19 22:56:49 +0900311 fimd@14400000 {
312 status = "okay";
313 samsung,invert-vclk;
314 };
Rahul Sharma077054a2014-05-19 22:58:47 +0900315
316 dp-controller@145B0000 {
317 status = "okay";
318 pinctrl-names = "default";
319 pinctrl-0 = <&dp_hpd>;
320 samsung,color-space = <0>;
321 samsung,dynamic-range = <0>;
322 samsung,ycbcr-coeff = <0>;
323 samsung,color-depth = <1>;
324 samsung,link-rate = <0x0a>;
325 samsung,lane-count = <2>;
326 samsung,hpd-gpio = <&gpx0 7 0>;
327
328 display-timings {
329 native-mode = <&timing1>;
330
331 timing1: timing@1 {
332 clock-frequency = <70589280>;
333 hactive = <1366>;
334 vactive = <768>;
335 hfront-porch = <40>;
336 hback-porch = <40>;
337 hsync-len = <32>;
338 vback-porch = <10>;
339 vfront-porch = <12>;
340 vsync-len = <6>;
341 };
342 };
343 };
Doug Anderson95e82942012-11-21 13:32:21 +0900344};
Doug Anderson1a395e32014-06-04 15:20:20 -0700345
346#include "cros-ec-keyboard.dtsi"