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