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