]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - arch/arm/boot/dts/exynos4412-itop-elite.dts
ARM: dts: bcm283x: Add VEC node in bcm283x.dtsi
[mirror_ubuntu-zesty-kernel.git] / arch / arm / boot / dts / exynos4412-itop-elite.dts
CommitLineData
339b2fb3
RL
1/*
2 * TOPEET's Exynos4412 based itop board device tree source
3 *
4 * Copyright (c) 2016 SUMOMO Computer Association
5 * https://www.sumomo.mobi
6 * Randy Li <ayaka@soulik.info>
7 *
8 * Device tree source file for TOPEET iTop Exynos 4412 core board
9 * which is based on Samsung's Exynos4412 SoC.
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 */
15
16/dts-v1/;
17#include <dt-bindings/pwm/pwm.h>
18#include <dt-bindings/sound/samsung-i2s.h>
19#include "exynos4412-itop-scp-core.dtsi"
20
21/ {
22 model = "TOPEET iTop 4412 Elite board based on Exynos4412";
23 compatible = "topeet,itop4412-elite", "samsung,exynos4412", "samsung,exynos4";
24
25 chosen {
26 bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootdelay=1 rootwait";
27 stdout-path = "serial2:115200n8";
28 };
29
30 leds {
31 compatible = "gpio-leds";
32
33 led2 {
34 label = "red:system";
35 gpios = <&gpx1 0 GPIO_ACTIVE_HIGH>;
36 default-state = "off";
37 linux,default-trigger = "heartbeat";
38 };
39
40 led3 {
41 label = "red:user";
42 gpios = <&gpk1 1 GPIO_ACTIVE_HIGH>;
43 default-state = "off";
44 };
45 };
46
47 gpio-keys {
48 compatible = "gpio-keys";
49
50 home {
51 label = "GPIO Key Home";
52 linux,code = <KEY_HOME>;
53 gpios = <&gpx1 1 GPIO_ACTIVE_LOW>;
54 };
55
56 back {
57 label = "GPIO Key Back";
58 linux,code = <KEY_BACK>;
59 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
60 };
61
62 sleep {
63 label = "GPIO Key Sleep";
64 linux,code = <KEY_POWER>;
65 gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
66 };
67
68 vol-up {
69 label = "GPIO Key Vol+";
70 linux,code = <KEY_UP>;
71 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
72 };
73
74 vol-down {
75 label = "GPIO Key Vol-";
76 linux,code = <KEY_DOWN>;
77 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
78 };
79 };
80
81 sound {
82 compatible = "simple-audio-card";
83 simple-audio-card,name = "wm-sound";
84
85 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
86 <&clock_audss EXYNOS_MOUT_I2S>,
87 <&clock_audss EXYNOS_DOUT_SRP>,
88 <&clock_audss EXYNOS_DOUT_AUD_BUS>;
89 assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
90 <&clock_audss EXYNOS_MOUT_AUDSS>;
91 assigned-clock-rates = <0>,
92 <0>,
93 <112896000>,
94 <11289600>;
95
96 simple-audio-card,format = "i2s";
97 simple-audio-card,bitclock-master = <&link0_codec>;
98 simple-audio-card,frame-master = <&link0_codec>;
99
100 simple-audio-card,widgets =
101 "Microphone", "Mic Jack",
102 "Line", "Line In",
103 "Line", "Line Out",
104 "Speaker", "Speaker",
105 "Headphone", "Headphone Jack";
106 simple-audio-card,routing =
107 "Headphone Jack", "HP_L",
108 "Headphone Jack", "HP_R",
109 "Speaker", "SPK_LP",
110 "Speaker", "SPK_LN",
111 "Speaker", "SPK_RP",
112 "Speaker", "SPK_RN",
113 "LINPUT1", "Mic Jack",
114 "LINPUT3", "Mic Jack",
115 "RINPUT1", "Mic Jack",
116 "RINPUT2", "Mic Jack";
117
118 simple-audio-card,cpu {
119 sound-dai = <&i2s0 0>;
120 };
121
122 link0_codec: simple-audio-card,codec {
123 sound-dai = <&codec>;
124 clocks = <&i2s0 CLK_I2S_CDCLK>;
125 system-clock-frequency = <11289600>;
126 };
127 };
128
129 beep {
130 compatible = "pwm-beeper";
131 pwms = <&pwm 0 4000000 PWM_POLARITY_INVERTED>;
132 };
133
134 camera: camera {
135 pinctrl-0 = <&cam_port_a_clk_active>;
136 pinctrl-names = "default";
137 status = "okay";
138 assigned-clocks = <&clock CLK_MOUT_CAM0>;
139 assigned-clock-parents = <&clock CLK_XUSBXTI>;
140 };
141};
142
143&adc {
144 vdd-supply = <&ldo3_reg>;
145 status = "okay";
146};
147
148&ehci {
149 status = "okay";
150 /* In order to reset USB ethernet */
151 samsung,vbus-gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
152
153 port@0 {
154 status = "okay";
155 };
156
157 port@2 {
158 status = "okay";
159 };
160};
161
162&exynos_usbphy {
163 status = "okay";
164};
165
166&fimc_0 {
167 status = "okay";
168 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
169 <&clock CLK_SCLK_FIMC0>;
170 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
171 assigned-clock-rates = <0>, <176000000>;
172};
173
174&hsotg {
175 dr_mode = "peripheral";
176 status = "okay";
177};
178
179&i2c_4 {
180 samsung,i2c-sda-delay = <100>;
181 samsung,i2c-slave-addr = <0x10>;
182 samsung,i2c-max-bus-freq = <100000>;
183 pinctrl-0 = <&i2c4_bus>;
184 pinctrl-names = "default";
185 status = "okay";
186
187 codec: wm8960@1a {
188 compatible = "wlf,wm8960";
189 reg = <0x1a>;
190 clocks = <&pmu_system_controller 0>;
191 clock-names = "MCLK1";
192 wlf,shared-lrclk;
193 #sound-dai-cells = <0>;
194 };
195};
196
197&i2s0 {
198 pinctrl-0 = <&i2s0_bus>;
199 pinctrl-names = "default";
200 status = "okay";
201 clocks = <&clock_audss EXYNOS_I2S_BUS>,
202 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
203 <&clock_audss EXYNOS_SCLK_I2S>;
204 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
205};
206
207&pinctrl_1 {
208 ether-reset {
209 samsung,pins = "gpc0-1";
210 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
211 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
212 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
213 };
214};
215
216&pwm {
217 status = "okay";
218 pinctrl-0 = <&pwm0_out>;
219 pinctrl-names = "default";
220 samsung,pwm-outputs = <0>;
221};
222
223&sdhci_2 {
224 bus-width = <4>;
225 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
226 pinctrl-names = "default";
227 cd-gpio = <&gpx0 7 GPIO_ACTIVE_LOW>;
228 cap-sd-highspeed;
229 vmmc-supply = <&ldo23_reg>;
230 vqmmc-supply = <&ldo17_reg>;
231 status = "okay";
232};
233
234&serial_1 {
235 status = "okay";
236};
237
238&serial_2 {
239 status = "okay";
240};