Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / gemini-wbd111.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree file for Wiliboard WBD-111
4  */
5
6 /dts-v1/;
7
8 #include "gemini.dtsi"
9 #include <dt-bindings/input/input.h>
10
11 / {
12         model = "Wiliboard WBD-111";
13         compatible = "wiliboard,wbd111", "cortina,gemini";
14         #address-cells = <1>;
15         #size-cells = <1>;
16
17         memory { /* 128 MB */
18                 device_type = "memory";
19                 reg = <0x00000000 0x8000000>;
20         };
21
22         chosen {
23                 bootargs = "console=ttyS0,115200n8";
24                 stdout-path = &uart0;
25         };
26
27         gpio_keys {
28                 compatible = "gpio-keys";
29                 #address-cells = <1>;
30                 #size-cells = <0>;
31
32                 button@5 {
33                         debounce_interval = <50>;
34                         wakeup-source;
35                         linux,code = <KEY_SETUP>;
36                         label = "reset";
37                         /* Conflict with ICE */
38                         gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
39                 };
40         };
41
42         leds {
43                 compatible = "gpio-leds";
44
45                 led@1 {
46                         label = "wbd111:red:L3";
47                         /* Conflict with TVC and extended parallel flash */
48                         gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
49                         default-state = "off";
50                 };
51                 led@2 {
52                         label = "wbd111:green:L4";
53                         /* Conflict with TVC and extended parallel flash */
54                         gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
55                         default-state = "off";
56                 };
57                 led@3 {
58                         label = "wbd111:red:L4";
59                         /* Conflict with TVC and extended parallel flash */
60                         gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
61                         default-state = "off";
62                 };
63                 led@5 {
64                         label = "wbd111:green:L3";
65                         /* Conflict with TVC and extended parallel flash */
66                         gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
67                         default-state = "on";
68                         linux,default-trigger = "heartbeat";
69                 };
70         };
71
72         mdio0: ethernet-phy {
73                 compatible = "virtual,mdio-gpio";
74                 gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
75                         <&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
76                 #address-cells = <1>;
77                 #size-cells = <0>;
78
79                 phy0: ethernet-phy@1 {
80                         reg = <1>;
81                         device_type = "ethernet-phy";
82                 };
83         };
84
85         soc {
86                 flash@30000000 {
87                         status = "okay";
88                         /* 8MB of flash */
89                         reg = <0x30000000 0x00800000>;
90
91                         partition@0 {
92                                 label = "RedBoot";
93                                 reg = <0x00000000 0x00020000>;
94                                 read-only;
95                         };
96                         partition@20000 {
97                                 label = "kernel";
98                                 reg = <0x00020000 0x00100000>;
99                         };
100                         partition@120000 {
101                                 label = "rootfs";
102                                 reg = <0x00120000 0x006a0000>;
103                         };
104                         partition@7c0000 {
105                                 label = "VCTL";
106                                 reg = <0x007c0000 0x00010000>;
107                                 read-only;
108                         };
109                         partition@7d0000 {
110                                 label = "cfg";
111                                 reg = <0x007d0000 0x00010000>;
112                                 read-only;
113                         };
114                         partition@7e0000 {
115                                 label = "FIS";
116                                 reg = <0x007e0000 0x00010000>;
117                                 read-only;
118                         };
119                 };
120
121                 syscon: syscon@40000000 {
122                         pinctrl {
123                                 /*
124                                  * gpio0agrp cover line 0-4
125                                  * gpio0bgrp cover line 5
126                                  */
127                                 gpio0_default_pins: pinctrl-gpio0 {
128                                         mux {
129                                                 function = "gpio0";
130                                                 groups = "gpio0agrp",
131                                                 "gpio0bgrp";
132                                         };
133                                 };
134                         };
135                 };
136
137                 gpio0: gpio@4d000000 {
138                         pinctrl-names = "default";
139                         pinctrl-0 = <&gpio0_default_pins>;
140                 };
141
142                 pci@50000000 {
143                         status = "okay";
144                         interrupt-map-mask = <0xf800 0 0 7>;
145                         interrupt-map =
146                                 <0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
147                                 <0x4800 0 0 2 &pci_intc 1>,
148                                 <0x4800 0 0 3 &pci_intc 2>,
149                                 <0x4800 0 0 4 &pci_intc 3>,
150                                 <0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
151                                 <0x5000 0 0 2 &pci_intc 2>,
152                                 <0x5000 0 0 3 &pci_intc 3>,
153                                 <0x5000 0 0 4 &pci_intc 0>,
154                                 <0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
155                                 <0x5800 0 0 2 &pci_intc 3>,
156                                 <0x5800 0 0 3 &pci_intc 0>,
157                                 <0x5800 0 0 4 &pci_intc 1>,
158                                 <0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
159                                 <0x6000 0 0 2 &pci_intc 0>,
160                                 <0x6000 0 0 3 &pci_intc 1>,
161                                 <0x6000 0 0 4 &pci_intc 2>;
162                 };
163
164                 ethernet@60000000 {
165                         status = "okay";
166
167                         ethernet-port@0 {
168                                 phy-mode = "rgmii";
169                                 phy-handle = <&phy0>;
170                         };
171                         ethernet-port@1 {
172                                 /* Not used in this platform */
173                         };
174                 };
175         };
176 };