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