1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include "kirkwood.dtsi"
5#include "kirkwood-6282.dtsi"
6
7/ {
8	model = "Universal Scientific Industrial Co. Topkick-1281P2";
9	compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";
10
11	memory {
12		device_type = "memory";
13		reg = <0x00000000 0x10000000>;
14	};
15
16	chosen {
17		bootargs = "console=ttyS0,115200n8 earlyprintk";
18		stdout-path = &uart0;
19	};
20
21	ocp@f1000000 {
22		pinctrl: pin-controller@10000 {
23			/*
24			 * Switch positions
25			 *
26			 *     /-SW_LEFT(2)
27			 *     |
28			 *     |   /-SW_IDLE
29			 *     |   |
30			 *     |   |   /-SW_RIGHT
31			 *     |   |   |
32			 * PS [L] [I] [R] LEDS
33			 */
34			pinctrl-0 = <&pmx_sw_left &pmx_sw_right
35				     &pmx_sw_idle &pmx_sw_left2>;
36			pinctrl-names = "default";
37
38			pmx_led_disk_yellow: pmx-led-disk-yellow {
39				marvell,pins = "mpp21";
40				marvell,function = "gpio";
41			};
42
43			pmx_sata0_pwr_enable: pmx-sata0-pwr-enable {
44				marvell,pins = "mpp36";
45				marvell,function = "gpio";
46			};
47
48			pmx_led_sys_red: pmx-led-sys-red {
49				marvell,pins = "mpp37";
50				marvell,function = "gpio";
51			};
52
53			pmx_led_sys_blue: pmx-led-sys-blue {
54				marvell,pins = "mpp38";
55				marvell,function = "gpio";
56			};
57
58			pmx_led_wifi_green: pmx-led-wifi-green {
59				marvell,pins = "mpp39";
60				marvell,function = "gpio";
61			};
62
63			pmx_sw_left: pmx-sw-left {
64				marvell,pins = "mpp43";
65				marvell,function = "gpio";
66			};
67
68			pmx_sw_right: pmx-sw-right {
69				marvell,pins = "mpp44";
70				marvell,function = "gpio";
71			};
72
73			pmx_sw_idle: pmx-sw-idle {
74				marvell,pins = "mpp45";
75				marvell,function = "gpio";
76			};
77
78			pmx_sw_left2: pmx-sw-left2 {
79				marvell,pins = "mpp46";
80				marvell,function = "gpio";
81			};
82
83			pmx_led_wifi_yellow: pmx-led-wifi-yellow {
84				marvell,pins = "mpp48";
85				marvell,function = "gpio";
86			};
87		};
88
89		serial@12000 {
90			status = "okay";
91		};
92
93		sata@80000 {
94			status = "okay";
95			nr-ports = <1>;
96		};
97
98		i2c@11000 {
99			status = "okay";
100		};
101
102		mvsdio@90000 {
103			pinctrl-0 = <&pmx_sdio>;
104			pinctrl-names = "default";
105			status = "okay";
106			/* No CD or WP GPIOs */
107			broken-cd;
108		};
109	};
110
111	gpio-leds {
112		/*
113		 * GPIO LED layout
114		 *
115		 *       /-SYS_LED(2)
116		 *       |
117		 *       |   /-DISK_LED
118		 *       |   |
119		 *       |   |   /-WLAN_LED(2)
120		 *       |   |   |
121		 * [SW] [*] [*] [*]
122		 */
123
124		compatible = "gpio-leds";
125		pinctrl-0 = <&pmx_led_disk_yellow &pmx_led_sys_red
126			     &pmx_led_sys_blue &pmx_led_wifi_green
127			     &pmx_led_wifi_yellow>;
128		pinctrl-names = "default";
129
130		disk {
131			label = "topkick:yellow:disk";
132			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
133			linux,default-trigger = "disk-activity";
134		};
135		system2 {
136			label = "topkick:red:system";
137			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
138		};
139		system {
140			label = "topkick:blue:system";
141			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
142			default-state = "on";
143		};
144		wifi {
145			label = "topkick:green:wifi";
146			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
147		};
148		wifi2 {
149			label = "topkick:yellow:wifi";
150			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
151		};
152	};
153	regulators {
154		compatible = "simple-bus";
155		#address-cells = <1>;
156		#size-cells = <0>;
157		pinctrl-0 = <&pmx_sata0_pwr_enable>;
158		pinctrl-names = "default";
159
160		sata0_power: regulator@1 {
161			compatible = "regulator-fixed";
162			reg = <1>;
163			regulator-name = "SATA0 Power";
164			regulator-min-microvolt = <5000000>;
165			regulator-max-microvolt = <5000000>;
166			enable-active-high;
167			regulator-always-on;
168			regulator-boot-on;
169			gpio = <&gpio1 4 0>;
170		};
171	};
172};
173
174&nand {
175	status = "okay";
176
177	partition@0 {
178		label = "u-boot";
179		reg = <0x0000000 0x180000>;
180	};
181
182	partition@180000 {
183		label = "u-boot env";
184		reg = <0x0180000 0x20000>;
185	};
186
187	partition@200000 {
188		label = "uImage";
189		reg = <0x0200000 0x600000>;
190	};
191
192	partition@800000 {
193		label = "uInitrd";
194		reg = <0x0800000 0x1000000>;
195	};
196
197	partition@1800000 {
198		label = "rootfs";
199		reg = <0x1800000 0xe800000>;
200	};
201};
202
203&mdio {
204	status = "okay";
205
206	ethphy0: ethernet-phy@0 {
207		reg = <0>;
208	};
209};
210
211&eth0 {
212	status = "okay";
213	ethernet0-port@0 {
214		phy-handle = <&ethphy0>;
215	};
216};
217