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