1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree file for Wiliboard WBD-222
4 */
5
6/dts-v1/;
7
8#include "gemini.dtsi"
9#include <dt-bindings/input/input.h>
10
11/ {
12	model = "Wiliboard WBD-222";
13	compatible = "wiligear,wiliboard-wbd222", "cortina,gemini";
14	#address-cells = <1>;
15	#size-cells = <1>;
16
17	memory@0 { /* 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
30		button-reset {
31			debounce-interval = <100>;
32			wakeup-source;
33			linux,code = <KEY_RESTART>;
34			label = "reset";
35			/* Conflict with ICE */
36			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
37		};
38	};
39
40	leds {
41		compatible = "gpio-leds";
42
43		led-red-l3 {
44			label = "wbd111:red:L3";
45			/* Conflict with TVC and extended parallel flash */
46			gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
47			default-state = "off";
48		};
49		led-green-l4 {
50			label = "wbd111:green:L4";
51			/* Conflict with TVC and extended parallel flash */
52			gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
53			default-state = "off";
54		};
55		led-red-l4 {
56			label = "wbd111:red:L4";
57			/* Conflict with TVC and extended parallel flash */
58			gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
59			default-state = "off";
60		};
61		led-green-l3 {
62			label = "wbd111:green:L3";
63			/* Conflict with TVC and extended parallel flash */
64			gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
65			default-state = "on";
66			linux,default-trigger = "heartbeat";
67		};
68	};
69
70	mdio0: mdio {
71		compatible = "virtual,mdio-gpio";
72		gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
73			<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
74		#address-cells = <1>;
75		#size-cells = <0>;
76
77		phy0: ethernet-phy@1 {
78			reg = <1>;
79			device_type = "ethernet-phy";
80		};
81
82		phy1: ethernet-phy@3 {
83			reg = <3>;
84			device_type = "ethernet-phy";
85		};
86	};
87
88	soc {
89		flash@30000000 {
90			status = "okay";
91			/* 8MB of flash */
92			reg = <0x30000000 0x00800000>;
93
94			partitions {
95				compatible = "redboot-fis";
96				/* Eraseblock at 0x7e0000 */
97				fis-index-block = <0x3f>;
98			};
99		};
100
101		syscon: syscon@40000000 {
102			pinctrl {
103				/*
104				 * gpio0agrp cover line 0-4
105				 * gpio0bgrp cover line 5
106				 */
107				gpio0_default_pins: pinctrl-gpio0 {
108					mux {
109						function = "gpio0";
110						groups = "gpio0agrp",
111						"gpio0bgrp";
112					};
113				};
114				pinctrl-gmii {
115					/* This platform use both the ethernet ports */
116					mux {
117						function = "gmii";
118						groups = "gmii_gmac0_grp", "gmii_gmac1_grp";
119					};
120				};
121			};
122		};
123
124		gpio0: gpio@4d000000 {
125			pinctrl-names = "default";
126			pinctrl-0 = <&gpio0_default_pins>;
127		};
128
129		pci@50000000 {
130			status = "okay";
131		};
132
133		ethernet@60000000 {
134			status = "okay";
135
136			ethernet-port@0 {
137				phy-mode = "rgmii";
138				phy-handle = <&phy0>;
139			};
140			ethernet-port@1 {
141				phy-mode = "rgmii";
142				phy-handle = <&phy1>;
143			};
144		};
145
146		usb@68000000 {
147			status = "okay";
148		};
149
150		usb@69000000 {
151			status = "okay";
152		};
153	};
154};
155