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