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