blob: 18662aec2ec48fb246818744216bda44f760a935 [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 {
69 compatible = "regulator-fixed";
70 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 {
78 compatible = "regulator-fixed";
79 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
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200176&i2c0 {
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200177 status = "okay";
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200178 as3711@40 {
179 compatible = "ams,as3711";
180 reg = <0x40>;
181
182 regulators {
183 vdd_dvfs: sd1 {
184 regulator-name = "1.315V CPU";
185 regulator-min-microvolt = <1050000>;
186 regulator-max-microvolt = <1350000>;
187 regulator-always-on;
188 regulator-boot-on;
189 };
190 sd2 {
191 regulator-name = "1.8V";
192 regulator-min-microvolt = <1800000>;
193 regulator-max-microvolt = <1800000>;
194 regulator-always-on;
195 regulator-boot-on;
196 };
197 sd4 {
198 regulator-name = "1.215V";
199 regulator-min-microvolt = <1215000>;
200 regulator-max-microvolt = <1235000>;
201 regulator-always-on;
202 regulator-boot-on;
203 };
204 ldo2 {
205 regulator-name = "2.8V CPU";
206 regulator-min-microvolt = <2800000>;
207 regulator-max-microvolt = <2800000>;
208 regulator-always-on;
209 regulator-boot-on;
210 };
211 ldo3 {
212 regulator-name = "3.0V CPU";
213 regulator-min-microvolt = <3000000>;
214 regulator-max-microvolt = <3000000>;
215 regulator-always-on;
216 regulator-boot-on;
217 };
218 ldo4 {
219 regulator-name = "2.8V";
220 regulator-min-microvolt = <2800000>;
221 regulator-max-microvolt = <2800000>;
222 regulator-always-on;
223 regulator-boot-on;
224 };
225 ldo5 {
226 regulator-name = "2.8V #2";
227 regulator-min-microvolt = <2800000>;
228 regulator-max-microvolt = <2800000>;
229 regulator-always-on;
230 regulator-boot-on;
231 };
232 ldo7 {
233 regulator-name = "1.15V CPU";
234 regulator-min-microvolt = <1150000>;
235 regulator-max-microvolt = <1150000>;
236 regulator-always-on;
237 regulator-boot-on;
238 };
239 ldo8 {
240 regulator-name = "1.15V CPU #2";
241 regulator-min-microvolt = <1150000>;
242 regulator-max-microvolt = <1150000>;
243 regulator-always-on;
244 regulator-boot-on;
245 };
246 };
247 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800248
249 ak4648: ak4648@0x12 {
250 #sound-dai-cells = <0>;
251 compatible = "asahi-kasei,ak4648";
252 reg = <0x12>;
253 };
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200254};
255
Laurent Pinchartec028602013-05-09 17:41:59 +0200256&i2c3 {
257 pinctrl-0 = <&i2c3_pins>;
258 pinctrl-names = "default";
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200259 status = "okay";
Laurent Pincharta40d9ad2013-11-26 02:21:18 +0100260
261 pcf8575: gpio@20 {
262 compatible = "nxp,pcf8575";
263 reg = <0x20>;
264 interrupt-parent = <&irqpin2>;
265 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
266 gpio-controller;
267 #gpio-cells = <2>;
268 interrupt-controller;
269 #interrupt-cells = <2>;
270 };
Laurent Pinchartec028602013-05-09 17:41:59 +0200271};
272
Simon Hormanb8b82b22012-11-22 00:34:25 +0900273&mmcif {
Laurent Pinchartec028602013-05-09 17:41:59 +0200274 pinctrl-0 = <&mmcif_pins>;
275 pinctrl-names = "default";
276
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +0100277 bus-width = <8>;
278 vmmc-supply = <&reg_1p8v>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100279 status = "okay";
280};
281
Laurent Pinchartec028602013-05-09 17:41:59 +0200282&pfc {
Laurent Pinchartec028602013-05-09 17:41:59 +0200283 i2c3_pins: i2c3 {
284 renesas,groups = "i2c3_1";
285 renesas,function = "i2c3";
286 };
287
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700288 mmcif_pins: mmc {
Laurent Pinchartec028602013-05-09 17:41:59 +0200289 mux {
290 renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
291 renesas,function = "mmc0";
292 };
293 cfg {
294 renesas,groups = "mmc0_data8_0";
295 renesas,pins = "PORT279";
296 bias-pull-up;
297 };
298 };
299
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700300 scifa4_pins: serial4 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200301 renesas,groups = "scifa4_data", "scifa4_ctrl";
302 renesas,function = "scifa4";
303 };
304
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700305 sdhi0_pins: sd0 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200306 renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
307 renesas,function = "sdhi0";
308 };
309
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700310 sdhi2_pins: sd2 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200311 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
312 renesas,function = "sdhi2";
313 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800314
315 fsia_pins: sounda {
316 renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
317 "fsia_data_in", "fsia_data_out";
318 renesas,function = "fsia";
319 };
Laurent Pinchartec028602013-05-09 17:41:59 +0200320};
321
Simon Horman700ce7c22014-07-07 09:54:52 +0200322&scifa4 {
323 pinctrl-0 = <&scifa4_pins>;
324 pinctrl-names = "default";
325
326 status = "okay";
327};
328
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100329&sdhi0 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200330 pinctrl-0 = <&sdhi0_pins>;
331 pinctrl-names = "default";
332
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +0200333 vmmc-supply = <&vmmc_sdhi0>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100334 bus-width = <4>;
335 status = "okay";
336};
337
338&sdhi2 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200339 pinctrl-0 = <&sdhi2_pins>;
340 pinctrl-names = "default";
341
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +0200342 vmmc-supply = <&vmmc_sdhi2>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100343 bus-width = <4>;
344 broken-cd;
345 status = "okay";
Simon Hormanb8b82b22012-11-22 00:34:25 +0900346};
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800347
348&sh_fsi2 {
349 pinctrl-0 = <&fsia_pins>;
350 pinctrl-names = "default";
351
352 status = "okay";
353};