Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / r8a73a4-ape6evm.dts
1 /*
2  * Device Tree Source for the APE6EVM board
3  *
4  * Copyright (C) 2013 Renesas Solutions Corp.
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2.  This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10
11 /dts-v1/;
12 #include "r8a73a4.dtsi"
13 #include <dt-bindings/gpio/gpio.h>
14 #include <dt-bindings/input/input.h>
15
16 / {
17         model = "APE6EVM";
18         compatible = "renesas,ape6evm", "renesas,r8a73a4";
19
20         aliases {
21                 serial0 = &scifa0;
22         };
23
24         chosen {
25                 bootargs = "console=ttySC0,115200 ignore_loglevel root=/dev/nfs ip=dhcp rw";
26                 stdout-path = &scifa0;
27         };
28
29         memory@40000000 {
30                 device_type = "memory";
31                 reg = <0 0x40000000 0 0x40000000>;
32         };
33
34         memory@200000000 {
35                 device_type = "memory";
36                 reg = <2 0x00000000 0 0x40000000>;
37         };
38
39         vcc_mmc0: regulator@0 {
40                 compatible = "regulator-fixed";
41                 regulator-name = "MMC0 Vcc";
42                 regulator-min-microvolt = <2800000>;
43                 regulator-max-microvolt = <2800000>;
44                 regulator-always-on;
45         };
46
47         vcc_sdhi0: regulator@1 {
48                 compatible = "regulator-fixed";
49
50                 regulator-name = "SDHI0 Vcc";
51                 regulator-min-microvolt = <3300000>;
52                 regulator-max-microvolt = <3300000>;
53
54                 gpio = <&pfc 76 GPIO_ACTIVE_HIGH>;
55                 enable-active-high;
56         };
57
58         /* Common 1.8V and 3.3V rails, used by several devices on APE6EVM */
59         ape6evm_fixed_1v8: regulator@2 {
60                 compatible = "regulator-fixed";
61                 regulator-name = "1V8";
62                 regulator-min-microvolt = <1800000>;
63                 regulator-max-microvolt = <1800000>;
64                 regulator-always-on;
65         };
66
67         ape6evm_fixed_3v3: regulator@3 {
68                 compatible = "regulator-fixed";
69                 regulator-name = "3V3";
70                 regulator-min-microvolt = <3300000>;
71                 regulator-max-microvolt = <3300000>;
72                 regulator-always-on;
73         };
74
75         lbsc {
76                 compatible = "simple-bus";
77                 #address-cells = <1>;
78                 #size-cells = <1>;
79                 ranges = <0 0 0 0x20000000>;
80
81                 ethernet@8000000 {
82                         compatible = "smsc,lan9220", "smsc,lan9115";
83                         reg = <0x08000000 0x1000>;
84                         interrupt-parent = <&irqc1>;
85                         interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
86                         phy-mode = "mii";
87                         reg-io-width = <4>;
88                         smsc,irq-active-high;
89                         smsc,irq-push-pull;
90                         vdd33a-supply = <&ape6evm_fixed_3v3>;
91                         vddvario-supply = <&ape6evm_fixed_1v8>;
92                 };
93         };
94
95         leds {
96                 compatible = "gpio-leds";
97                 led1 {
98                         gpios = <&pfc 28 GPIO_ACTIVE_HIGH>;
99                         label = "GNSS_EN";
100                 };
101                 led2 {
102                         gpios = <&pfc 126 GPIO_ACTIVE_HIGH>;
103                         label = "NFC_NRST";
104                 };
105                 led3 {
106                         gpios = <&pfc 132 GPIO_ACTIVE_HIGH>;
107                         label = "GNSS_NRST";
108                 };
109                 led4 {
110                         gpios = <&pfc 232 GPIO_ACTIVE_HIGH>;
111                         label = "BT_WAKEUP";
112                 };
113                 led5 {
114                         gpios = <&pfc 250 GPIO_ACTIVE_HIGH>;
115                         label = "STROBE";
116                 };
117                 led6 {
118                         gpios = <&pfc 288 GPIO_ACTIVE_HIGH>;
119                         label = "BBRESETOUT";
120                 };
121         };
122
123         keyboard {
124                 compatible = "gpio-keys";
125
126                 pinctrl-names = "default";
127                 pinctrl-0 = <&keyboard_pins>;
128
129                 zero-key {
130                         gpios = <&pfc 324 GPIO_ACTIVE_LOW>;
131                         linux,code = <KEY_0>;
132                         label = "S16";
133                         gpio-key,wakeup;
134                 };
135
136                 menu-key {
137                         gpios = <&pfc 325 GPIO_ACTIVE_LOW>;
138                         linux,code = <KEY_MENU>;
139                         label = "S17";
140                 };
141
142                 home-key {
143                         gpios = <&pfc 326 GPIO_ACTIVE_LOW>;
144                         linux,code = <KEY_HOME>;
145                         label = "S18";
146                 };
147
148                 back-key {
149                         gpios = <&pfc 327 GPIO_ACTIVE_LOW>;
150                         linux,code = <KEY_BACK>;
151                         label = "S19";
152                 };
153
154                 volup-key {
155                         gpios = <&pfc 328 GPIO_ACTIVE_LOW>;
156                         linux,code = <KEY_VOLUMEUP>;
157                         label = "S20";
158                 };
159
160                 voldown-key {
161                         gpios = <&pfc 329 GPIO_ACTIVE_LOW>;
162                         linux,code = <KEY_VOLUMEDOWN>;
163                         label = "S21";
164                 };
165         };
166 };
167
168 &i2c5 {
169         status = "okay";
170         vdd_dvfs: max8973@1b {
171                 compatible = "maxim,max8973";
172                 reg = <0x1b>;
173
174                 regulator-min-microvolt = <935000>;
175                 regulator-max-microvolt = <1200000>;
176                 regulator-boot-on;
177                 regulator-always-on;
178         };
179 };
180
181 &cpu0 {
182         cpu0-supply = <&vdd_dvfs>;
183         operating-points = <
184                 /* kHz  uV */
185                 1950000 1115000
186                 1462500  995000
187         >;
188         voltage-tolerance = <1>; /* 1% */
189 };
190
191 &cmt1 {
192         status = "okay";
193 };
194
195 &pfc {
196         scifa0_pins: serial0 {
197                 renesas,groups = "scifa0_data";
198                 renesas,function = "scifa0";
199         };
200
201         mmc0_pins: mmc {
202                 renesas,groups = "mmc0_data8", "mmc0_ctrl";
203                 renesas,function = "mmc0";
204         };
205
206         sdhi0_pins: sd0 {
207                 renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd";
208                 renesas,function = "sdhi0";
209         };
210
211         sdhi1_pins: sd1 {
212                 renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
213                 renesas,function = "sdhi1";
214         };
215
216         keyboard_pins: keyboard {
217                 renesas,pins = "PORT324", "PORT325", "PORT326", "PORT327",
218                                "PORT328", "PORT329";
219                 bias-pull-up;
220         };
221 };
222
223 &mmcif0 {
224         vmmc-supply = <&vcc_mmc0>;
225         bus-width = <8>;
226         non-removable;
227         pinctrl-names = "default";
228         pinctrl-0 = <&mmc0_pins>;
229         status = "okay";
230 };
231
232 &scifa0 {
233         pinctrl-0 = <&scifa0_pins>;
234         pinctrl-names = "default";
235
236         status = "okay";
237 };
238
239 &sdhi0 {
240         vmmc-supply = <&vcc_sdhi0>;
241         bus-width = <4>;
242         toshiba,mmc-wrprotect-disable;
243         pinctrl-names = "default";
244         pinctrl-0 = <&sdhi0_pins>;
245         status = "okay";
246 };
247
248 &sdhi1 {
249         vmmc-supply = <&ape6evm_fixed_3v3>;
250         bus-width = <4>;
251         broken-cd;
252         toshiba,mmc-wrprotect-disable;
253         pinctrl-names = "default";
254         pinctrl-0 = <&sdhi1_pins>;
255         status = "okay";
256 };