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