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