Merge tag 'tag-chrome-platform-for-v4.21' of git://git.kernel.org/pub/scm/linux/kerne...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / pxa300-raumfeld-common.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2
3 #include "pxa3xx.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/interrupt-controller/irq.h>
7
8 / {
9         /* Will be overridden by bootloader */
10         hw-revision = <0>;
11
12         chosen {
13                 bootargs = "root=ubi0:RootFS rootfstype=ubifs rw ubi.mtd=3";
14                 stdout-path = &ffuart;
15         };
16
17         memory {
18                 device_type = "memory";
19                 reg = <0xa0000000 0x8000000>;   /* 128 MB */
20         };
21
22         reg_3v3: regulator-3v3 {
23                 compatible = "regulator-fixed";
24                 regulator-name = "3v3-fixed-supply";
25                 regulator-min-microvolt = <3300000>;
26                 regulator-max-microvolt = <3300000>;
27                 regulator-always-on;
28         };
29
30         reg_1v8: regulator-1v8 {
31                 compatible = "regulator-fixed";
32                 regulator-name = "1v8-fixed-supply";
33                 regulator-min-microvolt = <1800000>;
34                 regulator-max-microvolt = <1800000>;
35                 regulator-always-on;
36         };
37
38         reg_va_5v0: regulator-va-5v0 {
39                 compatible = "regulator-fixed";
40                 regulator-name = "va-5v0-fixed-supply";
41                 regulator-min-microvolt = <5000000>;
42                 regulator-max-microvolt = <5000000>;
43                 gpio = <&gpio 124 GPIO_ACTIVE_HIGH>;
44                 enable-active-high;
45         };
46
47         ssp_dai0: ssp-dai0 {
48                 compatible = "mrvl,pxa-ssp-dai";
49                 pinctrl-names = "default";
50                 pinctrl-0 = <&ssp0_dai_pins>;
51                 port = <&ssp1>;
52                 #sound-dai-cells = <0>;
53                 dmas = <&pdma 13 3
54                         &pdma 14 3>;
55                 dma-names = "rx", "tx";
56                 clock-names = "extclk";
57         };
58
59         ssp_dai1: ssp-dai1 {
60                 compatible = "mrvl,pxa-ssp-dai";
61                 pinctrl-names = "default";
62                 pinctrl-0 = <&ssp1_dai_pins>;
63                 port = <&ssp2>;
64                 #sound-dai-cells = <0>;
65                 dmas = <&pdma 15 3
66                         &pdma 16 3>;
67                 dma-names = "rx", "tx";
68                 clock-names = "extclk";
69         };
70
71         spi: spi {
72                 compatible = "spi-gpio";
73                 #address-cells = <0x1>;
74                 #size-cells = <0>;
75                 pinctrl-names = "default";
76                 pinctrl-0 = <&spi_pins>;
77                 gpio-sck = <&gpio 95 GPIO_ACTIVE_HIGH>;
78                 gpio-miso = <&gpio 98 GPIO_ACTIVE_HIGH>;
79                 gpio-mosi = <&gpio 97 GPIO_ACTIVE_HIGH>;
80                 cs-gpios = <
81                         &gpio 34 GPIO_ACTIVE_HIGH
82                         &gpio 125 GPIO_ACTIVE_HIGH
83                         &gpio 96 GPIO_ACTIVE_HIGH
84                 >;
85                 num-chipselects = <3>;
86
87                 dac: dac@2 {
88                         compatible = "ti,dac7512";
89                         reg = <2>;
90                         spi-max-frequency = <1000000>;
91                         vcc-supply = <&reg_3v3>;
92                 };
93         };
94
95         keys: gpio-keys {
96                 compatible = "gpio-keys";
97                 pinctrl-names = "default";
98                 pinctrl-0 = <&gpio_keys_pins>;
99
100                 on-off {
101                         label = "on_off button";
102                         gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
103                         linux,code = <KEY_F6>;
104                 };
105
106                 rescue-boot {
107                         label = "rescue boot button";
108                         gpios = <&gpio 115 GPIO_ACTIVE_HIGH>;
109                         linux,code = <KEY_F4>;
110                 };
111
112                 setup {
113                         label = "setup";
114                         gpios = <&gpio 119 GPIO_ACTIVE_HIGH>;
115                         linux,code = <KEY_F3>;
116                 };
117         };
118
119         rotary: rotary-encoder {
120                 compatible = "rotary-encoder";
121                 gpios = <
122                         &gpio 19 GPIO_ACTIVE_LOW
123                         &gpio 20 GPIO_ACTIVE_HIGH
124                 >;
125                 linux,axis = <REL_X>;
126                 rotary-encoder,relative-axis;
127         };
128
129         leds: leds {
130                 compatible = "gpio-leds";
131                 pinctrl-names = "default";
132                 pinctrl-0 = <&led_pins_a &led_pins_b>;
133
134                 left {
135                         label = "raumfeld:1";
136                         gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
137                 };
138
139                 right {
140                         label = "raumfeld:2";
141                         gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
142                 };
143         };
144
145         poweroff {
146                 compatible = "gpio-poweroff";
147                 pinctrl-names = "default";
148                 pinctrl-0 = <&poweroff_pins>;
149                 gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
150         };
151
152         mmc0_pwrseq: mmc-pwrseq {
153                 compatible = "mmc-pwrseq-simple";
154                 pinctrl-names = "default";
155                 pinctrl-0 = <&mmc0_pwrseq_pins>;
156                 reset-gpios = <
157                         &gpio 113 GPIO_ACTIVE_LOW       /* W2W_RESET    */
158                         &gpio 114 GPIO_ACTIVE_LOW       /* W2W_PDN      */
159                 >;
160         };
161
162         ethernet: ethernet@10000000 {
163                 compatible = "smsc,lan9115";
164                 pinctrl-names = "default";
165                 pinctrl-0 = <&smsc_pins &smsc_bus_pins>;
166                 reg = <0x10000000 0x100000>;
167                 phy-mode = "mii";
168                 interrupt-parent = <&gpio>;
169                 interrupts = <40 IRQ_TYPE_EDGE_FALLING>;
170                 vdd33a-supply = <&reg_3v3>;
171                 vddvario-supply = <&reg_1v8>;
172                 reset-gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
173                 reg-io-width = <4>;
174                 smsc,save-mac-address;
175                 smsc,irq-push-pull;
176         };
177 };
178
179 &ffuart {
180         status = "okay";
181 };
182
183 &pwri2c {
184         status = "okay";
185
186         max8660: regulator@34 {
187                 compatible = "maxim,max8660";
188                 reg = <0x34>;
189
190                 regulators {
191                         regulator-v3 {
192                                 regulator-compatible= "V3(DCDC)";
193                                 regulator-min-microvolt = <725000>;
194                                 regulator-max-microvolt = <1800000>;
195                         };
196
197                         regulator-v4 {
198                                 regulator-compatible= "V4(DCDC)";
199                                 regulator-min-microvolt = <725000>;
200                                 regulator-max-microvolt = <1800000>;
201                         };
202
203                         regulator-v5 {
204                                 regulator-compatible= "V5(LDO)";
205                                 regulator-min-microvolt = <1700000>;
206                                 regulator-max-microvolt = <2000000>;
207                         };
208
209                         reg_vcc_sdio: regulator-v6 {
210                                 regulator-compatible= "V6(LDO)";
211                                 regulator-min-microvolt = <3300000>;
212                                 regulator-max-microvolt = <3300000>;
213                         };
214
215                         regulator-v7 {
216                                 regulator-compatible= "V7(LDO)";
217                                 regulator-min-microvolt = <1800000>;
218                                 regulator-max-microvolt = <3300000>;
219                         };
220                 };
221         };
222 };
223
224 &pxai2c1 {
225         status = "okay";
226         mrvl,i2c-fast-mode;
227         pinctrl-names = "default";
228         pinctrl-0 = <&pxai2c1_pins>;
229 };
230
231 &ssp1 {
232         status = "okay";
233 };
234
235 &ssp2 {
236         status = "okay";
237 };
238
239 &nand_controller {
240         status = "okay";
241
242         nand@0 {
243                 reg = <0>;
244                 nand-rb = <0>;
245                 nand-ecc-mode = "hw";
246                 marvell,nand-keep-config;
247
248                 partitions {
249                         compatible = "fixed-partitions";
250                         #address-cells = <1>;
251                         #size-cells = <1>;
252
253                         partition@0 {
254                                 label = "Bootloader";
255                                 reg = <0x0000000 0xa0000>;
256                                 read-only;
257                         };
258
259                         partition@a0000 {
260                                 label = "BootloaderEnvironment";
261                                 reg = <0x0a0000 0x20000>;
262                         };
263
264                         partition@c0000 {
265                                 label = "BootloaderSplashScreen";
266                                 reg = <0x0c0000 0x60000>;
267                         };
268
269                         partition@120000 {
270                                 label = "UBI";
271                                 reg = <0x120000 0x7ee0000>;
272                         };
273                 };
274         };
275 };
276
277 &usb0 {
278         status = "okay";
279         marvell,enable-port1;
280         marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */
281         pinctrl-names = "default";
282         pinctrl-0 = <&pxa3xx_ohci_pins>;
283 };
284
285 &mmc0 {
286         status = "okay";
287         pinctrl-names = "default";
288         pinctrl-0 = <&mmc0_pins>;
289         pxa-mmc,detect-delay-ms = <200>;
290         vmmc-supply = <&reg_vcc_sdio>;
291         mmc-pwrseq = <&mmc0_pwrseq>;
292         non-removable;
293         bus-width = <4>;
294 };
295
296 &pinctrl {
297         poweroff_pins: poweroff-pins {
298                 pinctrl-single,pins = <MFP_PIN_PXA300(16) MFP_AF0>;
299                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
300         };
301
302         led_pins_a: led-pins-a {
303                 pinctrl-single,pins = <MFP_PIN_PXA300(35) MFP_AF0>;
304                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
305         };
306
307         led_pins_b: led-pins-b {
308                 pinctrl-single,pins = <MFP_PIN_PXA300(36) MFP_AF0>;
309                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_DRIVE_HIGH);
310         };
311
312         pxai2c1_pins: pxai2c1-pins {
313                 pinctrl-single,pins = <
314                         MFP_PIN_PXA300(21) MFP_AF1      /* I2C_SCL      */
315                         MFP_PIN_PXA300(22) MFP_AF1      /* I2C_SDA      */
316                 >;
317                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_HIGH);
318         };
319
320         gpio_keys_pins: gpio-keys-pins {
321                 pinctrl-single,pins = <
322                         MFP_PIN_PXA300(14) MFP_AF0      /* SCK          */
323                         MFP_PIN_PXA300(115) MFP_AF0     /* MOSI         */
324                         MFP_PIN_PXA300(119) MFP_AF0     /* MISO         */
325                 >;
326                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
327         };
328
329         spi_pins: spi-pins {
330                 pinctrl-single,pins = <
331                         MFP_PIN_PXA300(95) MFP_AF0      /* SCK          */
332                         MFP_PIN_PXA300(97) MFP_AF0      /* MOSI         */
333                         MFP_PIN_PXA300(98) MFP_AF0      /* MISO         */
334                         MFP_PIN_PXA300(34) MFP_AF0      /* CS#0         */
335                         MFP_PIN_PXA300(125) MFP_AF0     /* CS#1         */
336                         MFP_PIN_PXA300(96) MFP_AF0      /* CS#2         */
337                 >;
338                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
339         };
340
341         pxa3xx_ohci_pins: pxa3xx-ohci-pins {
342                 pinctrl-single,pins = <
343                         MFP_PIN_PXA300_2(0) MFP_AF1     /* USBHPEN      */
344                         MFP_PIN_PXA300_2(1) MFP_AF1     /* USBHPWR      */
345                 >;
346                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
347         };
348
349         smsc_pins: smsc-pins {
350                 pinctrl-single,pins = <
351                         MFP_PIN_PXA300(39) MFP_AF0      /* RESET        */
352                         MFP_PIN_PXA300(40) MFP_AF0      /* IRQ          */
353                 >;
354                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
355         };
356
357         smsc_bus_pins: smsc-bus-pins {
358                 pinctrl-single,pins = <
359                         MFP_PIN_PXA300(1) MFP_AF1       /* nCS2         */
360                 >;
361                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
362         };
363
364         mmc0_pins: mmc0-pins {
365                 pinctrl-single,pins = <
366                         MFP_PIN_PXA300(3) MFP_AF4       /* MMC1_DAT0    */
367                         MFP_PIN_PXA300(4) MFP_AF4       /* MMC1_DAT1    */
368                         MFP_PIN_PXA300(5) MFP_AF4       /* MMC1_DAT2    */
369                         MFP_PIN_PXA300(6) MFP_AF4       /* MMC1_DAT3    */
370                         MFP_PIN_PXA300(7) MFP_AF4       /* MMC1_CLK     */
371                         MFP_PIN_PXA300(8) MFP_AF4       /* MMC1_CMD     */
372                 >;
373                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_DRIVE_HIGH);
374         };
375
376         mmc0_pwrseq_pins: mmc0-pwrseq-pins {
377                 pinctrl-single,pins = <
378                         MFP_PIN_PXA300(113) MFP_AF0     /* W2W_RESET    */
379                         MFP_PIN_PXA300(114) MFP_AF0     /* W2W_PDN      */
380                 >;
381                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
382         };
383
384         ssp0_dai_pins: ssp0-dai-pins {
385                 pinctrl-single,pins = <
386                         MFP_PIN_PXA300(85) MFP_AF1      /* SSP1_SCLK    */
387                         MFP_PIN_PXA300(86) MFP_AF1      /* SSP1_FRM     */
388                         MFP_PIN_PXA300(87) MFP_AF1      /* SSP1_TXD     */
389                         MFP_PIN_PXA300(88) MFP_AF1      /* SSP1_RXD     */
390                         MFP_PIN_PXA300(89) MFP_AF1      /* SSP1_EXTCLK  */
391                         MFP_PIN_PXA300(90) MFP_AF1      /* SSP1_SYSCLK  */
392                 >;
393                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
394         };
395
396         ssp1_dai_pins: ssp1-dai-pins {
397                 pinctrl-single,pins = <
398                         MFP_PIN_PXA300(25) MFP_AF2      /* SSP2_SCLK    */
399                         MFP_PIN_PXA300(26) MFP_AF2      /* SSP2_FRM     */
400                         MFP_PIN_PXA300(27) MFP_AF2      /* SSP2_TXD     */
401                         MFP_PIN_PXA300(29) MFP_AF2      /* SSP2_EXTCLK  */
402                 >;
403                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
404         };
405 };