blob: 30ef97e99dc53ea77cefcf55f370c8511ec468c8 [file] [log] [blame]
Simon Hormanb8b82b22012-11-22 00:34:25 +09001/*
2 * Device Tree Source for the KZM-A9-GT board
3 *
4 * Copyright (C) 2012 Horms Solutions Ltd.
5 *
6 * Based on sh73a0-kzm9g.dts
7 * Copyright (C) 2012 Renesas Solutions Corp.
8 *
9 * This file is licensed under the terms of the GNU General Public License
10 * version 2. This program is licensed "as is" without any warranty of any
11 * kind, whether express or implied.
12 */
13
14/dts-v1/;
Laurent Pinchart31c46cb2013-11-09 13:23:53 +010015#include "sh73a0.dtsi"
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +020016#include <dt-bindings/gpio/gpio.h>
Geert Uytterhoeven39f01632014-03-23 20:35:02 +010017#include <dt-bindings/input/input.h>
Laurent Pinchart77e2d7e2013-11-09 13:23:55 +010018#include <dt-bindings/interrupt-controller/irq.h>
Simon Hormanb8b82b22012-11-22 00:34:25 +090019
20/ {
21 model = "KZM-A9-GT";
22 compatible = "renesas,kzm9g-reference", "renesas,sh73a0";
23
Simon Horman700ce7c22014-07-07 09:54:52 +020024 aliases {
25 serial4 = &scifa4;
26 };
27
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +020028 cpus {
29 cpu@0 {
30 cpu0-supply = <&vdd_dvfs>;
31 operating-points = <
32 /* kHz uV */
33 1196000 1315000
34 598000 1175000
35 398667 1065000
36 >;
37 voltage-tolerance = <1>; /* 1% */
38 };
39 };
40
Simon Hormanb8b82b22012-11-22 00:34:25 +090041 chosen {
Simon Horman0b732472014-07-07 08:50:09 +020042 bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel rw";
Simon Hormanb8b82b22012-11-22 00:34:25 +090043 };
44
45 memory {
46 device_type = "memory";
47 reg = <0x41000000 0x1e800000>;
48 };
49
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010050 reg_1p8v: regulator@0 {
Simon Hormanb8b82b22012-11-22 00:34:25 +090051 compatible = "regulator-fixed";
52 regulator-name = "fixed-1.8V";
53 regulator-min-microvolt = <1800000>;
54 regulator-max-microvolt = <1800000>;
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010055 regulator-always-on;
56 regulator-boot-on;
57 };
58
Guennadi Liakhovetskic791c032013-03-19 13:47:39 +010059 reg_3p3v: regulator@1 {
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010060 compatible = "regulator-fixed";
Guennadi Liakhovetskic791c032013-03-19 13:47:39 +010061 regulator-name = "fixed-3.3V";
62 regulator-min-microvolt = <3300000>;
63 regulator-max-microvolt = <3300000>;
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010064 regulator-always-on;
65 regulator-boot-on;
66 };
Guennadi Liakhovetski8c1de8e2013-03-21 17:05:44 +010067
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +020068 vmmc_sdhi0: regulator@2 {
Geert Uytterhoeven40c488d2014-08-28 10:21:56 +020069 compatible = "regulator-fixed";
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +020070 regulator-name = "SDHI0 Vcc";
71 regulator-min-microvolt = <3300000>;
72 regulator-max-microvolt = <3300000>;
73 gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
74 enable-active-high;
75 };
76
77 vmmc_sdhi2: regulator@3 {
Geert Uytterhoeven40c488d2014-08-28 10:21:56 +020078 compatible = "regulator-fixed";
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +020079 regulator-name = "SDHI2 Vcc";
80 regulator-min-microvolt = <3300000>;
81 regulator-max-microvolt = <3300000>;
82 gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
83 enable-active-high;
84 };
85
Guennadi Liakhovetski8c1de8e2013-03-21 17:05:44 +010086 lan9220@10000000 {
87 compatible = "smsc,lan9220", "smsc,lan9115";
88 reg = <0x10000000 0x100>;
89 phy-mode = "mii";
90 interrupt-parent = <&irqpin0>;
Laurent Pinchart72e14c02013-11-09 13:23:58 +010091 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
Guennadi Liakhovetski8c1de8e2013-03-21 17:05:44 +010092 reg-io-width = <4>;
93 smsc,irq-push-pull;
94 smsc,save-mac-address;
95 vddvario-supply = <&reg_1p8v>;
96 vdd33a-supply = <&reg_3p3v>;
97 };
Laurent Pinchart14692732013-05-10 00:23:04 +020098
99 leds {
100 compatible = "gpio-leds";
101 led1 {
102 gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
103 };
104 led2 {
105 gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
106 };
107 led3 {
108 gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
109 };
110 led4 {
111 gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
112 };
113 };
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100114
115 gpio-keys {
116 compatible = "gpio-keys";
117
118 back-key {
119 gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100120 linux,code = <KEY_BACK>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100121 label = "SW3";
122 };
123
124 right-key {
125 gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100126 linux,code = <KEY_RIGHT>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100127 label = "SW2-R";
128 };
129
130 left-key {
131 gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100132 linux,code = <KEY_LEFT>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100133 label = "SW2-L";
134 };
135
136 enter-key {
137 gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100138 linux,code = <KEY_ENTER>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100139 label = "SW2-P";
140 };
141
142 up-key {
143 gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100144 linux,code = <KEY_UP>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100145 label = "SW2-U";
146 };
147
148 down-key {
149 gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100150 linux,code = <KEY_DOWN>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100151 label = "SW2-D";
152 };
153
154 home-key {
155 gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100156 linux,code = <KEY_HOME>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100157 label = "SW1";
158 };
159 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800160
161 sound {
162 compatible = "simple-audio-card";
163 simple-audio-card,format = "left_j";
164 simple-audio-card,cpu {
165 sound-dai = <&sh_fsi2 0>;
166 };
167 simple-audio-card,codec {
168 sound-dai = <&ak4648>;
169 bitclock-master;
170 frame-master;
171 system-clock-frequency = <11289600>;
172 };
173 };
Simon Hormanb8b82b22012-11-22 00:34:25 +0900174};
175
Ulrich Hecht48a0d1e2014-09-08 09:57:08 +0900176&cmt1 {
177 status = "ok";
178};
179
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200180&i2c0 {
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200181 status = "okay";
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200182 as3711@40 {
183 compatible = "ams,as3711";
184 reg = <0x40>;
185
186 regulators {
187 vdd_dvfs: sd1 {
188 regulator-name = "1.315V CPU";
189 regulator-min-microvolt = <1050000>;
190 regulator-max-microvolt = <1350000>;
191 regulator-always-on;
192 regulator-boot-on;
193 };
194 sd2 {
195 regulator-name = "1.8V";
196 regulator-min-microvolt = <1800000>;
197 regulator-max-microvolt = <1800000>;
198 regulator-always-on;
199 regulator-boot-on;
200 };
201 sd4 {
202 regulator-name = "1.215V";
203 regulator-min-microvolt = <1215000>;
204 regulator-max-microvolt = <1235000>;
205 regulator-always-on;
206 regulator-boot-on;
207 };
208 ldo2 {
209 regulator-name = "2.8V CPU";
210 regulator-min-microvolt = <2800000>;
211 regulator-max-microvolt = <2800000>;
212 regulator-always-on;
213 regulator-boot-on;
214 };
215 ldo3 {
216 regulator-name = "3.0V CPU";
217 regulator-min-microvolt = <3000000>;
218 regulator-max-microvolt = <3000000>;
219 regulator-always-on;
220 regulator-boot-on;
221 };
222 ldo4 {
223 regulator-name = "2.8V";
224 regulator-min-microvolt = <2800000>;
225 regulator-max-microvolt = <2800000>;
226 regulator-always-on;
227 regulator-boot-on;
228 };
229 ldo5 {
230 regulator-name = "2.8V #2";
231 regulator-min-microvolt = <2800000>;
232 regulator-max-microvolt = <2800000>;
233 regulator-always-on;
234 regulator-boot-on;
235 };
236 ldo7 {
237 regulator-name = "1.15V CPU";
238 regulator-min-microvolt = <1150000>;
239 regulator-max-microvolt = <1150000>;
240 regulator-always-on;
241 regulator-boot-on;
242 };
243 ldo8 {
244 regulator-name = "1.15V CPU #2";
245 regulator-min-microvolt = <1150000>;
246 regulator-max-microvolt = <1150000>;
247 regulator-always-on;
248 regulator-boot-on;
249 };
250 };
251 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800252
253 ak4648: ak4648@0x12 {
254 #sound-dai-cells = <0>;
255 compatible = "asahi-kasei,ak4648";
256 reg = <0x12>;
257 };
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200258};
259
Laurent Pinchartec028602013-05-09 17:41:59 +0200260&i2c3 {
261 pinctrl-0 = <&i2c3_pins>;
262 pinctrl-names = "default";
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200263 status = "okay";
Laurent Pincharta40d9ad2013-11-26 02:21:18 +0100264
265 pcf8575: gpio@20 {
266 compatible = "nxp,pcf8575";
267 reg = <0x20>;
268 interrupt-parent = <&irqpin2>;
269 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
270 gpio-controller;
271 #gpio-cells = <2>;
272 interrupt-controller;
273 #interrupt-cells = <2>;
274 };
Laurent Pinchartec028602013-05-09 17:41:59 +0200275};
276
Simon Hormanb8b82b22012-11-22 00:34:25 +0900277&mmcif {
Laurent Pinchartec028602013-05-09 17:41:59 +0200278 pinctrl-0 = <&mmcif_pins>;
279 pinctrl-names = "default";
280
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +0100281 bus-width = <8>;
282 vmmc-supply = <&reg_1p8v>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100283 status = "okay";
284};
285
Laurent Pinchartec028602013-05-09 17:41:59 +0200286&pfc {
Laurent Pinchartec028602013-05-09 17:41:59 +0200287 i2c3_pins: i2c3 {
288 renesas,groups = "i2c3_1";
289 renesas,function = "i2c3";
290 };
291
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700292 mmcif_pins: mmc {
Laurent Pinchartec028602013-05-09 17:41:59 +0200293 mux {
294 renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
295 renesas,function = "mmc0";
296 };
297 cfg {
298 renesas,groups = "mmc0_data8_0";
299 renesas,pins = "PORT279";
300 bias-pull-up;
301 };
302 };
303
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700304 scifa4_pins: serial4 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200305 renesas,groups = "scifa4_data", "scifa4_ctrl";
306 renesas,function = "scifa4";
307 };
308
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700309 sdhi0_pins: sd0 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200310 renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
311 renesas,function = "sdhi0";
312 };
313
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700314 sdhi2_pins: sd2 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200315 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
316 renesas,function = "sdhi2";
317 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800318
319 fsia_pins: sounda {
320 renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
321 "fsia_data_in", "fsia_data_out";
322 renesas,function = "fsia";
323 };
Laurent Pinchartec028602013-05-09 17:41:59 +0200324};
325
Simon Horman700ce7c22014-07-07 09:54:52 +0200326&scifa4 {
327 pinctrl-0 = <&scifa4_pins>;
328 pinctrl-names = "default";
329
330 status = "okay";
331};
332
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100333&sdhi0 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200334 pinctrl-0 = <&sdhi0_pins>;
335 pinctrl-names = "default";
336
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +0200337 vmmc-supply = <&vmmc_sdhi0>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100338 bus-width = <4>;
339 status = "okay";
340};
341
342&sdhi2 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200343 pinctrl-0 = <&sdhi2_pins>;
344 pinctrl-names = "default";
345
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +0200346 vmmc-supply = <&vmmc_sdhi2>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100347 bus-width = <4>;
348 broken-cd;
349 status = "okay";
Simon Hormanb8b82b22012-11-22 00:34:25 +0900350};
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800351
352&sh_fsi2 {
353 pinctrl-0 = <&fsia_pins>;
354 pinctrl-names = "default";
355
356 status = "okay";
357};