xref: /rk3399_rockchip-uboot/arch/arm/dts/exynos5250-snow.dts (revision 151b223b9c4e309d65166558afdfa0ce3c3b3213)
1/*
2 * SAMSUNG Snow board device tree source
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 *		http://www.samsung.com
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12/dts-v1/;
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/input/input.h>
16#include "exynos5250.dtsi"
17
18/ {
19	model = "Google Snow";
20	compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";
21
22	aliases {
23		i2c0 = "/i2c@12C60000";
24		i2c1 = "/i2c@12C70000";
25		i2c2 = "/i2c@12C80000";
26		i2c3 = "/i2c@12C90000";
27		i2c4 = "/i2c@12CA0000";
28		i2c104 = &i2c_104;
29		i2c5 = "/i2c@12CB0000";
30		i2c6 = "/i2c@12CC0000";
31		i2c7 = "/i2c@12CD0000";
32		spi0 = "/spi@12d20000";
33		spi1 = "/spi@12d30000";
34		spi2 = "/spi@12d40000";
35		spi3 = "/spi@131a0000";
36		spi4 = "/spi@131b0000";
37		mmc0 = "/mmc@12200000";
38		mmc1 = "/mmc@12210000";
39		mmc2 = "/mmc@12220000";
40		mmc3 = "/mmc@12230000";
41		serial0 = "/serial@12C30000";
42		console = "/serial@12C30000";
43		i2s = "/sound@3830000";
44	};
45
46	i2c4: i2c@12CA0000 {
47		cros_ec_old: cros-ec@1e {
48			reg = <0x1e>;
49			compatible = "google,cros-ec-i2c";
50			i2c-max-frequency = <100000>;
51			u-boot,i2c-offset-len = <0>;
52			ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
53		};
54
55		power-regulator@48 {
56			compatible = "ti,tps65090";
57			reg = <0x48>;
58		};
59	};
60
61	i2c-arbitrator {
62		compatible = "i2c-arb-gpio-challenge";
63		#address-cells = <1>;
64		#size-cells = <0>;
65
66		i2c-parent = <&{/i2c@12CA0000}>;
67
68		our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
69		their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
70		slew-delay-us = <10>;
71		wait-retry-us = <3000>;
72		wait-free-us = <50000>;
73
74		/* Use ID 104 as a hint that we're on physical bus 4 */
75		i2c_104: i2c@0 {
76			reg = <0>;
77			#address-cells = <1>;
78			#size-cells = <0>;
79
80			battery: sbs-battery@b {
81				compatible = "sbs,sbs-battery";
82				reg = <0xb>;
83				sbs,poll-retry-count = <1>;
84			};
85
86			cros_ec: embedded-controller {
87				compatible = "google,cros-ec-i2c";
88				reg = <0x1e>;
89				interrupts = <6 IRQ_TYPE_NONE>;
90				interrupt-parent = <&gpx1>;
91				wakeup-source;
92				i2c-max-frequency = <100000>;
93				u-boot,i2c-offset-len = <0>;
94				ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
95			};
96
97			power-regulator {
98				compatible = "ti,tps65090";
99				reg = <0x48>;
100
101				regulators {
102					dcdc1 {
103						ti,enable-ext-control;
104					};
105					dcdc2 {
106						ti,enable-ext-control;
107					};
108					dcdc3 {
109						ti,enable-ext-control;
110					};
111					fet1: fet1 {
112						regulator-name = "vcd_led";
113						ti,overcurrent-wait = <3>;
114					};
115					tps65090_fet2: fet2 {
116						regulator-name = "video_mid";
117						regulator-always-on;
118						ti,overcurrent-wait = <3>;
119					};
120					fet3 {
121						regulator-name = "wwan_r";
122						regulator-always-on;
123						ti,overcurrent-wait = <3>;
124					};
125					fet4 {
126						regulator-name = "sdcard";
127						ti,overcurrent-wait = <3>;
128					};
129					fet5 {
130						regulator-name = "camout";
131						regulator-always-on;
132						ti,overcurrent-wait = <3>;
133					};
134					fet6: fet6 {
135						regulator-name = "lcd_vdd";
136						ti,overcurrent-wait = <3>;
137					};
138					tps65090_fet7: fet7 {
139						regulator-name = "video_mid_1a";
140						regulator-always-on;
141						ti,overcurrent-wait = <3>;
142					};
143					ldo1 {
144					};
145					ldo2 {
146					};
147				};
148
149				charger {
150					compatible = "ti,tps65090-charger";
151				};
152			};
153		};
154	};
155
156	spi@12d30000 {
157		spi-max-frequency = <50000000>;
158		firmware_storage_spi: flash@0 {
159			compatible = "spi-flash";
160			reg = <0>;
161		};
162	};
163
164	spi@131b0000 {
165		spi-max-frequency = <1000000>;
166		spi-deactivate-delay = <100>;
167
168		/* Snow did support SPI but the released version used I2C */
169		embedded-controller {
170			compatible = "google,cros-ec-i2c";
171			reg = <0x1e>;
172			spi-max-frequency = <5000000>;
173			ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
174			optimise-flash-write;
175			status = "disabled";
176		};
177	};
178
179	sound@3830000 {
180		samsung,codec-type = "max98095";
181		codec-enable-gpio = <&gpx1 7 GPIO_ACTIVE_HIGH>;
182	};
183
184	sound@12d60000 {
185		status = "disabled";
186	};
187
188	i2c@12CD0000 {
189		soundcodec@22 {
190			reg = <0x22>;
191			compatible = "maxim,max98095-codec";
192		};
193
194		ptn3460-bridge@20 {
195			compatible = "nxp,ptn3460";
196			reg = <0x20>;
197			/*
198			 * TODO(sjg@chromium.org): Use GPIOs here
199			 * powerdown-gpio = <&gpy2 5 0>;
200			 * reset-gpio = <&gpx1 5 0>;
201			 * edid-emulation = <5>;
202			 * pinctrl-names = "default";
203			 * pinctrl-0 = <&ptn3460_gpios>;
204			 */
205		};
206	};
207
208	i2c@12C60000 {
209		max77686@09 {
210			reg = <0x9>;
211			compatible = "maxim,max77686";
212		};
213	};
214
215	mmc@12200000 {
216		samsung,bus-width = <8>;
217		samsung,timing = <1 3 3>;
218		samsung,removable = <0>;
219	};
220
221	mmc@12210000 {
222		status = "disabled";
223	};
224
225	mmc@12220000 {
226		samsung,bus-width = <4>;
227		samsung,timing = <1 2 3>;
228		samsung,removable = <1>;
229	};
230
231	mmc@12230000 {
232		status = "disabled";
233	};
234
235	ehci@12110000 {
236		samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
237		status = "okay";
238	};
239
240	xhci@12000000 {
241		samsung,vbus-gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
242	};
243
244	tmu@10060000 {
245		samsung,min-temp	= <25>;
246		samsung,max-temp	= <125>;
247		samsung,start-warning	= <95>;
248		samsung,start-tripping	= <105>;
249		samsung,hw-tripping	= <110>;
250		samsung,efuse-min-value	= <40>;
251		samsung,efuse-value	= <55>;
252		samsung,efuse-max-value	= <100>;
253		samsung,slope		= <274761730>;
254		samsung,dc-value	= <25>;
255	};
256
257	fimd@14400000 {
258		samsung,vl-freq = <60>;
259		samsung,vl-col = <1366>;
260		samsung,vl-row = <768>;
261		samsung,vl-width = <1366>;
262		samsung,vl-height = <768>;
263
264		samsung,vl-clkp;
265		samsung,vl-dp;
266		samsung,vl-hsp;
267		samsung,vl-vsp;
268
269		samsung,vl-bpix = <4>;
270
271		samsung,vl-hspw = <32>;
272		samsung,vl-hbpd = <80>;
273		samsung,vl-hfpd = <48>;
274		samsung,vl-vspw = <5>;
275		samsung,vl-vbpd = <14>;
276		samsung,vl-vfpd = <3>;
277		samsung,vl-cmd-allow-len = <0xf>;
278
279		samsung,winid = <0>;
280		samsung,interface-mode = <1>;
281		samsung,dp-enabled = <1>;
282		samsung,dual-lcd-enabled = <0>;
283	};
284
285	dp@145b0000 {
286		samsung,lt-status = <0>;
287
288		samsung,master-mode = <0>;
289		samsung,bist-mode = <0>;
290		samsung,bist-pattern = <0>;
291		samsung,h-sync-polarity = <0>;
292		samsung,v-sync-polarity = <0>;
293		samsung,interlaced = <0>;
294		samsung,color-space = <0>;
295		samsung,dynamic-range = <0>;
296		samsung,ycbcr-coeff = <0>;
297		samsung,color-depth = <1>;
298	};
299
300};
301
302&i2c_0 {
303	status = "okay";
304	samsung,i2c-sda-delay = <100>;
305	samsung,i2c-max-bus-freq = <378000>;
306
307	max77686: max77686@09 {
308		compatible = "maxim,max77686";
309		interrupt-parent = <&gpx3>;
310		interrupts = <2 IRQ_TYPE_NONE>;
311		wakeup-source;
312		reg = <0x09>;
313		#clock-cells = <1>;
314
315		voltage-regulators {
316			ldo1_reg: LDO1 {
317				regulator-name = "P1.0V_LDO_OUT1";
318				regulator-min-microvolt = <1000000>;
319				regulator-max-microvolt = <1000000>;
320				regulator-always-on;
321			};
322
323			ldo2_reg: LDO2 {
324				regulator-name = "P1.8V_LDO_OUT2";
325				regulator-min-microvolt = <1800000>;
326				regulator-max-microvolt = <1800000>;
327				regulator-always-on;
328			};
329
330			ldo3_reg: LDO3 {
331				regulator-name = "P1.8V_LDO_OUT3";
332				regulator-min-microvolt = <1800000>;
333				regulator-max-microvolt = <1800000>;
334				regulator-always-on;
335			};
336
337			ldo7_reg: LDO7 {
338				regulator-name = "P1.1V_LDO_OUT7";
339				regulator-min-microvolt = <1100000>;
340				regulator-max-microvolt = <1100000>;
341				regulator-always-on;
342			};
343
344			ldo8_reg: LDO8 {
345				regulator-name = "P1.0V_LDO_OUT8";
346				regulator-min-microvolt = <1000000>;
347				regulator-max-microvolt = <1000000>;
348				regulator-always-on;
349			};
350
351			ldo10_reg: LDO10 {
352				regulator-name = "P1.8V_LDO_OUT10";
353				regulator-min-microvolt = <1800000>;
354				regulator-max-microvolt = <1800000>;
355				regulator-always-on;
356			};
357
358			ldo12_reg: LDO12 {
359				regulator-name = "P3.0V_LDO_OUT12";
360				regulator-min-microvolt = <3000000>;
361				regulator-max-microvolt = <3000000>;
362				regulator-always-on;
363			};
364
365			ldo14_reg: LDO14 {
366				regulator-name = "P1.8V_LDO_OUT14";
367				regulator-min-microvolt = <1800000>;
368				regulator-max-microvolt = <1800000>;
369				regulator-always-on;
370			};
371
372			ldo15_reg: LDO15 {
373				regulator-name = "P1.0V_LDO_OUT15";
374				regulator-min-microvolt = <1000000>;
375				regulator-max-microvolt = <1000000>;
376				regulator-always-on;
377			};
378
379			ldo16_reg: LDO16 {
380				regulator-name = "P1.8V_LDO_OUT16";
381				regulator-min-microvolt = <1800000>;
382				regulator-max-microvolt = <1800000>;
383				regulator-always-on;
384			};
385
386			ldo17_reg: LDO17 {
387				regulator-name = "vdd_mydp";
388				regulator-min-microvolt = <1200000>;
389				regulator-max-microvolt = <1200000>;
390			};
391
392			buck1_reg: BUCK1 {
393				regulator-name = "vdd_mif";
394				regulator-min-microvolt = <950000>;
395				regulator-max-microvolt = <1300000>;
396				regulator-always-on;
397				regulator-boot-on;
398			};
399
400			buck2_reg: BUCK2 {
401				regulator-name = "vdd_arm";
402				regulator-min-microvolt = <850000>;
403				regulator-max-microvolt = <1350000>;
404				regulator-always-on;
405				regulator-boot-on;
406			};
407
408			buck3_reg: BUCK3 {
409				regulator-name = "vdd_int";
410				regulator-min-microvolt = <900000>;
411				regulator-max-microvolt = <1200000>;
412				regulator-always-on;
413				regulator-boot-on;
414			};
415
416			buck4_reg: BUCK4 {
417				regulator-name = "vdd_g3d";
418				regulator-min-microvolt = <850000>;
419				regulator-max-microvolt = <1300000>;
420				regulator-always-on;
421				regulator-boot-on;
422			};
423
424			buck5_reg: BUCK5 {
425				regulator-name = "P1.8V_BUCK_OUT5";
426				regulator-min-microvolt = <1800000>;
427				regulator-max-microvolt = <1800000>;
428				regulator-always-on;
429				regulator-boot-on;
430			};
431
432			buck6_reg: BUCK6 {
433				regulator-name = "P1.35V_BUCK_OUT6";
434				regulator-min-microvolt = <1350000>;
435				regulator-max-microvolt = <1350000>;
436				regulator-always-on;
437			};
438
439			buck7_reg: BUCK7 {
440				regulator-name = "P2.0V_BUCK_OUT7";
441				regulator-min-microvolt = <2000000>;
442				regulator-max-microvolt = <2000000>;
443				regulator-always-on;
444			};
445
446			buck8_reg: BUCK8 {
447				regulator-name = "P2.85V_BUCK_OUT8";
448				regulator-min-microvolt = <2850000>;
449				regulator-max-microvolt = <2850000>;
450				regulator-always-on;
451			};
452		};
453	};
454};
455
456#include "cros-ec-keyboard.dtsi"
457