1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Samsung's Exynos4210 based Origen board device tree source
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
6*724ba675SRob Herring *		http://www.samsung.com
7*724ba675SRob Herring * Copyright (c) 2010-2011 Linaro Ltd.
8*724ba675SRob Herring *		www.linaro.org
9*724ba675SRob Herring *
10*724ba675SRob Herring * Device tree source file for Insignal's Origen board which is based on
11*724ba675SRob Herring * Samsung's Exynos4210 SoC.
12*724ba675SRob Herring */
13*724ba675SRob Herring
14*724ba675SRob Herring/dts-v1/;
15*724ba675SRob Herring#include "exynos4210.dtsi"
16*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
17*724ba675SRob Herring#include <dt-bindings/input/input.h>
18*724ba675SRob Herring#include <dt-bindings/leds/common.h>
19*724ba675SRob Herring#include "exynos-mfc-reserved-memory.dtsi"
20*724ba675SRob Herring
21*724ba675SRob Herring/ {
22*724ba675SRob Herring	model = "Insignal Origen evaluation board based on Exynos4210";
23*724ba675SRob Herring	compatible = "insignal,origen", "samsung,exynos4210", "samsung,exynos4";
24*724ba675SRob Herring
25*724ba675SRob Herring	memory@40000000 {
26*724ba675SRob Herring		device_type = "memory";
27*724ba675SRob Herring		reg = <0x40000000 0x10000000
28*724ba675SRob Herring		       0x50000000 0x10000000
29*724ba675SRob Herring		       0x60000000 0x10000000
30*724ba675SRob Herring		       0x70000000 0x10000000>;
31*724ba675SRob Herring	};
32*724ba675SRob Herring
33*724ba675SRob Herring	aliases {
34*724ba675SRob Herring		mmc0 = &sdhci_0;
35*724ba675SRob Herring		mmc1 = &sdhci_2;
36*724ba675SRob Herring	};
37*724ba675SRob Herring
38*724ba675SRob Herring	chosen {
39*724ba675SRob Herring		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
40*724ba675SRob Herring		stdout-path = "serial2:115200n8";
41*724ba675SRob Herring	};
42*724ba675SRob Herring
43*724ba675SRob Herring	mmc_reg: voltage-regulator {
44*724ba675SRob Herring		compatible = "regulator-fixed";
45*724ba675SRob Herring		regulator-name = "VMEM_VDD_2.8V";
46*724ba675SRob Herring		regulator-min-microvolt = <2800000>;
47*724ba675SRob Herring		regulator-max-microvolt = <2800000>;
48*724ba675SRob Herring		gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
49*724ba675SRob Herring		enable-active-high;
50*724ba675SRob Herring	};
51*724ba675SRob Herring
52*724ba675SRob Herring	gpio-keys {
53*724ba675SRob Herring		compatible = "gpio-keys";
54*724ba675SRob Herring
55*724ba675SRob Herring		key-up {
56*724ba675SRob Herring			label = "Up";
57*724ba675SRob Herring			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
58*724ba675SRob Herring			linux,code = <KEY_UP>;
59*724ba675SRob Herring			wakeup-source;
60*724ba675SRob Herring		};
61*724ba675SRob Herring
62*724ba675SRob Herring		key-down {
63*724ba675SRob Herring			label = "Down";
64*724ba675SRob Herring			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
65*724ba675SRob Herring			linux,code = <KEY_DOWN>;
66*724ba675SRob Herring			wakeup-source;
67*724ba675SRob Herring		};
68*724ba675SRob Herring
69*724ba675SRob Herring		key-back {
70*724ba675SRob Herring			label = "Back";
71*724ba675SRob Herring			gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
72*724ba675SRob Herring			linux,code = <KEY_BACK>;
73*724ba675SRob Herring			wakeup-source;
74*724ba675SRob Herring		};
75*724ba675SRob Herring
76*724ba675SRob Herring		key-home {
77*724ba675SRob Herring			label = "Home";
78*724ba675SRob Herring			gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
79*724ba675SRob Herring			linux,code = <KEY_HOME>;
80*724ba675SRob Herring			wakeup-source;
81*724ba675SRob Herring		};
82*724ba675SRob Herring
83*724ba675SRob Herring		key-menu {
84*724ba675SRob Herring			label = "Menu";
85*724ba675SRob Herring			gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
86*724ba675SRob Herring			linux,code = <KEY_MENU>;
87*724ba675SRob Herring			wakeup-source;
88*724ba675SRob Herring		};
89*724ba675SRob Herring	};
90*724ba675SRob Herring
91*724ba675SRob Herring	leds {
92*724ba675SRob Herring		compatible = "gpio-leds";
93*724ba675SRob Herring		led-status {
94*724ba675SRob Herring			gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
95*724ba675SRob Herring			function = LED_FUNCTION_HEARTBEAT;
96*724ba675SRob Herring			linux,default-trigger = "heartbeat";
97*724ba675SRob Herring		};
98*724ba675SRob Herring	};
99*724ba675SRob Herring
100*724ba675SRob Herring	fixed-rate-clocks {
101*724ba675SRob Herring		xxti {
102*724ba675SRob Herring			compatible = "samsung,clock-xxti";
103*724ba675SRob Herring			clock-frequency = <0>;
104*724ba675SRob Herring		};
105*724ba675SRob Herring
106*724ba675SRob Herring		xusbxti {
107*724ba675SRob Herring			compatible = "samsung,clock-xusbxti";
108*724ba675SRob Herring			clock-frequency = <24000000>;
109*724ba675SRob Herring		};
110*724ba675SRob Herring
111*724ba675SRob Herring		pmic_ap_clk: pmic-ap-clk {
112*724ba675SRob Herring			/* Workaround for missing clock on max8997 PMIC */
113*724ba675SRob Herring			compatible = "fixed-clock";
114*724ba675SRob Herring			#clock-cells = <0>;
115*724ba675SRob Herring			clock-frequency = <32768>;
116*724ba675SRob Herring		};
117*724ba675SRob Herring	};
118*724ba675SRob Herring
119*724ba675SRob Herring	display-timings {
120*724ba675SRob Herring		native-mode = <&timing0>;
121*724ba675SRob Herring		timing0: timing {
122*724ba675SRob Herring			clock-frequency = <47500000>;
123*724ba675SRob Herring			hactive = <1024>;
124*724ba675SRob Herring			vactive = <600>;
125*724ba675SRob Herring			hfront-porch = <64>;
126*724ba675SRob Herring			hback-porch = <16>;
127*724ba675SRob Herring			hsync-len = <48>;
128*724ba675SRob Herring			vback-porch = <64>;
129*724ba675SRob Herring			vfront-porch = <16>;
130*724ba675SRob Herring			vsync-len = <3>;
131*724ba675SRob Herring		};
132*724ba675SRob Herring	};
133*724ba675SRob Herring};
134*724ba675SRob Herring
135*724ba675SRob Herring&cpu0 {
136*724ba675SRob Herring	cpu0-supply = <&buck1_reg>;
137*724ba675SRob Herring};
138*724ba675SRob Herring
139*724ba675SRob Herring&cpu_thermal {
140*724ba675SRob Herring	cooling-maps {
141*724ba675SRob Herring		map0 {
142*724ba675SRob Herring			/* Corresponds to 800MHz */
143*724ba675SRob Herring			cooling-device = <&cpu0 2 2>;
144*724ba675SRob Herring		};
145*724ba675SRob Herring		map1 {
146*724ba675SRob Herring			/* Corresponds to 200MHz */
147*724ba675SRob Herring			cooling-device = <&cpu0 4 4>;
148*724ba675SRob Herring		};
149*724ba675SRob Herring	};
150*724ba675SRob Herring};
151*724ba675SRob Herring
152*724ba675SRob Herring&exynos_usbphy {
153*724ba675SRob Herring	status = "okay";
154*724ba675SRob Herring};
155*724ba675SRob Herring
156*724ba675SRob Herring&fimd {
157*724ba675SRob Herring	pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
158*724ba675SRob Herring	pinctrl-names = "default";
159*724ba675SRob Herring	status = "okay";
160*724ba675SRob Herring};
161*724ba675SRob Herring
162*724ba675SRob Herring&gpu {
163*724ba675SRob Herring	mali-supply = <&buck3_reg>;
164*724ba675SRob Herring	status = "okay";
165*724ba675SRob Herring};
166*724ba675SRob Herring
167*724ba675SRob Herring&hsotg {
168*724ba675SRob Herring	vusb_d-supply = <&ldo3_reg>;
169*724ba675SRob Herring	vusb_a-supply = <&ldo8_reg>;
170*724ba675SRob Herring	dr_mode = "peripheral";
171*724ba675SRob Herring	status = "okay";
172*724ba675SRob Herring};
173*724ba675SRob Herring
174*724ba675SRob Herring&i2c_0 {
175*724ba675SRob Herring	status = "okay";
176*724ba675SRob Herring	samsung,i2c-sda-delay = <100>;
177*724ba675SRob Herring	samsung,i2c-max-bus-freq = <20000>;
178*724ba675SRob Herring	pinctrl-0 = <&i2c0_bus>;
179*724ba675SRob Herring	pinctrl-names = "default";
180*724ba675SRob Herring
181*724ba675SRob Herring	pmic@66 {
182*724ba675SRob Herring		compatible = "maxim,max8997-pmic";
183*724ba675SRob Herring		reg = <0x66>;
184*724ba675SRob Herring		interrupt-parent = <&gpx0>;
185*724ba675SRob Herring		interrupts = <4 IRQ_TYPE_NONE>, <3 IRQ_TYPE_NONE>;
186*724ba675SRob Herring		pinctrl-names = "default";
187*724ba675SRob Herring		pinctrl-0 = <&max8997_irq>;
188*724ba675SRob Herring
189*724ba675SRob Herring		max8997,pmic-buck1-dvs-voltage = <1350000>;
190*724ba675SRob Herring		max8997,pmic-buck2-dvs-voltage = <1100000>;
191*724ba675SRob Herring		max8997,pmic-buck5-dvs-voltage = <1200000>;
192*724ba675SRob Herring
193*724ba675SRob Herring		regulators {
194*724ba675SRob Herring			ldo1_reg: LDO1 {
195*724ba675SRob Herring				regulator-name = "VDD_ABB_3.3V";
196*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
197*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
198*724ba675SRob Herring			};
199*724ba675SRob Herring
200*724ba675SRob Herring			ldo2_reg: LDO2 {
201*724ba675SRob Herring				regulator-name = "VDD_ALIVE_1.1V";
202*724ba675SRob Herring				regulator-min-microvolt = <1100000>;
203*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
204*724ba675SRob Herring				regulator-always-on;
205*724ba675SRob Herring			};
206*724ba675SRob Herring
207*724ba675SRob Herring			ldo3_reg: LDO3 {
208*724ba675SRob Herring				regulator-name = "VMIPI_1.1V";
209*724ba675SRob Herring				regulator-min-microvolt = <1100000>;
210*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
211*724ba675SRob Herring			};
212*724ba675SRob Herring
213*724ba675SRob Herring			ldo4_reg: LDO4 {
214*724ba675SRob Herring				regulator-name = "VDD_RTC_1.8V";
215*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
216*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
217*724ba675SRob Herring				regulator-always-on;
218*724ba675SRob Herring			};
219*724ba675SRob Herring
220*724ba675SRob Herring			ldo6_reg: LDO6 {
221*724ba675SRob Herring				regulator-name = "VMIPI_1.8V";
222*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
223*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
224*724ba675SRob Herring				regulator-always-on;
225*724ba675SRob Herring			};
226*724ba675SRob Herring
227*724ba675SRob Herring			ldo7_reg: LDO7 {
228*724ba675SRob Herring				regulator-name = "VDD_AUD_1.8V";
229*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
230*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
231*724ba675SRob Herring			};
232*724ba675SRob Herring
233*724ba675SRob Herring			ldo8_reg: LDO8 {
234*724ba675SRob Herring				regulator-name = "VADC_3.3V";
235*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
236*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
237*724ba675SRob Herring			};
238*724ba675SRob Herring
239*724ba675SRob Herring			ldo9_reg: LDO9 {
240*724ba675SRob Herring				regulator-name = "DVDD_SWB_2.8V";
241*724ba675SRob Herring				regulator-min-microvolt = <2800000>;
242*724ba675SRob Herring				regulator-max-microvolt = <2800000>;
243*724ba675SRob Herring				regulator-always-on;
244*724ba675SRob Herring			};
245*724ba675SRob Herring
246*724ba675SRob Herring			ldo10_reg: LDO10 {
247*724ba675SRob Herring				regulator-name = "VDD_PLL_1.1V";
248*724ba675SRob Herring				regulator-min-microvolt = <1100000>;
249*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
250*724ba675SRob Herring				regulator-always-on;
251*724ba675SRob Herring			};
252*724ba675SRob Herring
253*724ba675SRob Herring			ldo11_reg: LDO11 {
254*724ba675SRob Herring				regulator-name = "VDD_AUD_3V";
255*724ba675SRob Herring				regulator-min-microvolt = <3000000>;
256*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
257*724ba675SRob Herring			};
258*724ba675SRob Herring
259*724ba675SRob Herring			ldo14_reg: LDO14 {
260*724ba675SRob Herring				regulator-name = "AVDD18_SWB_1.8V";
261*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
262*724ba675SRob Herring				regulator-max-microvolt = <1800000>;
263*724ba675SRob Herring				regulator-always-on;
264*724ba675SRob Herring			};
265*724ba675SRob Herring
266*724ba675SRob Herring			ldo17_reg: LDO17 {
267*724ba675SRob Herring				regulator-name = "VDD_SWB_3.3V";
268*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
269*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
270*724ba675SRob Herring				regulator-always-on;
271*724ba675SRob Herring			};
272*724ba675SRob Herring
273*724ba675SRob Herring			ldo21_reg: LDO21 {
274*724ba675SRob Herring				regulator-name = "VDD_MIF_1.2V";
275*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
276*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
277*724ba675SRob Herring				regulator-always-on;
278*724ba675SRob Herring			};
279*724ba675SRob Herring
280*724ba675SRob Herring			buck1_reg: BUCK1 {
281*724ba675SRob Herring				regulator-name = "VDD_ARM_1.2V";
282*724ba675SRob Herring				regulator-min-microvolt = <950000>;
283*724ba675SRob Herring				regulator-max-microvolt = <1350000>;
284*724ba675SRob Herring				regulator-always-on;
285*724ba675SRob Herring				regulator-boot-on;
286*724ba675SRob Herring			};
287*724ba675SRob Herring
288*724ba675SRob Herring			buck2_reg: BUCK2 {
289*724ba675SRob Herring				regulator-name = "VDD_INT_1.1V";
290*724ba675SRob Herring				regulator-min-microvolt = <900000>;
291*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
292*724ba675SRob Herring				regulator-always-on;
293*724ba675SRob Herring				regulator-boot-on;
294*724ba675SRob Herring			};
295*724ba675SRob Herring
296*724ba675SRob Herring			buck3_reg: BUCK3 {
297*724ba675SRob Herring				regulator-name = "VDD_G3D_1.1V";
298*724ba675SRob Herring				regulator-min-microvolt = <900000>;
299*724ba675SRob Herring				regulator-max-microvolt = <1100000>;
300*724ba675SRob Herring			};
301*724ba675SRob Herring
302*724ba675SRob Herring			buck5_reg: BUCK5 {
303*724ba675SRob Herring				regulator-name = "VDDQ_M1M2_1.2V";
304*724ba675SRob Herring				regulator-min-microvolt = <1200000>;
305*724ba675SRob Herring				regulator-max-microvolt = <1200000>;
306*724ba675SRob Herring				regulator-always-on;
307*724ba675SRob Herring			};
308*724ba675SRob Herring
309*724ba675SRob Herring			buck7_reg: BUCK7 {
310*724ba675SRob Herring				regulator-name = "VDD_LCD_3.3V";
311*724ba675SRob Herring				regulator-min-microvolt = <3300000>;
312*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
313*724ba675SRob Herring				regulator-boot-on;
314*724ba675SRob Herring				regulator-always-on;
315*724ba675SRob Herring			};
316*724ba675SRob Herring
317*724ba675SRob Herring			EN32KHZ_AP {
318*724ba675SRob Herring				regulator-name = "EN32KHZ_AP";
319*724ba675SRob Herring				regulator-always-on;
320*724ba675SRob Herring			};
321*724ba675SRob Herring		};
322*724ba675SRob Herring	};
323*724ba675SRob Herring};
324*724ba675SRob Herring
325*724ba675SRob Herring&pinctrl_1 {
326*724ba675SRob Herring	max8997_irq: max8997-irq-pins {
327*724ba675SRob Herring		samsung,pins = "gpx0-3", "gpx0-4";
328*724ba675SRob Herring		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
329*724ba675SRob Herring	};
330*724ba675SRob Herring};
331*724ba675SRob Herring
332*724ba675SRob Herring&sdhci_0 {
333*724ba675SRob Herring	bus-width = <4>;
334*724ba675SRob Herring	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
335*724ba675SRob Herring	pinctrl-names = "default";
336*724ba675SRob Herring	vmmc-supply = <&mmc_reg>;
337*724ba675SRob Herring	status = "okay";
338*724ba675SRob Herring};
339*724ba675SRob Herring
340*724ba675SRob Herring&sdhci_2 {
341*724ba675SRob Herring	bus-width = <4>;
342*724ba675SRob Herring	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
343*724ba675SRob Herring	pinctrl-names = "default";
344*724ba675SRob Herring	vmmc-supply = <&mmc_reg>;
345*724ba675SRob Herring	status = "okay";
346*724ba675SRob Herring};
347*724ba675SRob Herring
348*724ba675SRob Herring&serial_0 {
349*724ba675SRob Herring	status = "okay";
350*724ba675SRob Herring};
351*724ba675SRob Herring
352*724ba675SRob Herring&serial_1 {
353*724ba675SRob Herring	status = "okay";
354*724ba675SRob Herring};
355*724ba675SRob Herring
356*724ba675SRob Herring&serial_2 {
357*724ba675SRob Herring	status = "okay";
358*724ba675SRob Herring};
359*724ba675SRob Herring
360*724ba675SRob Herring&serial_3 {
361*724ba675SRob Herring	status = "okay";
362*724ba675SRob Herring};
363*724ba675SRob Herring
364*724ba675SRob Herring&rtc {
365*724ba675SRob Herring	status = "okay";
366*724ba675SRob Herring	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
367*724ba675SRob Herring	clock-names = "rtc", "rtc_src";
368*724ba675SRob Herring};
369*724ba675SRob Herring
370*724ba675SRob Herring&tmu {
371*724ba675SRob Herring	status = "okay";
372*724ba675SRob Herring};
373