Linux 3.14.25
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / arm / boot / dts / sh73a0-kzm9g-reference.dts
1 /*
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/;
15 #include "sh73a0.dtsi"
16 #include <dt-bindings/gpio/gpio.h>
17 #include <dt-bindings/interrupt-controller/irq.h>
18
19 / {
20         model = "KZM-A9-GT";
21         compatible = "renesas,kzm9g-reference", "renesas,sh73a0";
22
23         cpus {
24                 cpu@0 {
25                         cpu0-supply = <&vdd_dvfs>;
26                         operating-points = <
27                                 /* kHz  uV */
28                                 1196000 1315000
29                                  598000 1175000
30                                  398667 1065000
31                         >;
32                         voltage-tolerance = <1>; /* 1% */
33                 };
34         };
35
36         chosen {
37                 bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200 rw";
38         };
39
40         memory {
41                 device_type = "memory";
42                 reg = <0x41000000 0x1e800000>;
43         };
44
45         reg_1p8v: regulator@0 {
46                 compatible = "regulator-fixed";
47                 regulator-name = "fixed-1.8V";
48                 regulator-min-microvolt = <1800000>;
49                 regulator-max-microvolt = <1800000>;
50                 regulator-always-on;
51                 regulator-boot-on;
52         };
53
54         reg_3p3v: regulator@1 {
55                 compatible = "regulator-fixed";
56                 regulator-name = "fixed-3.3V";
57                 regulator-min-microvolt = <3300000>;
58                 regulator-max-microvolt = <3300000>;
59                 regulator-always-on;
60                 regulator-boot-on;
61         };
62
63         vmmc_sdhi0: regulator@2 {
64                 compatible = "regulator-fixed";
65                 regulator-name = "SDHI0 Vcc";
66                 regulator-min-microvolt = <3300000>;
67                 regulator-max-microvolt = <3300000>;
68                 gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
69                 enable-active-high;
70         };
71
72         vmmc_sdhi2: regulator@3 {
73                 compatible = "regulator-fixed";
74                 regulator-name = "SDHI2 Vcc";
75                 regulator-min-microvolt = <3300000>;
76                 regulator-max-microvolt = <3300000>;
77                 gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
78                 enable-active-high;
79         };
80
81         lan9220@10000000 {
82                 compatible = "smsc,lan9220", "smsc,lan9115";
83                 reg = <0x10000000 0x100>;
84                 phy-mode = "mii";
85                 interrupt-parent = <&irqpin0>;
86                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
87                 reg-io-width = <4>;
88                 smsc,irq-push-pull;
89                 smsc,save-mac-address;
90                 vddvario-supply = <&reg_1p8v>;
91                 vdd33a-supply = <&reg_3p3v>;
92         };
93
94         leds {
95                 compatible = "gpio-leds";
96                 led1 {
97                         gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
98                 };
99                 led2 {
100                         gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
101                 };
102                 led3 {
103                         gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
104                 };
105                 led4 {
106                         gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
107                 };
108         };
109
110         gpio-keys {
111                 compatible = "gpio-keys";
112
113                 back-key {
114                         gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
115                         linux,code = <158>;
116                         label = "SW3";
117                 };
118
119                 right-key {
120                         gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
121                         linux,code = <106>;
122                         label = "SW2-R";
123                 };
124
125                 left-key {
126                         gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
127                         linux,code = <105>;
128                         label = "SW2-L";
129                 };
130
131                 enter-key {
132                         gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
133                         linux,code = <28>;
134                         label = "SW2-P";
135                 };
136
137                 up-key {
138                         gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
139                         linux,code = <103>;
140                         label = "SW2-U";
141                 };
142
143                 down-key {
144                         gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
145                         linux,code = <108>;
146                         label = "SW2-D";
147                 };
148
149                 home-key {
150                         gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
151                         linux,code = <102>;
152                         label = "SW1";
153                 };
154         };
155
156         sound {
157                 compatible = "simple-audio-card";
158                 simple-audio-card,format = "left_j";
159                 simple-audio-card,cpu {
160                         sound-dai = <&sh_fsi2 0>;
161                 };
162                 simple-audio-card,codec {
163                         sound-dai = <&ak4648>;
164                         bitclock-master;
165                         frame-master;
166                         system-clock-frequency = <11289600>;
167                 };
168         };
169 };
170
171 &i2c0 {
172         status = "okay";
173         as3711@40 {
174                 compatible = "ams,as3711";
175                 reg = <0x40>;
176
177                 regulators {
178                         vdd_dvfs: sd1 {
179                                 regulator-name = "1.315V CPU";
180                                 regulator-min-microvolt = <1050000>;
181                                 regulator-max-microvolt = <1350000>;
182                                 regulator-always-on;
183                                 regulator-boot-on;
184                         };
185                         sd2 {
186                                 regulator-name = "1.8V";
187                                 regulator-min-microvolt = <1800000>;
188                                 regulator-max-microvolt = <1800000>;
189                                 regulator-always-on;
190                                 regulator-boot-on;
191                         };
192                         sd4 {
193                                 regulator-name = "1.215V";
194                                 regulator-min-microvolt = <1215000>;
195                                 regulator-max-microvolt = <1235000>;
196                                 regulator-always-on;
197                                 regulator-boot-on;
198                         };
199                         ldo2 {
200                                 regulator-name = "2.8V CPU";
201                                 regulator-min-microvolt = <2800000>;
202                                 regulator-max-microvolt = <2800000>;
203                                 regulator-always-on;
204                                 regulator-boot-on;
205                         };
206                         ldo3 {
207                                 regulator-name = "3.0V CPU";
208                                 regulator-min-microvolt = <3000000>;
209                                 regulator-max-microvolt = <3000000>;
210                                 regulator-always-on;
211                                 regulator-boot-on;
212                         };
213                         ldo4 {
214                                 regulator-name = "2.8V";
215                                 regulator-min-microvolt = <2800000>;
216                                 regulator-max-microvolt = <2800000>;
217                                 regulator-always-on;
218                                 regulator-boot-on;
219                         };
220                         ldo5 {
221                                 regulator-name = "2.8V #2";
222                                 regulator-min-microvolt = <2800000>;
223                                 regulator-max-microvolt = <2800000>;
224                                 regulator-always-on;
225                                 regulator-boot-on;
226                         };
227                         ldo7 {
228                                 regulator-name = "1.15V CPU";
229                                 regulator-min-microvolt = <1150000>;
230                                 regulator-max-microvolt = <1150000>;
231                                 regulator-always-on;
232                                 regulator-boot-on;
233                         };
234                         ldo8 {
235                                 regulator-name = "1.15V CPU #2";
236                                 regulator-min-microvolt = <1150000>;
237                                 regulator-max-microvolt = <1150000>;
238                                 regulator-always-on;
239                                 regulator-boot-on;
240                         };
241                 };
242         };
243
244         ak4648: ak4648@0x12 {
245                 #sound-dai-cells = <0>;
246                 compatible = "asahi-kasei,ak4648";
247                 reg = <0x12>;
248         };
249 };
250
251 &i2c3 {
252         pinctrl-0 = <&i2c3_pins>;
253         pinctrl-names = "default";
254         status = "okay";
255
256         pcf8575: gpio@20 {
257                 compatible = "nxp,pcf8575";
258                 reg = <0x20>;
259                 interrupt-parent = <&irqpin2>;
260                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
261                 gpio-controller;
262                 #gpio-cells = <2>;
263                 interrupt-controller;
264                 #interrupt-cells = <2>;
265         };
266 };
267
268 &mmcif {
269         pinctrl-0 = <&mmcif_pins>;
270         pinctrl-names = "default";
271
272         bus-width = <8>;
273         vmmc-supply = <&reg_1p8v>;
274         status = "okay";
275 };
276
277 &pfc {
278         pinctrl-0 = <&scifa4_pins>;
279         pinctrl-names = "default";
280
281         i2c3_pins: i2c3 {
282                 renesas,groups = "i2c3_1";
283                 renesas,function = "i2c3";
284         };
285
286         mmcif_pins: mmc {
287                 mux {
288                         renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
289                         renesas,function = "mmc0";
290                 };
291                 cfg {
292                         renesas,groups = "mmc0_data8_0";
293                         renesas,pins = "PORT279";
294                         bias-pull-up;
295                 };
296         };
297
298         scifa4_pins: serial4 {
299                 renesas,groups = "scifa4_data", "scifa4_ctrl";
300                 renesas,function = "scifa4";
301         };
302
303         sdhi0_pins: sd0 {
304                 renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
305                 renesas,function = "sdhi0";
306         };
307
308         sdhi2_pins: sd2 {
309                 renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
310                 renesas,function = "sdhi2";
311         };
312
313         fsia_pins: sounda {
314                 renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
315                                  "fsia_data_in", "fsia_data_out";
316                 renesas,function = "fsia";
317         };
318 };
319
320 &sdhi0 {
321         pinctrl-0 = <&sdhi0_pins>;
322         pinctrl-names = "default";
323
324         vmmc-supply = <&vmmc_sdhi0>;
325         bus-width = <4>;
326         status = "okay";
327 };
328
329 &sdhi2 {
330         pinctrl-0 = <&sdhi2_pins>;
331         pinctrl-names = "default";
332
333         vmmc-supply = <&vmmc_sdhi2>;
334         bus-width = <4>;
335         broken-cd;
336         status = "okay";
337 };
338
339 &sh_fsi2 {
340         pinctrl-0 = <&fsia_pins>;
341         pinctrl-names = "default";
342
343         status = "okay";
344 };