1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Ctera C200 V1 Board Description
4*724ba675SRob Herring * Copyright 2021-2022 Pawel Dembicki <paweldembicki@gmail.com>
5*724ba675SRob Herring */
6*724ba675SRob Herring
7*724ba675SRob Herring/dts-v1/;
8*724ba675SRob Herring
9*724ba675SRob Herring#include "kirkwood.dtsi"
10*724ba675SRob Herring#include "kirkwood-6281.dtsi"
11*724ba675SRob Herring#include <dt-bindings/leds/common.h>
12*724ba675SRob Herring
13*724ba675SRob Herring/ {
14*724ba675SRob Herring	model = "Ctera C200 V1";
15*724ba675SRob Herring	compatible = "ctera,c200-v1", "marvell,kirkwood-88f6281", "marvell,kirkwood";
16*724ba675SRob Herring
17*724ba675SRob Herring	chosen {
18*724ba675SRob Herring		bootargs = "console=ttyS0,115200";
19*724ba675SRob Herring		stdout-path = &uart0;
20*724ba675SRob Herring	};
21*724ba675SRob Herring
22*724ba675SRob Herring	memory@0 {
23*724ba675SRob Herring		device_type = "memory";
24*724ba675SRob Herring		reg = <0x00000000 0x20000000>;
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	keys {
28*724ba675SRob Herring		compatible = "gpio-keys";
29*724ba675SRob Herring		pinctrl-0 = <&pmx_buttons>;
30*724ba675SRob Herring		pinctrl-names = "default";
31*724ba675SRob Herring
32*724ba675SRob Herring		power {
33*724ba675SRob Herring			label = "Power Button";
34*724ba675SRob Herring			linux,code = <KEY_POWER>;
35*724ba675SRob Herring			gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
36*724ba675SRob Herring		};
37*724ba675SRob Herring
38*724ba675SRob Herring		reset {
39*724ba675SRob Herring			label = "Reset Button";
40*724ba675SRob Herring			linux,code = <KEY_RESTART>;
41*724ba675SRob Herring			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
42*724ba675SRob Herring		};
43*724ba675SRob Herring
44*724ba675SRob Herring		usb1 {
45*724ba675SRob Herring			label = "USB1 Button";
46*724ba675SRob Herring			linux,code = <BTN_0>;
47*724ba675SRob Herring			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
48*724ba675SRob Herring		};
49*724ba675SRob Herring
50*724ba675SRob Herring		usb2 {
51*724ba675SRob Herring			label = "USB2 Button";
52*724ba675SRob Herring			linux,code = <BTN_1>;
53*724ba675SRob Herring			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
54*724ba675SRob Herring		};
55*724ba675SRob Herring	};
56*724ba675SRob Herring
57*724ba675SRob Herring	gpio-poweroff {
58*724ba675SRob Herring		compatible = "gpio-poweroff";
59*724ba675SRob Herring		pinctrl-0 = <&pmx_poweroff>;
60*724ba675SRob Herring		pinctrl-names = "default";
61*724ba675SRob Herring		gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
62*724ba675SRob Herring	};
63*724ba675SRob Herring
64*724ba675SRob Herring	leds {
65*724ba675SRob Herring		compatible = "gpio-leds";
66*724ba675SRob Herring		pinctrl-0 = <&pmx_leds>;
67*724ba675SRob Herring		pinctrl-names = "default";
68*724ba675SRob Herring
69*724ba675SRob Herring		led-0 {
70*724ba675SRob Herring			function = LED_FUNCTION_DISK;
71*724ba675SRob Herring			function-enumerator = <2>;
72*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
73*724ba675SRob Herring			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
74*724ba675SRob Herring		};
75*724ba675SRob Herring
76*724ba675SRob Herring		led-1 {
77*724ba675SRob Herring			function = LED_FUNCTION_DISK;
78*724ba675SRob Herring			function-enumerator = <1>;
79*724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
80*724ba675SRob Herring			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
81*724ba675SRob Herring		};
82*724ba675SRob Herring
83*724ba675SRob Herring		led-2 {
84*724ba675SRob Herring			function = LED_FUNCTION_DISK;
85*724ba675SRob Herring			function-enumerator = <2>;
86*724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
87*724ba675SRob Herring			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
88*724ba675SRob Herring		};
89*724ba675SRob Herring
90*724ba675SRob Herring		led-3 {
91*724ba675SRob Herring			function = LED_FUNCTION_DISK;
92*724ba675SRob Herring			function-enumerator = <1>;
93*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
94*724ba675SRob Herring			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
95*724ba675SRob Herring		};
96*724ba675SRob Herring
97*724ba675SRob Herring		led-4 {
98*724ba675SRob Herring			function = LED_FUNCTION_STATUS;
99*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
100*724ba675SRob Herring			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
101*724ba675SRob Herring		};
102*724ba675SRob Herring
103*724ba675SRob Herring		led-5 {
104*724ba675SRob Herring			function = LED_FUNCTION_STATUS;
105*724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
106*724ba675SRob Herring			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
107*724ba675SRob Herring		};
108*724ba675SRob Herring
109*724ba675SRob Herring		led-6 {
110*724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
111*724ba675SRob Herring			color = <LED_COLOR_ID_BLUE>;
112*724ba675SRob Herring			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
113*724ba675SRob Herring		};
114*724ba675SRob Herring
115*724ba675SRob Herring		led-7 {
116*724ba675SRob Herring			function = LED_FUNCTION_DISK_ERR;
117*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
118*724ba675SRob Herring			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
119*724ba675SRob Herring		};
120*724ba675SRob Herring
121*724ba675SRob Herring		led-8 {
122*724ba675SRob Herring			function = LED_FUNCTION_DISK_ERR;
123*724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
124*724ba675SRob Herring			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
125*724ba675SRob Herring		};
126*724ba675SRob Herring
127*724ba675SRob Herring		led-9 {
128*724ba675SRob Herring			function = LED_FUNCTION_USB;
129*724ba675SRob Herring			function-enumerator = <1>;
130*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
131*724ba675SRob Herring			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
132*724ba675SRob Herring		};
133*724ba675SRob Herring
134*724ba675SRob Herring		led-10 {
135*724ba675SRob Herring			function = LED_FUNCTION_USB;
136*724ba675SRob Herring			function-enumerator = <1>;
137*724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
138*724ba675SRob Herring			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
139*724ba675SRob Herring			linux,default-trigger = "usbport";
140*724ba675SRob Herring			trigger-sources = <&hub_port2>;
141*724ba675SRob Herring		};
142*724ba675SRob Herring
143*724ba675SRob Herring		led-11 {
144*724ba675SRob Herring			function = LED_FUNCTION_USB;
145*724ba675SRob Herring			function-enumerator = <2>;
146*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
147*724ba675SRob Herring			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
148*724ba675SRob Herring		};
149*724ba675SRob Herring
150*724ba675SRob Herring		led-12 {
151*724ba675SRob Herring			function = LED_FUNCTION_USB;
152*724ba675SRob Herring			function-enumerator = <2>;
153*724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
154*724ba675SRob Herring			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
155*724ba675SRob Herring			linux,default-trigger = "usbport";
156*724ba675SRob Herring			trigger-sources = <&hub_port1>;
157*724ba675SRob Herring		};
158*724ba675SRob Herring	};
159*724ba675SRob Herring};
160*724ba675SRob Herring
161*724ba675SRob Herring&eth0 {
162*724ba675SRob Herring	status = "okay";
163*724ba675SRob Herring};
164*724ba675SRob Herring
165*724ba675SRob Herring&eth0port {
166*724ba675SRob Herring	phy-handle = <&ethphy9>;
167*724ba675SRob Herring};
168*724ba675SRob Herring
169*724ba675SRob Herring&i2c0 {
170*724ba675SRob Herring	status = "okay";
171*724ba675SRob Herring
172*724ba675SRob Herring	rtc@30 {
173*724ba675SRob Herring		compatible = "s35390a";
174*724ba675SRob Herring		reg = <0x30>;
175*724ba675SRob Herring	};
176*724ba675SRob Herring
177*724ba675SRob Herring	lm63@4c {
178*724ba675SRob Herring		compatible = "national,lm63";
179*724ba675SRob Herring		reg = <0x4c>;
180*724ba675SRob Herring	};
181*724ba675SRob Herring};
182*724ba675SRob Herring
183*724ba675SRob Herring&mdio {
184*724ba675SRob Herring	status = "okay";
185*724ba675SRob Herring
186*724ba675SRob Herring	ethphy9: ethernet-phy@9 {
187*724ba675SRob Herring		reg = <9>;
188*724ba675SRob Herring	};
189*724ba675SRob Herring};
190*724ba675SRob Herring
191*724ba675SRob Herring&nand {
192*724ba675SRob Herring	status = "okay";
193*724ba675SRob Herring	chip-delay = <40>;
194*724ba675SRob Herring
195*724ba675SRob Herring	partition@0 {
196*724ba675SRob Herring		label = "uboot";
197*724ba675SRob Herring		reg = <0x0000000 0x200000>;
198*724ba675SRob Herring	};
199*724ba675SRob Herring
200*724ba675SRob Herring	partition@200000 {
201*724ba675SRob Herring		label = "certificate";
202*724ba675SRob Herring		reg = <0x0200000 0x100000>;
203*724ba675SRob Herring	};
204*724ba675SRob Herring
205*724ba675SRob Herring	partition@300000 {
206*724ba675SRob Herring		label = "preset_cfg";
207*724ba675SRob Herring		reg = <0x0300000 0x100000>;
208*724ba675SRob Herring	};
209*724ba675SRob Herring
210*724ba675SRob Herring	partition@400000 {
211*724ba675SRob Herring		label = "dev_params";
212*724ba675SRob Herring		reg = <0x0400000 0x100000>;
213*724ba675SRob Herring	};
214*724ba675SRob Herring
215*724ba675SRob Herring	partition@500000 {
216*724ba675SRob Herring		label = "active_bank";
217*724ba675SRob Herring		reg = <0x0500000 0x0100000>;
218*724ba675SRob Herring	};
219*724ba675SRob Herring
220*724ba675SRob Herring	partition@600000 {
221*724ba675SRob Herring		label = "magic";
222*724ba675SRob Herring		reg = <0x0600000 0x0100000>;
223*724ba675SRob Herring	};
224*724ba675SRob Herring
225*724ba675SRob Herring	partition@700000 {
226*724ba675SRob Herring		label = "bank1";
227*724ba675SRob Herring		reg = <0x0700000 0x2800000>;
228*724ba675SRob Herring	};
229*724ba675SRob Herring
230*724ba675SRob Herring	partition@2f00000 {
231*724ba675SRob Herring		label = "bank2";
232*724ba675SRob Herring		reg = <0x2f00000 0x2800000>;
233*724ba675SRob Herring	};
234*724ba675SRob Herring
235*724ba675SRob Herring	/* 0x5700000-0x5a00000 undefined in vendor firmware */
236*724ba675SRob Herring
237*724ba675SRob Herring	partition@5a00000 {
238*724ba675SRob Herring		label = "reserved";
239*724ba675SRob Herring		reg = <0x5a00000 0x2000000>;
240*724ba675SRob Herring	};
241*724ba675SRob Herring
242*724ba675SRob Herring	partition@7a00000 {
243*724ba675SRob Herring		label = "rootfs";
244*724ba675SRob Herring		reg = <0x7a00000 0x8600000>;
245*724ba675SRob Herring	};
246*724ba675SRob Herring};
247*724ba675SRob Herring
248*724ba675SRob Herring&pinctrl {
249*724ba675SRob Herring	/* Buzzer gpios are connected to two pins of buzzer.
250*724ba675SRob Herring	 * This buzzer require a modulated signal from gpio.
251*724ba675SRob Herring	 * Leave it as is due lack of proper driver.
252*724ba675SRob Herring	 */
253*724ba675SRob Herring	pmx_buzzer: pmx-buzzer {
254*724ba675SRob Herring		marvell,pins = "mpp12", "mpp13";
255*724ba675SRob Herring		marvell,function = "gpio";
256*724ba675SRob Herring	};
257*724ba675SRob Herring
258*724ba675SRob Herring	pmx_leds: pmx-leds {
259*724ba675SRob Herring		marvell,pins = "mpp14", "mpp15", "mpp16", "mpp17", "mpp38",
260*724ba675SRob Herring			       "mpp39", "mpp40", "mpp42", "mpp43", "mpp44",
261*724ba675SRob Herring			       "mpp45", "mpp46", "mpp47";
262*724ba675SRob Herring		marvell,function = "gpio";
263*724ba675SRob Herring	};
264*724ba675SRob Herring
265*724ba675SRob Herring	pmx_buttons: pmx-buttons {
266*724ba675SRob Herring		marvell,pins = "mpp28", "mpp29", "mpp48", "mpp49";
267*724ba675SRob Herring		marvell,function = "gpio";
268*724ba675SRob Herring	};
269*724ba675SRob Herring
270*724ba675SRob Herring	pmx_poweroff: pmx-poweroff {
271*724ba675SRob Herring		marvell,pins = "mpp34";
272*724ba675SRob Herring		marvell,function = "gpio";
273*724ba675SRob Herring	};
274*724ba675SRob Herring};
275*724ba675SRob Herring
276*724ba675SRob Herring&rtc {
277*724ba675SRob Herring	status = "disabled";
278*724ba675SRob Herring};
279*724ba675SRob Herring
280*724ba675SRob Herring&sata {
281*724ba675SRob Herring	status = "okay";
282*724ba675SRob Herring	nr-ports = <2>;
283*724ba675SRob Herring};
284*724ba675SRob Herring
285*724ba675SRob Herring&uart0 {
286*724ba675SRob Herring	status = "okay";
287*724ba675SRob Herring};
288*724ba675SRob Herring
289*724ba675SRob Herring&usb0 {
290*724ba675SRob Herring	#address-cells = <1>;
291*724ba675SRob Herring	#size-cells = <0>;
292*724ba675SRob Herring	status = "okay";
293*724ba675SRob Herring
294*724ba675SRob Herring	port@1 {
295*724ba675SRob Herring		#address-cells = <1>;
296*724ba675SRob Herring		#size-cells = <0>;
297*724ba675SRob Herring		reg = <1>;
298*724ba675SRob Herring		#trigger-source-cells = <0>;
299*724ba675SRob Herring
300*724ba675SRob Herring		hub_port1: port@1 {
301*724ba675SRob Herring			reg = <1>;
302*724ba675SRob Herring			#trigger-source-cells = <0>;
303*724ba675SRob Herring		};
304*724ba675SRob Herring
305*724ba675SRob Herring		hub_port2: port@2 {
306*724ba675SRob Herring			reg = <2>;
307*724ba675SRob Herring			#trigger-source-cells = <0>;
308*724ba675SRob Herring		};
309*724ba675SRob Herring	};
310*724ba675SRob Herring};
311