]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/exynos4412-odroid-common.dtsi
3fbf588682b94fcf8f6b340ad266794741825f34
[karo-tx-linux.git] / arch / arm / boot / dts / exynos4412-odroid-common.dtsi
1 /*
2  * Common definition for Hardkernel's Exynos4412 based ODROID-X/X2/U2/U3 boards
3  * device tree source
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8 */
9
10 #include <dt-bindings/input/input.h>
11 #include "exynos4412.dtsi"
12
13 / {
14         firmware@0204F000 {
15                 compatible = "samsung,secure-firmware";
16                 reg = <0x0204F000 0x1000>;
17         };
18
19         gpio_keys {
20                 compatible = "gpio-keys";
21                 pinctrl-names = "default";
22                 pinctrl-0 = <&gpio_power_key>;
23
24                 power_key {
25                         interrupt-parent = <&gpx1>;
26                         interrupts = <3 0>;
27                         gpios = <&gpx1 3 1>;
28                         linux,code = <KEY_POWER>;
29                         label = "power key";
30                         debounce-interval = <10>;
31                         gpio-key,wakeup;
32                 };
33         };
34
35         i2s0: i2s@03830000 {
36                 pinctrl-0 = <&i2s0_bus>;
37                 pinctrl-names = "default";
38                 status = "okay";
39                 clocks = <&clock_audss EXYNOS_I2S_BUS>,
40                          <&clock_audss EXYNOS_DOUT_AUD_BUS>;
41                 clock-names = "iis", "i2s_opclk0";
42         };
43
44         sound: sound {
45                 compatible = "samsung,odroidx2-audio";
46                 samsung,i2s-controller = <&i2s0>;
47                 samsung,audio-codec = <&max98090>;
48                 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
49                                 <&clock_audss EXYNOS_MOUT_I2S>,
50                                 <&clock_audss EXYNOS_DOUT_SRP>,
51                                 <&clock_audss EXYNOS_DOUT_AUD_BUS>;
52                 assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
53                                 <&clock_audss EXYNOS_MOUT_AUDSS>;
54                 assigned-clock-rates = <0>,
55                                 <0>,
56                                 <192000000>,
57                                 <19200000>;
58         };
59
60         mmc@12550000 {
61                 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
62                 pinctrl-names = "default";
63                 vmmc-supply = <&ldo20_reg &buck8_reg>;
64                 status = "okay";
65
66                 num-slots = <1>;
67                 broken-cd;
68                 card-detect-delay = <200>;
69                 samsung,dw-mshc-ciu-div = <3>;
70                 samsung,dw-mshc-sdr-timing = <2 3>;
71                 samsung,dw-mshc-ddr-timing = <1 2>;
72                 bus-width = <8>;
73                 cap-mmc-highspeed;
74         };
75
76         watchdog@10060000 {
77                 status = "okay";
78         };
79
80         rtc@10070000 {
81                 status = "okay";
82         };
83
84         g2d@10800000 {
85                 status = "okay";
86         };
87
88         camera {
89                 status = "okay";
90                 pinctrl-names = "default";
91                 pinctrl-0 = <>;
92
93                 fimc_0: fimc@11800000 {
94                         status = "okay";
95                         assigned-clocks = <&clock CLK_MOUT_FIMC0>,
96                                         <&clock CLK_SCLK_FIMC0>;
97                         assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
98                         assigned-clock-rates = <0>, <176000000>;
99                 };
100
101                 fimc_1: fimc@11810000 {
102                         status = "okay";
103                         assigned-clocks = <&clock CLK_MOUT_FIMC1>,
104                                         <&clock CLK_SCLK_FIMC1>;
105                         assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
106                         assigned-clock-rates = <0>, <176000000>;
107                 };
108
109                 fimc_2: fimc@11820000 {
110                         status = "okay";
111                         assigned-clocks = <&clock CLK_MOUT_FIMC2>,
112                                         <&clock CLK_SCLK_FIMC2>;
113                         assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
114                         assigned-clock-rates = <0>, <176000000>;
115                 };
116
117                 fimc_3: fimc@11830000 {
118                         status = "okay";
119                         assigned-clocks = <&clock CLK_MOUT_FIMC3>,
120                                         <&clock CLK_SCLK_FIMC3>;
121                         assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
122                         assigned-clock-rates = <0>, <176000000>;
123                 };
124         };
125
126         sdhci@12530000 {
127                 bus-width = <4>;
128                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
129                 pinctrl-names = "default";
130                 vmmc-supply = <&ldo4_reg &ldo21_reg>;
131                 cd-gpios = <&gpk2 2 0>;
132                 cd-inverted;
133                 status = "okay";
134         };
135
136         serial@13800000 {
137                 status = "okay";
138         };
139
140         serial@13810000 {
141                 status = "okay";
142         };
143
144         fixed-rate-clocks {
145                 xxti {
146                         compatible = "samsung,clock-xxti";
147                         clock-frequency = <0>;
148                 };
149
150                 xusbxti {
151                         compatible = "samsung,clock-xusbxti";
152                         clock-frequency = <24000000>;
153                 };
154         };
155
156         i2c@13860000 {
157                 pinctrl-0 = <&i2c0_bus>;
158                 pinctrl-names = "default";
159                 samsung,i2c-sda-delay = <100>;
160                 samsung,i2c-max-bus-freq = <400000>;
161                 status = "okay";
162
163                 usb3503: usb3503@08 {
164                         compatible = "smsc,usb3503";
165                         reg = <0x08>;
166
167                         intn-gpios = <&gpx3 0 0>;
168                         connect-gpios = <&gpx3 4 0>;
169                         reset-gpios = <&gpx3 5 0>;
170                         initial-mode = <1>;
171                 };
172
173                 max77686: pmic@09 {
174                         compatible = "maxim,max77686";
175                         interrupt-parent = <&gpx3>;
176                         interrupts = <2 0>;
177                         pinctrl-names = "default";
178                         pinctrl-0 = <&max77686_irq>;
179                         reg = <0x09>;
180                         #clock-cells = <1>;
181
182                         voltage-regulators {
183                                 ldo1_reg: LDO1 {
184                                         regulator-name = "VDD_ALIVE_1.0V";
185                                         regulator-min-microvolt = <1000000>;
186                                         regulator-max-microvolt = <1000000>;
187                                         regulator-always-on;
188                                 };
189
190                                 ldo2_reg: LDO2 {
191                                         regulator-name = "VDDQ_M1_2_1.8V";
192                                         regulator-min-microvolt = <1800000>;
193                                         regulator-max-microvolt = <1800000>;
194                                         regulator-always-on;
195                                 };
196
197                                 ldo3_reg: LDO3 {
198                                         regulator-name = "VDDQ_EXT_1.8V";
199                                         regulator-min-microvolt = <1800000>;
200                                         regulator-max-microvolt = <1800000>;
201                                         regulator-always-on;
202                                 };
203
204                                 ldo4_reg: LDO4 {
205                                         regulator-name = "VDDQ_MMC2_2.8V";
206                                         regulator-min-microvolt = <2800000>;
207                                         regulator-max-microvolt = <2800000>;
208                                         regulator-always-on;
209                                         regulator-boot-on;
210                                 };
211
212                                 ldo5_reg: LDO5 {
213                                         regulator-name = "VDDQ_MMC1_3_1.8V";
214                                         regulator-min-microvolt = <1800000>;
215                                         regulator-max-microvolt = <1800000>;
216                                         regulator-always-on;
217                                         regulator-boot-on;
218                                 };
219
220                                 ldo6_reg: LDO6 {
221                                         regulator-name = "VDD10_MPLL_1.0V";
222                                         regulator-min-microvolt = <1000000>;
223                                         regulator-max-microvolt = <1000000>;
224                                         regulator-always-on;
225                                 };
226
227                                 ldo7_reg: LDO7 {
228                                         regulator-name = "VDD10_XPLL_1.0V";
229                                         regulator-min-microvolt = <1000000>;
230                                         regulator-max-microvolt = <1000000>;
231                                         regulator-always-on;
232                                 };
233
234                                 ldo11_reg: LDO11 {
235                                         regulator-name = "VDD18_ABB1_1.8V";
236                                         regulator-min-microvolt = <1800000>;
237                                         regulator-max-microvolt = <1800000>;
238                                         regulator-always-on;
239                                 };
240
241                                 ldo12_reg: LDO12 {
242                                         regulator-name = "VDD33_USB_3.3V";
243                                         regulator-min-microvolt = <3300000>;
244                                         regulator-max-microvolt = <3300000>;
245                                         regulator-always-on;
246                                         regulator-boot-on;
247                                 };
248
249                                 ldo13_reg: LDO13 {
250                                         regulator-name = "VDDQ_C2C_W_1.8V";
251                                         regulator-min-microvolt = <1800000>;
252                                         regulator-max-microvolt = <1800000>;
253                                         regulator-always-on;
254                                         regulator-boot-on;
255                                 };
256
257                                 ldo14_reg: LDO14 {
258                                         regulator-name = "VDD18_ABB0_2_1.8V";
259                                         regulator-min-microvolt = <1800000>;
260                                         regulator-max-microvolt = <1800000>;
261                                         regulator-always-on;
262                                         regulator-boot-on;
263                                 };
264
265                                 ldo15_reg: LDO15 {
266                                         regulator-name = "VDD10_HSIC_1.0V";
267                                         regulator-min-microvolt = <1000000>;
268                                         regulator-max-microvolt = <1000000>;
269                                         regulator-always-on;
270                                         regulator-boot-on;
271                                 };
272
273                                 ldo16_reg: LDO16 {
274                                         regulator-name = "VDD18_HSIC_1.8V";
275                                         regulator-min-microvolt = <1800000>;
276                                         regulator-max-microvolt = <1800000>;
277                                         regulator-always-on;
278                                         regulator-boot-on;
279                                 };
280
281                                 ldo20_reg: LDO20 {
282                                         regulator-name = "LDO20_1.8V";
283                                         regulator-min-microvolt = <1800000>;
284                                         regulator-max-microvolt = <1800000>;
285                                         regulator-boot-on;
286                                 };
287
288                                 ldo21_reg: LDO21 {
289                                         regulator-name = "LDO21_3.3V";
290                                         regulator-min-microvolt = <3300000>;
291                                         regulator-max-microvolt = <3300000>;
292                                         regulator-always-on;
293                                         regulator-boot-on;
294                                 };
295
296                                 ldo25_reg: LDO25 {
297                                         regulator-name = "VDDQ_LCD_1.8V";
298                                         regulator-min-microvolt = <1800000>;
299                                         regulator-max-microvolt = <1800000>;
300                                         regulator-always-on;
301                                         regulator-boot-on;
302                                 };
303
304                                 buck1_reg: BUCK1 {
305                                         regulator-name = "vdd_mif";
306                                         regulator-min-microvolt = <1000000>;
307                                         regulator-max-microvolt = <1000000>;
308                                         regulator-always-on;
309                                         regulator-boot-on;
310                                 };
311
312                                 buck2_reg: BUCK2 {
313                                         regulator-name = "vdd_arm";
314                                         regulator-min-microvolt = <900000>;
315                                         regulator-max-microvolt = <1350000>;
316                                         regulator-always-on;
317                                         regulator-boot-on;
318                                 };
319
320                                 buck3_reg: BUCK3 {
321                                         regulator-name = "vdd_int";
322                                         regulator-min-microvolt = <1000000>;
323                                         regulator-max-microvolt = <1000000>;
324                                         regulator-always-on;
325                                         regulator-boot-on;
326                                 };
327
328                                 buck4_reg: BUCK4 {
329                                         regulator-name = "vdd_g3d";
330                                         regulator-min-microvolt = <900000>;
331                                         regulator-max-microvolt = <1100000>;
332                                         regulator-microvolt-offset = <50000>;
333                                 };
334
335                                 buck5_reg: BUCK5 {
336                                         regulator-name = "VDDQ_CKEM1_2_1.2V";
337                                         regulator-min-microvolt = <1200000>;
338                                         regulator-max-microvolt = <1200000>;
339                                         regulator-always-on;
340                                         regulator-boot-on;
341                                 };
342
343                                 buck6_reg: BUCK6 {
344                                         regulator-name = "BUCK6_1.35V";
345                                         regulator-min-microvolt = <1350000>;
346                                         regulator-max-microvolt = <1350000>;
347                                         regulator-always-on;
348                                         regulator-boot-on;
349                                 };
350
351                                 buck7_reg: BUCK7 {
352                                         regulator-name = "BUCK7_2.0V";
353                                         regulator-min-microvolt = <2000000>;
354                                         regulator-max-microvolt = <2000000>;
355                                         regulator-always-on;
356                                 };
357
358                                 buck8_reg: BUCK8 {
359                                         regulator-name = "BUCK8_2.8V";
360                                         regulator-min-microvolt = <2800000>;
361                                         regulator-max-microvolt = <2800000>;
362                                 };
363                         };
364                 };
365         };
366
367         i2c@13870000 {
368                 pinctrl-names = "default";
369                 pinctrl-0 = <&i2c1_bus>;
370                 status = "okay";
371                 max98090: max98090@10 {
372                         compatible = "maxim,max98090";
373                         reg = <0x10>;
374                         interrupt-parent = <&gpx0>;
375                         interrupts = <0 0>;
376                 };
377         };
378
379         exynos-usbphy@125B0000 {
380                 status = "okay";
381         };
382
383         hsotg@12480000 {
384                 status = "okay";
385                 vusb_d-supply = <&ldo15_reg>;
386                 vusb_a-supply = <&ldo12_reg>;
387         };
388
389         ehci: ehci@12580000 {
390                 status = "okay";
391         };
392 };
393
394 &pinctrl_1 {
395         gpio_power_key: power_key {
396                 samsung,pins = "gpx1-3";
397                 samsung,pin-pud = <0>;
398         };
399
400         max77686_irq: max77686-irq {
401                 samsung,pins = "gpx3-2";
402                 samsung,pin-function = <0>;
403                 samsung,pin-pud = <0>;
404                 samsung,pin-drv = <0>;
405         };
406 };