blob: a99171c8a78222f97497b4d1de6f3897e2e5fca1 [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
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +020024 cpus {
25 cpu@0 {
26 cpu0-supply = <&vdd_dvfs>;
27 operating-points = <
28 /* kHz uV */
29 1196000 1315000
30 598000 1175000
31 398667 1065000
32 >;
33 voltage-tolerance = <1>; /* 1% */
34 };
35 };
36
Simon Hormanb8b82b22012-11-22 00:34:25 +090037 chosen {
Laurent Pinchartd2f463a2013-07-29 22:31:41 +020038 bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200 rw";
Simon Hormanb8b82b22012-11-22 00:34:25 +090039 };
40
41 memory {
42 device_type = "memory";
43 reg = <0x41000000 0x1e800000>;
44 };
45
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010046 reg_1p8v: regulator@0 {
Simon Hormanb8b82b22012-11-22 00:34:25 +090047 compatible = "regulator-fixed";
48 regulator-name = "fixed-1.8V";
49 regulator-min-microvolt = <1800000>;
50 regulator-max-microvolt = <1800000>;
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010051 regulator-always-on;
52 regulator-boot-on;
53 };
54
Guennadi Liakhovetskic791c032013-03-19 13:47:39 +010055 reg_3p3v: regulator@1 {
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010056 compatible = "regulator-fixed";
Guennadi Liakhovetskic791c032013-03-19 13:47:39 +010057 regulator-name = "fixed-3.3V";
58 regulator-min-microvolt = <3300000>;
59 regulator-max-microvolt = <3300000>;
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +010060 regulator-always-on;
61 regulator-boot-on;
62 };
Guennadi Liakhovetski8c1de8e2013-03-21 17:05:44 +010063
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +020064 vmmc_sdhi0: regulator@2 {
65 compatible = "regulator-fixed";
66 regulator-name = "SDHI0 Vcc";
67 regulator-min-microvolt = <3300000>;
68 regulator-max-microvolt = <3300000>;
69 gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
70 enable-active-high;
71 };
72
73 vmmc_sdhi2: regulator@3 {
74 compatible = "regulator-fixed";
75 regulator-name = "SDHI2 Vcc";
76 regulator-min-microvolt = <3300000>;
77 regulator-max-microvolt = <3300000>;
78 gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
79 enable-active-high;
80 };
81
Guennadi Liakhovetski8c1de8e2013-03-21 17:05:44 +010082 lan9220@10000000 {
83 compatible = "smsc,lan9220", "smsc,lan9115";
84 reg = <0x10000000 0x100>;
85 phy-mode = "mii";
86 interrupt-parent = <&irqpin0>;
Laurent Pinchart72e14c02013-11-09 13:23:58 +010087 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
Guennadi Liakhovetski8c1de8e2013-03-21 17:05:44 +010088 reg-io-width = <4>;
89 smsc,irq-push-pull;
90 smsc,save-mac-address;
91 vddvario-supply = <&reg_1p8v>;
92 vdd33a-supply = <&reg_3p3v>;
93 };
Laurent Pinchart14692732013-05-10 00:23:04 +020094
95 leds {
96 compatible = "gpio-leds";
97 led1 {
98 gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
99 };
100 led2 {
101 gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
102 };
103 led3 {
104 gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
105 };
106 led4 {
107 gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
108 };
109 };
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100110
111 gpio-keys {
112 compatible = "gpio-keys";
113
114 back-key {
115 gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100116 linux,code = <KEY_BACK>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100117 label = "SW3";
118 };
119
120 right-key {
121 gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100122 linux,code = <KEY_RIGHT>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100123 label = "SW2-R";
124 };
125
126 left-key {
127 gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100128 linux,code = <KEY_LEFT>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100129 label = "SW2-L";
130 };
131
132 enter-key {
133 gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100134 linux,code = <KEY_ENTER>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100135 label = "SW2-P";
136 };
137
138 up-key {
139 gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100140 linux,code = <KEY_UP>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100141 label = "SW2-U";
142 };
143
144 down-key {
145 gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100146 linux,code = <KEY_DOWN>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100147 label = "SW2-D";
148 };
149
150 home-key {
151 gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
Geert Uytterhoeven39f01632014-03-23 20:35:02 +0100152 linux,code = <KEY_HOME>;
Laurent Pinchart5ec5f732013-11-26 02:21:19 +0100153 label = "SW1";
154 };
155 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800156
157 sound {
158 compatible = "simple-audio-card";
159 simple-audio-card,format = "left_j";
160 simple-audio-card,cpu {
161 sound-dai = <&sh_fsi2 0>;
162 };
163 simple-audio-card,codec {
164 sound-dai = <&ak4648>;
165 bitclock-master;
166 frame-master;
167 system-clock-frequency = <11289600>;
168 };
169 };
Simon Hormanb8b82b22012-11-22 00:34:25 +0900170};
171
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200172&i2c0 {
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200173 status = "okay";
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200174 as3711@40 {
175 compatible = "ams,as3711";
176 reg = <0x40>;
177
178 regulators {
179 vdd_dvfs: sd1 {
180 regulator-name = "1.315V CPU";
181 regulator-min-microvolt = <1050000>;
182 regulator-max-microvolt = <1350000>;
183 regulator-always-on;
184 regulator-boot-on;
185 };
186 sd2 {
187 regulator-name = "1.8V";
188 regulator-min-microvolt = <1800000>;
189 regulator-max-microvolt = <1800000>;
190 regulator-always-on;
191 regulator-boot-on;
192 };
193 sd4 {
194 regulator-name = "1.215V";
195 regulator-min-microvolt = <1215000>;
196 regulator-max-microvolt = <1235000>;
197 regulator-always-on;
198 regulator-boot-on;
199 };
200 ldo2 {
201 regulator-name = "2.8V CPU";
202 regulator-min-microvolt = <2800000>;
203 regulator-max-microvolt = <2800000>;
204 regulator-always-on;
205 regulator-boot-on;
206 };
207 ldo3 {
208 regulator-name = "3.0V CPU";
209 regulator-min-microvolt = <3000000>;
210 regulator-max-microvolt = <3000000>;
211 regulator-always-on;
212 regulator-boot-on;
213 };
214 ldo4 {
215 regulator-name = "2.8V";
216 regulator-min-microvolt = <2800000>;
217 regulator-max-microvolt = <2800000>;
218 regulator-always-on;
219 regulator-boot-on;
220 };
221 ldo5 {
222 regulator-name = "2.8V #2";
223 regulator-min-microvolt = <2800000>;
224 regulator-max-microvolt = <2800000>;
225 regulator-always-on;
226 regulator-boot-on;
227 };
228 ldo7 {
229 regulator-name = "1.15V CPU";
230 regulator-min-microvolt = <1150000>;
231 regulator-max-microvolt = <1150000>;
232 regulator-always-on;
233 regulator-boot-on;
234 };
235 ldo8 {
236 regulator-name = "1.15V CPU #2";
237 regulator-min-microvolt = <1150000>;
238 regulator-max-microvolt = <1150000>;
239 regulator-always-on;
240 regulator-boot-on;
241 };
242 };
243 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800244
245 ak4648: ak4648@0x12 {
246 #sound-dai-cells = <0>;
247 compatible = "asahi-kasei,ak4648";
248 reg = <0x12>;
249 };
Guennadi Liakhovetski251ed172013-04-05 12:00:37 +0200250};
251
Laurent Pinchartec028602013-05-09 17:41:59 +0200252&i2c3 {
253 pinctrl-0 = <&i2c3_pins>;
254 pinctrl-names = "default";
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200255 status = "okay";
Laurent Pincharta40d9ad2013-11-26 02:21:18 +0100256
257 pcf8575: gpio@20 {
258 compatible = "nxp,pcf8575";
259 reg = <0x20>;
260 interrupt-parent = <&irqpin2>;
261 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
262 gpio-controller;
263 #gpio-cells = <2>;
264 interrupt-controller;
265 #interrupt-cells = <2>;
266 };
Laurent Pinchartec028602013-05-09 17:41:59 +0200267};
268
Simon Hormanb8b82b22012-11-22 00:34:25 +0900269&mmcif {
Laurent Pinchartec028602013-05-09 17:41:59 +0200270 pinctrl-0 = <&mmcif_pins>;
271 pinctrl-names = "default";
272
Guennadi Liakhovetskif017d012013-02-08 19:38:27 +0100273 bus-width = <8>;
274 vmmc-supply = <&reg_1p8v>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100275 status = "okay";
276};
277
Laurent Pinchartec028602013-05-09 17:41:59 +0200278&pfc {
279 pinctrl-0 = <&scifa4_pins>;
280 pinctrl-names = "default";
281
282 i2c3_pins: i2c3 {
283 renesas,groups = "i2c3_1";
284 renesas,function = "i2c3";
285 };
286
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700287 mmcif_pins: mmc {
Laurent Pinchartec028602013-05-09 17:41:59 +0200288 mux {
289 renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
290 renesas,function = "mmc0";
291 };
292 cfg {
293 renesas,groups = "mmc0_data8_0";
294 renesas,pins = "PORT279";
295 bias-pull-up;
296 };
297 };
298
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700299 scifa4_pins: serial4 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200300 renesas,groups = "scifa4_data", "scifa4_ctrl";
301 renesas,function = "scifa4";
302 };
303
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700304 sdhi0_pins: sd0 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200305 renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
306 renesas,function = "sdhi0";
307 };
308
Kuninori Morimoto26adf1a2013-10-21 19:37:39 -0700309 sdhi2_pins: sd2 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200310 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
311 renesas,function = "sdhi2";
312 };
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800313
314 fsia_pins: sounda {
315 renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
316 "fsia_data_in", "fsia_data_out";
317 renesas,function = "fsia";
318 };
Laurent Pinchartec028602013-05-09 17:41:59 +0200319};
320
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100321&sdhi0 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200322 pinctrl-0 = <&sdhi0_pins>;
323 pinctrl-names = "default";
324
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +0200325 vmmc-supply = <&vmmc_sdhi0>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100326 bus-width = <4>;
327 status = "okay";
328};
329
330&sdhi2 {
Laurent Pinchartec028602013-05-09 17:41:59 +0200331 pinctrl-0 = <&sdhi2_pins>;
332 pinctrl-names = "default";
333
Laurent Pinchartf8f77ce2013-05-09 17:41:59 +0200334 vmmc-supply = <&vmmc_sdhi2>;
Guennadi Liakhovetski546e5d32013-03-19 13:47:43 +0100335 bus-width = <4>;
336 broken-cd;
337 status = "okay";
Simon Hormanb8b82b22012-11-22 00:34:25 +0900338};
Kuninori Morimoto3c2a87c2013-12-04 17:33:10 -0800339
340&sh_fsi2 {
341 pinctrl-0 = <&fsia_pins>;
342 pinctrl-names = "default";
343
344 status = "okay";
345};