1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * Google Snow board device tree source
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (c) 2012 Google, Inc
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
9724ba675SRob Herring#include <dt-bindings/clock/maxim,max77686.h>
10724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h>
11724ba675SRob Herring#include <dt-bindings/input/input.h>
12724ba675SRob Herring#include <dt-bindings/sound/samsung-i2s.h>
13724ba675SRob Herring#include "exynos5250.dtsi"
14724ba675SRob Herring
15724ba675SRob Herring/ {
16724ba675SRob Herring	aliases {
17724ba675SRob Herring		i2c104 = &i2c_104;
18724ba675SRob Herring		mmc0 = &mmc_0; /* eMMC */
19724ba675SRob Herring		mmc1 = &mmc_2; /* SD */
20724ba675SRob Herring		mmc2 = &mmc_3; /* WiFi */
21724ba675SRob Herring	};
22724ba675SRob Herring
23724ba675SRob Herring	memory@40000000 {
24724ba675SRob Herring		device_type = "memory";
25724ba675SRob Herring		reg = <0x40000000 0x80000000>;
26724ba675SRob Herring	};
27724ba675SRob Herring
28724ba675SRob Herring	chosen {
29724ba675SRob Herring		bootargs = "console=tty1";
30724ba675SRob Herring		stdout-path = "serial3:115200n8";
31724ba675SRob Herring	};
32724ba675SRob Herring
33724ba675SRob Herring	gpio-keys {
34724ba675SRob Herring		compatible = "gpio-keys";
35724ba675SRob Herring		pinctrl-names = "default";
36724ba675SRob Herring		pinctrl-0 = <&power_key_irq &lid_irq>;
37724ba675SRob Herring
38724ba675SRob Herring		power-key {
39724ba675SRob Herring			label = "Power";
40724ba675SRob Herring			gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
41724ba675SRob Herring			linux,code = <KEY_POWER>;
42724ba675SRob Herring			wakeup-source;
43724ba675SRob Herring		};
44724ba675SRob Herring
45724ba675SRob Herring		lid-switch {
46724ba675SRob Herring			label = "Lid";
47724ba675SRob Herring			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
48724ba675SRob Herring			linux,input-type = <5>; /* EV_SW */
49724ba675SRob Herring			linux,code = <0>; /* SW_LID */
50724ba675SRob Herring			debounce-interval = <1>;
51724ba675SRob Herring			wakeup-source;
52724ba675SRob Herring		};
53724ba675SRob Herring	};
54724ba675SRob Herring
55724ba675SRob Herring	vbat: vbat-fixed-regulator {
56724ba675SRob Herring		compatible = "regulator-fixed";
57724ba675SRob Herring		regulator-name = "vbat-supply";
58724ba675SRob Herring		regulator-boot-on;
59724ba675SRob Herring	};
60724ba675SRob Herring
61724ba675SRob Herring	i2c-arbitrator {
62724ba675SRob Herring		compatible = "i2c-arb-gpio-challenge";
63724ba675SRob Herring		#address-cells = <1>;
64724ba675SRob Herring		#size-cells = <0>;
65724ba675SRob Herring
66724ba675SRob Herring		i2c-parent = <&i2c_4>;
67724ba675SRob Herring
68*4f861a9bSKrzysztof Kozlowski		our-claim-gpios = <&gpf0 3 GPIO_ACTIVE_LOW>;
69724ba675SRob Herring		their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
70724ba675SRob Herring		slew-delay-us = <10>;
71724ba675SRob Herring		wait-retry-us = <3000>;
72724ba675SRob Herring		wait-free-us = <50000>;
73724ba675SRob Herring
74724ba675SRob Herring		pinctrl-names = "default";
75724ba675SRob Herring		pinctrl-0 = <&arb_our_claim &arb_their_claim>;
76724ba675SRob Herring
77724ba675SRob Herring		/* Use ID 104 as a hint that we're on physical bus 4 */
78724ba675SRob Herring		i2c_104: i2c@0 {
79724ba675SRob Herring			reg = <0>;
80724ba675SRob Herring			#address-cells = <1>;
81724ba675SRob Herring			#size-cells = <0>;
82724ba675SRob Herring
83724ba675SRob Herring			battery: sbs-battery@b {
84724ba675SRob Herring				compatible = "sbs,sbs-battery";
85724ba675SRob Herring				reg = <0xb>;
86724ba675SRob Herring				sbs,poll-retry-count = <1>;
87724ba675SRob Herring			};
88724ba675SRob Herring
89724ba675SRob Herring			cros_ec: embedded-controller@1e {
90724ba675SRob Herring				compatible = "google,cros-ec-i2c";
91724ba675SRob Herring				reg = <0x1e>;
92724ba675SRob Herring				interrupts = <6 IRQ_TYPE_NONE>;
93724ba675SRob Herring				interrupt-parent = <&gpx1>;
94724ba675SRob Herring				pinctrl-names = "default";
95724ba675SRob Herring				pinctrl-0 = <&ec_irq>;
96724ba675SRob Herring				wakeup-source;
97724ba675SRob Herring			};
98724ba675SRob Herring
99724ba675SRob Herring			power-regulator@48 {
100724ba675SRob Herring				compatible = "ti,tps65090";
101724ba675SRob Herring				reg = <0x48>;
102724ba675SRob Herring
103724ba675SRob Herring				/*
104724ba675SRob Herring				 * Config irq to disable internal pulls
105724ba675SRob Herring				 * even though we run in polling mode.
106724ba675SRob Herring				 */
107724ba675SRob Herring				pinctrl-names = "default";
108724ba675SRob Herring				pinctrl-0 = <&tps65090_irq>;
109724ba675SRob Herring
110724ba675SRob Herring				vsys1-supply = <&vbat>;
111724ba675SRob Herring				vsys2-supply = <&vbat>;
112724ba675SRob Herring				vsys3-supply = <&vbat>;
113724ba675SRob Herring				infet1-supply = <&vbat>;
114724ba675SRob Herring				infet2-supply = <&vbat>;
115724ba675SRob Herring				infet3-supply = <&vbat>;
116724ba675SRob Herring				infet4-supply = <&vbat>;
117724ba675SRob Herring				infet5-supply = <&vbat>;
118724ba675SRob Herring				infet6-supply = <&vbat>;
119724ba675SRob Herring				infet7-supply = <&vbat>;
120724ba675SRob Herring				vsys-l1-supply = <&vbat>;
121724ba675SRob Herring				vsys-l2-supply = <&vbat>;
122724ba675SRob Herring
123724ba675SRob Herring				regulators {
124724ba675SRob Herring					dcdc1 {
125724ba675SRob Herring						ti,enable-ext-control;
126724ba675SRob Herring					};
127724ba675SRob Herring					dcdc2 {
128724ba675SRob Herring						ti,enable-ext-control;
129724ba675SRob Herring					};
130724ba675SRob Herring					dcdc3 {
131724ba675SRob Herring						ti,enable-ext-control;
132724ba675SRob Herring					};
133724ba675SRob Herring					fet1: fet1 {
134724ba675SRob Herring						regulator-name = "vcd_led";
135724ba675SRob Herring						ti,overcurrent-wait = <3>;
136724ba675SRob Herring					};
137724ba675SRob Herring					tps65090_fet2: fet2 {
138724ba675SRob Herring						regulator-name = "video_mid";
139724ba675SRob Herring						regulator-always-on;
140724ba675SRob Herring						ti,overcurrent-wait = <3>;
141724ba675SRob Herring					};
142724ba675SRob Herring					fet3 {
143724ba675SRob Herring						regulator-name = "wwan_r";
144724ba675SRob Herring						regulator-always-on;
145724ba675SRob Herring						ti,overcurrent-wait = <3>;
146724ba675SRob Herring					};
147724ba675SRob Herring					fet4 {
148724ba675SRob Herring						regulator-name = "sdcard";
149724ba675SRob Herring						ti,overcurrent-wait = <3>;
150724ba675SRob Herring					};
151724ba675SRob Herring					fet5 {
152724ba675SRob Herring						regulator-name = "camout";
153724ba675SRob Herring						regulator-always-on;
154724ba675SRob Herring						ti,overcurrent-wait = <3>;
155724ba675SRob Herring					};
156724ba675SRob Herring					fet6: fet6 {
157724ba675SRob Herring						regulator-name = "lcd_vdd";
158724ba675SRob Herring						ti,overcurrent-wait = <3>;
159724ba675SRob Herring					};
160724ba675SRob Herring					tps65090_fet7: fet7 {
161724ba675SRob Herring						regulator-name = "video_mid_1a";
162724ba675SRob Herring						regulator-always-on;
163724ba675SRob Herring						ti,overcurrent-wait = <3>;
164724ba675SRob Herring					};
165724ba675SRob Herring					ldo1 {
166724ba675SRob Herring					};
167724ba675SRob Herring					ldo2 {
168724ba675SRob Herring					};
169724ba675SRob Herring				};
170724ba675SRob Herring
171724ba675SRob Herring				charger {
172724ba675SRob Herring					compatible = "ti,tps65090-charger";
173724ba675SRob Herring				};
174724ba675SRob Herring			};
175724ba675SRob Herring		};
176724ba675SRob Herring	};
177724ba675SRob Herring
178724ba675SRob Herring	sound {
179724ba675SRob Herring		samsung,i2s-controller = <&i2s0>;
180724ba675SRob Herring	};
181724ba675SRob Herring
182724ba675SRob Herring	usb3_vbus_reg: regulator-usb3 {
183724ba675SRob Herring		compatible = "regulator-fixed";
184724ba675SRob Herring		regulator-name = "P5.0V_USB3CON";
185724ba675SRob Herring		regulator-min-microvolt = <5000000>;
186724ba675SRob Herring		regulator-max-microvolt = <5000000>;
187724ba675SRob Herring		gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
188724ba675SRob Herring		pinctrl-names = "default";
189724ba675SRob Herring		pinctrl-0 = <&usb3_vbus_en>;
190724ba675SRob Herring		enable-active-high;
191724ba675SRob Herring	};
192724ba675SRob Herring
193724ba675SRob Herring	fixed-rate-clocks {
194724ba675SRob Herring		xxti {
195724ba675SRob Herring			compatible = "samsung,clock-xxti";
196724ba675SRob Herring			clock-frequency = <24000000>;
197724ba675SRob Herring		};
198724ba675SRob Herring	};
199724ba675SRob Herring
200724ba675SRob Herring	backlight: backlight {
201724ba675SRob Herring		compatible = "pwm-backlight";
202724ba675SRob Herring		pwms = <&pwm 0 1000000 0>;
203724ba675SRob Herring		brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
204724ba675SRob Herring		default-brightness-level = <7>;
205724ba675SRob Herring		enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
206724ba675SRob Herring		power-supply = <&fet1>;
207724ba675SRob Herring		pinctrl-0 = <&pwm0_out>;
208724ba675SRob Herring		pinctrl-names = "default";
209724ba675SRob Herring	};
210724ba675SRob Herring
211724ba675SRob Herring	panel: panel {
212724ba675SRob Herring		compatible = "auo,b116xw03";
213724ba675SRob Herring		power-supply = <&fet6>;
214724ba675SRob Herring		backlight = <&backlight>;
215724ba675SRob Herring
216724ba675SRob Herring		port {
217724ba675SRob Herring			panel_in: endpoint {
218724ba675SRob Herring				remote-endpoint = <&bridge_out>;
219724ba675SRob Herring			};
220724ba675SRob Herring		};
221724ba675SRob Herring	};
222724ba675SRob Herring
223724ba675SRob Herring	mmc3_pwrseq: mmc3-pwrseq {
224724ba675SRob Herring		compatible = "mmc-pwrseq-simple";
225724ba675SRob Herring		reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */
226724ba675SRob Herring			      <&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */
227724ba675SRob Herring		clocks = <&max77686 MAX77686_CLK_PMIC>;
228724ba675SRob Herring		clock-names = "ext_clock";
229724ba675SRob Herring	};
230724ba675SRob Herring};
231724ba675SRob Herring
232724ba675SRob Herring&clock {
233724ba675SRob Herring	assigned-clocks = <&clock CLK_FOUT_EPLL>;
234724ba675SRob Herring	assigned-clock-rates = <49152000>;
235724ba675SRob Herring};
236724ba675SRob Herring
237724ba675SRob Herring&clock_audss {
238724ba675SRob Herring	assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
239724ba675SRob Herring	assigned-clock-parents = <&clock CLK_FOUT_EPLL>;
240724ba675SRob Herring};
241724ba675SRob Herring
242724ba675SRob Herring&cpu0 {
243724ba675SRob Herring	cpu0-supply = <&buck2_reg>;
244724ba675SRob Herring};
245724ba675SRob Herring
246724ba675SRob Herring&dp {
247724ba675SRob Herring	status = "okay";
248724ba675SRob Herring	pinctrl-names = "default";
249724ba675SRob Herring	pinctrl-0 = <&dp_hpd>;
250724ba675SRob Herring	samsung,color-space = <0>;
251724ba675SRob Herring	samsung,color-depth = <1>;
252724ba675SRob Herring	samsung,link-rate = <0x0a>;
253724ba675SRob Herring	samsung,lane-count = <2>;
254724ba675SRob Herring	hpd-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH>;
255724ba675SRob Herring
256724ba675SRob Herring	ports {
257724ba675SRob Herring		port {
258724ba675SRob Herring			dp_out: endpoint {
259724ba675SRob Herring				remote-endpoint = <&bridge_in>;
260724ba675SRob Herring			};
261724ba675SRob Herring		};
262724ba675SRob Herring	};
263724ba675SRob Herring};
264724ba675SRob Herring
265724ba675SRob Herring&ehci {
266724ba675SRob Herring	samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
267724ba675SRob Herring};
268724ba675SRob Herring
269724ba675SRob Herring&fimd {
270724ba675SRob Herring	status = "okay";
271724ba675SRob Herring	samsung,invert-vclk;
272724ba675SRob Herring};
273724ba675SRob Herring
274724ba675SRob Herring&hdmi {
275724ba675SRob Herring	status = "okay";
276724ba675SRob Herring	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
277724ba675SRob Herring	pinctrl-names = "default";
278724ba675SRob Herring	pinctrl-0 = <&hdmi_hpd_irq>;
279724ba675SRob Herring	ddc = <&i2c_2>;
280724ba675SRob Herring	hdmi-en-supply = <&tps65090_fet7>;
281724ba675SRob Herring	vdd-supply = <&ldo8_reg>;
282724ba675SRob Herring	vdd_osc-supply = <&ldo10_reg>;
283724ba675SRob Herring	vdd_pll-supply = <&ldo8_reg>;
284724ba675SRob Herring};
285724ba675SRob Herring
286724ba675SRob Herring&hdmicec {
287724ba675SRob Herring	status = "okay";
288724ba675SRob Herring};
289724ba675SRob Herring
290724ba675SRob Herring&i2c_0 {
291724ba675SRob Herring	status = "okay";
292724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
293724ba675SRob Herring	samsung,i2c-max-bus-freq = <378000>;
294724ba675SRob Herring
295724ba675SRob Herring	max77686: pmic@9 {
296724ba675SRob Herring		compatible = "maxim,max77686";
297724ba675SRob Herring		interrupt-parent = <&gpx3>;
298724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
299724ba675SRob Herring		pinctrl-names = "default";
300724ba675SRob Herring		pinctrl-0 = <&max77686_irq>;
301724ba675SRob Herring		wakeup-source;
302724ba675SRob Herring		reg = <0x09>;
303724ba675SRob Herring		#clock-cells = <1>;
304724ba675SRob Herring
305724ba675SRob Herring		voltage-regulators {
306724ba675SRob Herring			ldo1_reg: LDO1 {
307724ba675SRob Herring				regulator-name = "P1.0V_LDO_OUT1";
308724ba675SRob Herring				regulator-min-microvolt = <1000000>;
309724ba675SRob Herring				regulator-max-microvolt = <1000000>;
310724ba675SRob Herring				regulator-always-on;
311724ba675SRob Herring			};
312724ba675SRob Herring
313724ba675SRob Herring			ldo2_reg: LDO2 {
314724ba675SRob Herring				regulator-name = "P1.8V_LDO_OUT2";
315724ba675SRob Herring				regulator-min-microvolt = <1800000>;
316724ba675SRob Herring				regulator-max-microvolt = <1800000>;
317724ba675SRob Herring				regulator-always-on;
318724ba675SRob Herring			};
319724ba675SRob Herring
320724ba675SRob Herring			ldo3_reg: LDO3 {
321724ba675SRob Herring				regulator-name = "P1.8V_LDO_OUT3";
322724ba675SRob Herring				regulator-min-microvolt = <1800000>;
323724ba675SRob Herring				regulator-max-microvolt = <1800000>;
324724ba675SRob Herring				regulator-always-on;
325724ba675SRob Herring			};
326724ba675SRob Herring
327724ba675SRob Herring			ldo7_reg: LDO7 {
328724ba675SRob Herring				regulator-name = "P1.1V_LDO_OUT7";
329724ba675SRob Herring				regulator-min-microvolt = <1100000>;
330724ba675SRob Herring				regulator-max-microvolt = <1100000>;
331724ba675SRob Herring				regulator-always-on;
332724ba675SRob Herring			};
333724ba675SRob Herring
334724ba675SRob Herring			ldo8_reg: LDO8 {
335724ba675SRob Herring				regulator-name = "P1.0V_LDO_OUT8";
336724ba675SRob Herring				regulator-min-microvolt = <1000000>;
337724ba675SRob Herring				regulator-max-microvolt = <1000000>;
338724ba675SRob Herring				regulator-always-on;
339724ba675SRob Herring			};
340724ba675SRob Herring
341724ba675SRob Herring			ldo10_reg: LDO10 {
342724ba675SRob Herring				regulator-name = "P1.8V_LDO_OUT10";
343724ba675SRob Herring				regulator-min-microvolt = <1800000>;
344724ba675SRob Herring				regulator-max-microvolt = <1800000>;
345724ba675SRob Herring				regulator-always-on;
346724ba675SRob Herring			};
347724ba675SRob Herring
348724ba675SRob Herring			ldo12_reg: LDO12 {
349724ba675SRob Herring				regulator-name = "P3.0V_LDO_OUT12";
350724ba675SRob Herring				regulator-min-microvolt = <3000000>;
351724ba675SRob Herring				regulator-max-microvolt = <3000000>;
352724ba675SRob Herring				regulator-always-on;
353724ba675SRob Herring			};
354724ba675SRob Herring
355724ba675SRob Herring			ldo14_reg: LDO14 {
356724ba675SRob Herring				regulator-name = "P1.8V_LDO_OUT14";
357724ba675SRob Herring				regulator-min-microvolt = <1800000>;
358724ba675SRob Herring				regulator-max-microvolt = <1800000>;
359724ba675SRob Herring				regulator-always-on;
360724ba675SRob Herring			};
361724ba675SRob Herring
362724ba675SRob Herring			ldo15_reg: LDO15 {
363724ba675SRob Herring				regulator-name = "P1.0V_LDO_OUT15";
364724ba675SRob Herring				regulator-min-microvolt = <1000000>;
365724ba675SRob Herring				regulator-max-microvolt = <1000000>;
366724ba675SRob Herring				regulator-always-on;
367724ba675SRob Herring			};
368724ba675SRob Herring
369724ba675SRob Herring			ldo16_reg: LDO16 {
370724ba675SRob Herring				regulator-name = "P1.8V_LDO_OUT16";
371724ba675SRob Herring				regulator-min-microvolt = <1800000>;
372724ba675SRob Herring				regulator-max-microvolt = <1800000>;
373724ba675SRob Herring				regulator-always-on;
374724ba675SRob Herring			};
375724ba675SRob Herring
376724ba675SRob Herring			buck1_reg: BUCK1 {
377724ba675SRob Herring				regulator-name = "vdd_mif";
378724ba675SRob Herring				regulator-min-microvolt = <950000>;
379724ba675SRob Herring				regulator-max-microvolt = <1300000>;
380724ba675SRob Herring				regulator-always-on;
381724ba675SRob Herring				regulator-boot-on;
382724ba675SRob Herring			};
383724ba675SRob Herring
384724ba675SRob Herring			buck2_reg: BUCK2 {
385724ba675SRob Herring				regulator-name = "vdd_arm";
386724ba675SRob Herring				regulator-min-microvolt = <850000>;
387724ba675SRob Herring				regulator-max-microvolt = <1350000>;
388724ba675SRob Herring				regulator-always-on;
389724ba675SRob Herring				regulator-boot-on;
390724ba675SRob Herring			};
391724ba675SRob Herring
392724ba675SRob Herring			buck3_reg: BUCK3 {
393724ba675SRob Herring				regulator-name = "vdd_int";
394724ba675SRob Herring				regulator-min-microvolt = <900000>;
395724ba675SRob Herring				regulator-max-microvolt = <1200000>;
396724ba675SRob Herring				regulator-always-on;
397724ba675SRob Herring				regulator-boot-on;
398724ba675SRob Herring			};
399724ba675SRob Herring
400724ba675SRob Herring			buck4_reg: BUCK4 {
401724ba675SRob Herring				regulator-name = "vdd_g3d";
402724ba675SRob Herring				regulator-min-microvolt = <850000>;
403724ba675SRob Herring				regulator-max-microvolt = <1300000>;
404724ba675SRob Herring				regulator-always-on;
405724ba675SRob Herring				regulator-boot-on;
406724ba675SRob Herring			};
407724ba675SRob Herring
408724ba675SRob Herring			buck5_reg: BUCK5 {
409724ba675SRob Herring				regulator-name = "P1.8V_BUCK_OUT5";
410724ba675SRob Herring				regulator-min-microvolt = <1800000>;
411724ba675SRob Herring				regulator-max-microvolt = <1800000>;
412724ba675SRob Herring				regulator-always-on;
413724ba675SRob Herring				regulator-boot-on;
414724ba675SRob Herring			};
415724ba675SRob Herring
416724ba675SRob Herring			buck6_reg: BUCK6 {
417724ba675SRob Herring				regulator-name = "P1.35V_BUCK_OUT6";
418724ba675SRob Herring				regulator-min-microvolt = <1350000>;
419724ba675SRob Herring				regulator-max-microvolt = <1350000>;
420724ba675SRob Herring				regulator-always-on;
421724ba675SRob Herring			};
422724ba675SRob Herring
423724ba675SRob Herring			buck7_reg: BUCK7 {
424724ba675SRob Herring				regulator-name = "P2.0V_BUCK_OUT7";
425724ba675SRob Herring				regulator-min-microvolt = <2000000>;
426724ba675SRob Herring				regulator-max-microvolt = <2000000>;
427724ba675SRob Herring				regulator-always-on;
428724ba675SRob Herring			};
429724ba675SRob Herring
430724ba675SRob Herring			buck8_reg: BUCK8 {
431724ba675SRob Herring				regulator-name = "P2.85V_BUCK_OUT8";
432724ba675SRob Herring				regulator-min-microvolt = <2850000>;
433724ba675SRob Herring				regulator-max-microvolt = <2850000>;
434724ba675SRob Herring				regulator-always-on;
435724ba675SRob Herring			};
436724ba675SRob Herring		};
437724ba675SRob Herring	};
438724ba675SRob Herring};
439724ba675SRob Herring
440724ba675SRob Herring&i2c_1 {
441724ba675SRob Herring	status = "okay";
442724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
443724ba675SRob Herring	samsung,i2c-max-bus-freq = <378000>;
444724ba675SRob Herring
445724ba675SRob Herring	trackpad@67 {
446724ba675SRob Herring		reg = <0x67>;
447724ba675SRob Herring		compatible = "cypress,cyapa";
448724ba675SRob Herring		interrupts = <2 IRQ_TYPE_NONE>;
449724ba675SRob Herring		interrupt-parent = <&gpx1>;
450724ba675SRob Herring		wakeup-source;
451724ba675SRob Herring	};
452724ba675SRob Herring};
453724ba675SRob Herring
454724ba675SRob Herring/*
455724ba675SRob Herring * Disabled pullups since external part has its own pullups and
456724ba675SRob Herring * double-pulling gets us out of spec in some cases.
457724ba675SRob Herring */
458724ba675SRob Herring&i2c2_bus {
459724ba675SRob Herring	samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
460724ba675SRob Herring};
461724ba675SRob Herring
462724ba675SRob Herring&i2c_2 {
463724ba675SRob Herring	status = "okay";
464724ba675SRob Herring	/* used by HDMI DDC */
465724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
466724ba675SRob Herring	samsung,i2c-max-bus-freq = <66000>;
467724ba675SRob Herring};
468724ba675SRob Herring
469724ba675SRob Herring&i2c_3 {
470724ba675SRob Herring	status = "okay";
471724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
472724ba675SRob Herring	samsung,i2c-max-bus-freq = <66000>;
473724ba675SRob Herring};
474724ba675SRob Herring
475724ba675SRob Herring&i2c_4 {
476724ba675SRob Herring	status = "okay";
477724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
478724ba675SRob Herring	samsung,i2c-max-bus-freq = <66000>;
479724ba675SRob Herring};
480724ba675SRob Herring
481724ba675SRob Herring&i2c_5 {
482724ba675SRob Herring	status = "okay";
483724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
484724ba675SRob Herring	samsung,i2c-max-bus-freq = <66000>;
485724ba675SRob Herring};
486724ba675SRob Herring
487724ba675SRob Herring&i2c_7 {
488724ba675SRob Herring	status = "okay";
489724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
490724ba675SRob Herring	samsung,i2c-max-bus-freq = <66000>;
491724ba675SRob Herring
492724ba675SRob Herring	ptn3460: lvds-bridge@20 {
493724ba675SRob Herring		compatible = "nxp,ptn3460";
494724ba675SRob Herring		reg = <0x20>;
495724ba675SRob Herring		powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
496724ba675SRob Herring		reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
497724ba675SRob Herring		edid-emulation = <5>;
498724ba675SRob Herring
499724ba675SRob Herring		ports {
500724ba675SRob Herring			#address-cells = <1>;
501724ba675SRob Herring			#size-cells = <0>;
502724ba675SRob Herring
503724ba675SRob Herring			port@0 {
504724ba675SRob Herring				reg = <0>;
505724ba675SRob Herring
506724ba675SRob Herring				bridge_out: endpoint {
507724ba675SRob Herring					remote-endpoint = <&panel_in>;
508724ba675SRob Herring				};
509724ba675SRob Herring			};
510724ba675SRob Herring
511724ba675SRob Herring			port@1 {
512724ba675SRob Herring				reg = <1>;
513724ba675SRob Herring
514724ba675SRob Herring				bridge_in: endpoint {
515724ba675SRob Herring					remote-endpoint = <&dp_out>;
516724ba675SRob Herring				};
517724ba675SRob Herring			};
518724ba675SRob Herring		};
519724ba675SRob Herring	};
520724ba675SRob Herring};
521724ba675SRob Herring
522724ba675SRob Herring&i2c_8 {
523724ba675SRob Herring	status = "okay";
524724ba675SRob Herring	/* used by HDMI PHY */
525724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
526724ba675SRob Herring	samsung,i2c-max-bus-freq = <378000>;
527724ba675SRob Herring};
528724ba675SRob Herring
529724ba675SRob Herring&i2s0 {
530724ba675SRob Herring	assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
531724ba675SRob Herring	assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
532724ba675SRob Herring	status = "okay";
533724ba675SRob Herring};
534724ba675SRob Herring
535724ba675SRob Herring&mali {
536724ba675SRob Herring	mali-supply = <&buck4_reg>;
537724ba675SRob Herring	status = "okay";
538724ba675SRob Herring};
539724ba675SRob Herring
540724ba675SRob Herring&mixer {
541724ba675SRob Herring	status = "okay";
542724ba675SRob Herring};
543724ba675SRob Herring
544724ba675SRob Herring/* eMMC flash */
545724ba675SRob Herring&mmc_0 {
546724ba675SRob Herring	status = "okay";
547724ba675SRob Herring	non-removable;
548724ba675SRob Herring	samsung,dw-mshc-ciu-div = <3>;
549724ba675SRob Herring	samsung,dw-mshc-sdr-timing = <2 3>;
550724ba675SRob Herring	samsung,dw-mshc-ddr-timing = <1 2>;
551724ba675SRob Herring	pinctrl-names = "default";
552724ba675SRob Herring	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
553724ba675SRob Herring	bus-width = <8>;
554724ba675SRob Herring	cap-mmc-highspeed;
555724ba675SRob Herring	mmc-ddr-1_8v;
556724ba675SRob Herring};
557724ba675SRob Herring
558724ba675SRob Herring/* uSD card */
559724ba675SRob Herring&mmc_2 {
560724ba675SRob Herring	status = "okay";
561724ba675SRob Herring	card-detect-delay = <200>;
562724ba675SRob Herring	samsung,dw-mshc-ciu-div = <3>;
563724ba675SRob Herring	samsung,dw-mshc-sdr-timing = <2 3>;
564724ba675SRob Herring	samsung,dw-mshc-ddr-timing = <1 2>;
565724ba675SRob Herring	pinctrl-names = "default";
566724ba675SRob Herring	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
567724ba675SRob Herring	bus-width = <4>;
568724ba675SRob Herring	wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>;
569724ba675SRob Herring	cap-sd-highspeed;
570724ba675SRob Herring};
571724ba675SRob Herring
572724ba675SRob Herring/*
573724ba675SRob Herring * On Snow we've got SIP WiFi and so can keep drive strengths low to
574724ba675SRob Herring * reduce EMI.
575724ba675SRob Herring *
576724ba675SRob Herring * WiFi SDIO module
577724ba675SRob Herring */
578724ba675SRob Herring&mmc_3 {
579724ba675SRob Herring	status = "okay";
580724ba675SRob Herring	non-removable;
581724ba675SRob Herring	cap-sdio-irq;
582724ba675SRob Herring	keep-power-in-suspend;
583724ba675SRob Herring	samsung,dw-mshc-ciu-div = <3>;
584724ba675SRob Herring	samsung,dw-mshc-sdr-timing = <2 3>;
585724ba675SRob Herring	samsung,dw-mshc-ddr-timing = <1 2>;
586724ba675SRob Herring	pinctrl-names = "default";
587724ba675SRob Herring	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>;
588724ba675SRob Herring	bus-width = <4>;
589724ba675SRob Herring	cap-sd-highspeed;
590724ba675SRob Herring	mmc-pwrseq = <&mmc3_pwrseq>;
591724ba675SRob Herring};
592724ba675SRob Herring
593724ba675SRob Herring&pinctrl_0 {
594724ba675SRob Herring	wifi_en: wifi-en-pins {
595724ba675SRob Herring		samsung,pins = "gpx0-1";
596724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
597724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
598724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
599724ba675SRob Herring	};
600724ba675SRob Herring
601724ba675SRob Herring	wifi_rst: wifi-rst-pins {
602724ba675SRob Herring		samsung,pins = "gpx0-2";
603724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
604724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
605724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
606724ba675SRob Herring	};
607724ba675SRob Herring
608724ba675SRob Herring	power_key_irq: power-key-irq-pins {
609724ba675SRob Herring		samsung,pins = "gpx1-3";
610724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
611724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
612724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
613724ba675SRob Herring	};
614724ba675SRob Herring
615724ba675SRob Herring	ec_irq: ec-irq-pins {
616724ba675SRob Herring		samsung,pins = "gpx1-6";
617724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
618724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
619724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
620724ba675SRob Herring	};
621724ba675SRob Herring
622724ba675SRob Herring	tps65090_irq: tps65090-irq-pins {
623724ba675SRob Herring		samsung,pins = "gpx2-6";
624724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
625724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
626724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
627724ba675SRob Herring	};
628724ba675SRob Herring
629724ba675SRob Herring	usb3_vbus_en: usb3-vbus-en-pins {
630724ba675SRob Herring		samsung,pins = "gpx2-7";
631724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
632724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
633724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
634724ba675SRob Herring	};
635724ba675SRob Herring
636724ba675SRob Herring	max77686_irq: max77686-irq-pins {
637724ba675SRob Herring		samsung,pins = "gpx3-2";
638724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
639724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
640724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
641724ba675SRob Herring	};
642724ba675SRob Herring
643724ba675SRob Herring	lid_irq: lid-irq-pins {
644724ba675SRob Herring		samsung,pins = "gpx3-5";
645724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
646724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
647724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
648724ba675SRob Herring	};
649724ba675SRob Herring
650724ba675SRob Herring	hdmi_hpd_irq: hdmi-hpd-irq-pins {
651724ba675SRob Herring		samsung,pins = "gpx3-7";
652724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
653724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
654724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
655724ba675SRob Herring	};
656724ba675SRob Herring};
657724ba675SRob Herring
658724ba675SRob Herring&pinctrl_1 {
659724ba675SRob Herring	arb_their_claim: arb-their-claim-pins {
660724ba675SRob Herring		samsung,pins = "gpe0-4";
661724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
662724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
663724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
664724ba675SRob Herring	};
665724ba675SRob Herring
666724ba675SRob Herring	arb_our_claim: arb-our-claim-pins {
667724ba675SRob Herring		samsung,pins = "gpf0-3";
668724ba675SRob Herring		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
669724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
670724ba675SRob Herring		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
671724ba675SRob Herring	};
672724ba675SRob Herring};
673724ba675SRob Herring
674724ba675SRob Herring&pmu_system_controller {
675724ba675SRob Herring	assigned-clocks = <&pmu_system_controller 0>;
676724ba675SRob Herring	assigned-clock-parents = <&clock CLK_FIN_PLL>;
677724ba675SRob Herring};
678724ba675SRob Herring
679724ba675SRob Herring&rtc {
680724ba675SRob Herring	status = "okay";
681724ba675SRob Herring	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
682724ba675SRob Herring	clock-names = "rtc", "rtc_src";
683724ba675SRob Herring};
684724ba675SRob Herring
685724ba675SRob Herring&sd3_bus4 {
686724ba675SRob Herring	samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
687724ba675SRob Herring};
688724ba675SRob Herring
689724ba675SRob Herring&sd3_clk {
690724ba675SRob Herring	samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
691724ba675SRob Herring};
692724ba675SRob Herring
693724ba675SRob Herring&sd3_cmd {
694724ba675SRob Herring	samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
695724ba675SRob Herring	samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
696724ba675SRob Herring};
697724ba675SRob Herring
698724ba675SRob Herring&spi_1 {
699724ba675SRob Herring	status = "okay";
700724ba675SRob Herring	samsung,spi-src-clk = <0>;
701724ba675SRob Herring	num-cs = <1>;
702724ba675SRob Herring	cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
703724ba675SRob Herring};
704724ba675SRob Herring
705724ba675SRob Herring&usbdrd {
706724ba675SRob Herring	vdd10-supply = <&ldo15_reg>;
707724ba675SRob Herring	vdd33-supply = <&ldo12_reg>;
708724ba675SRob Herring};
709724ba675SRob Herring
710724ba675SRob Herring&usbdrd_dwc3 {
711724ba675SRob Herring	dr_mode = "host";
712724ba675SRob Herring};
713724ba675SRob Herring
714724ba675SRob Herring&usbdrd_phy {
715724ba675SRob Herring	vbus-supply = <&usb3_vbus_reg>;
716724ba675SRob Herring};
717724ba675SRob Herring
718724ba675SRob Herring#include "../cros-ec-keyboard.dtsi"
719