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