162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/dts-v1/;
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#include "kirkwood.dtsi"
562306a36Sopenharmony_ci#include "kirkwood-6282.dtsi"
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/ {
862306a36Sopenharmony_ci	model = "Universal Scientific Industrial Co. Topkick-1281P2";
962306a36Sopenharmony_ci	compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	memory {
1262306a36Sopenharmony_ci		device_type = "memory";
1362306a36Sopenharmony_ci		reg = <0x00000000 0x10000000>;
1462306a36Sopenharmony_ci	};
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	chosen {
1762306a36Sopenharmony_ci		bootargs = "console=ttyS0,115200n8 earlyprintk";
1862306a36Sopenharmony_ci		stdout-path = &uart0;
1962306a36Sopenharmony_ci	};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	ocp@f1000000 {
2262306a36Sopenharmony_ci		pinctrl: pin-controller@10000 {
2362306a36Sopenharmony_ci			/*
2462306a36Sopenharmony_ci			 * Switch positions
2562306a36Sopenharmony_ci			 *
2662306a36Sopenharmony_ci			 *     /-SW_LEFT(2)
2762306a36Sopenharmony_ci			 *     |
2862306a36Sopenharmony_ci			 *     |   /-SW_IDLE
2962306a36Sopenharmony_ci			 *     |   |
3062306a36Sopenharmony_ci			 *     |   |   /-SW_RIGHT
3162306a36Sopenharmony_ci			 *     |   |   |
3262306a36Sopenharmony_ci			 * PS [L] [I] [R] LEDS
3362306a36Sopenharmony_ci			 */
3462306a36Sopenharmony_ci			pinctrl-0 = <&pmx_sw_left &pmx_sw_right
3562306a36Sopenharmony_ci				     &pmx_sw_idle &pmx_sw_left2>;
3662306a36Sopenharmony_ci			pinctrl-names = "default";
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci			pmx_led_disk_yellow: pmx-led-disk-yellow {
3962306a36Sopenharmony_ci				marvell,pins = "mpp21";
4062306a36Sopenharmony_ci				marvell,function = "gpio";
4162306a36Sopenharmony_ci			};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci			pmx_sata0_pwr_enable: pmx-sata0-pwr-enable {
4462306a36Sopenharmony_ci				marvell,pins = "mpp36";
4562306a36Sopenharmony_ci				marvell,function = "gpio";
4662306a36Sopenharmony_ci			};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci			pmx_led_sys_red: pmx-led-sys-red {
4962306a36Sopenharmony_ci				marvell,pins = "mpp37";
5062306a36Sopenharmony_ci				marvell,function = "gpio";
5162306a36Sopenharmony_ci			};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci			pmx_led_sys_blue: pmx-led-sys-blue {
5462306a36Sopenharmony_ci				marvell,pins = "mpp38";
5562306a36Sopenharmony_ci				marvell,function = "gpio";
5662306a36Sopenharmony_ci			};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci			pmx_led_wifi_green: pmx-led-wifi-green {
5962306a36Sopenharmony_ci				marvell,pins = "mpp39";
6062306a36Sopenharmony_ci				marvell,function = "gpio";
6162306a36Sopenharmony_ci			};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci			pmx_sw_left: pmx-sw-left {
6462306a36Sopenharmony_ci				marvell,pins = "mpp43";
6562306a36Sopenharmony_ci				marvell,function = "gpio";
6662306a36Sopenharmony_ci			};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci			pmx_sw_right: pmx-sw-right {
6962306a36Sopenharmony_ci				marvell,pins = "mpp44";
7062306a36Sopenharmony_ci				marvell,function = "gpio";
7162306a36Sopenharmony_ci			};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci			pmx_sw_idle: pmx-sw-idle {
7462306a36Sopenharmony_ci				marvell,pins = "mpp45";
7562306a36Sopenharmony_ci				marvell,function = "gpio";
7662306a36Sopenharmony_ci			};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci			pmx_sw_left2: pmx-sw-left2 {
7962306a36Sopenharmony_ci				marvell,pins = "mpp46";
8062306a36Sopenharmony_ci				marvell,function = "gpio";
8162306a36Sopenharmony_ci			};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci			pmx_led_wifi_yellow: pmx-led-wifi-yellow {
8462306a36Sopenharmony_ci				marvell,pins = "mpp48";
8562306a36Sopenharmony_ci				marvell,function = "gpio";
8662306a36Sopenharmony_ci			};
8762306a36Sopenharmony_ci		};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci		serial@12000 {
9062306a36Sopenharmony_ci			status = "okay";
9162306a36Sopenharmony_ci		};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci		sata@80000 {
9462306a36Sopenharmony_ci			status = "okay";
9562306a36Sopenharmony_ci			nr-ports = <1>;
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		i2c@11000 {
9962306a36Sopenharmony_ci			status = "okay";
10062306a36Sopenharmony_ci		};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci		mvsdio@90000 {
10362306a36Sopenharmony_ci			pinctrl-0 = <&pmx_sdio>;
10462306a36Sopenharmony_ci			pinctrl-names = "default";
10562306a36Sopenharmony_ci			status = "okay";
10662306a36Sopenharmony_ci			/* No CD or WP GPIOs */
10762306a36Sopenharmony_ci			broken-cd;
10862306a36Sopenharmony_ci		};
10962306a36Sopenharmony_ci	};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	gpio-leds {
11262306a36Sopenharmony_ci		/*
11362306a36Sopenharmony_ci		 * GPIO LED layout
11462306a36Sopenharmony_ci		 *
11562306a36Sopenharmony_ci		 *       /-SYS_LED(2)
11662306a36Sopenharmony_ci		 *       |
11762306a36Sopenharmony_ci		 *       |   /-DISK_LED
11862306a36Sopenharmony_ci		 *       |   |
11962306a36Sopenharmony_ci		 *       |   |   /-WLAN_LED(2)
12062306a36Sopenharmony_ci		 *       |   |   |
12162306a36Sopenharmony_ci		 * [SW] [*] [*] [*]
12262306a36Sopenharmony_ci		 */
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci		compatible = "gpio-leds";
12562306a36Sopenharmony_ci		pinctrl-0 = <&pmx_led_disk_yellow &pmx_led_sys_red
12662306a36Sopenharmony_ci			     &pmx_led_sys_blue &pmx_led_wifi_green
12762306a36Sopenharmony_ci			     &pmx_led_wifi_yellow>;
12862306a36Sopenharmony_ci		pinctrl-names = "default";
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci		disk {
13162306a36Sopenharmony_ci			label = "topkick:yellow:disk";
13262306a36Sopenharmony_ci			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
13362306a36Sopenharmony_ci			linux,default-trigger = "disk-activity";
13462306a36Sopenharmony_ci		};
13562306a36Sopenharmony_ci		system2 {
13662306a36Sopenharmony_ci			label = "topkick:red:system";
13762306a36Sopenharmony_ci			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci		system {
14062306a36Sopenharmony_ci			label = "topkick:blue:system";
14162306a36Sopenharmony_ci			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
14262306a36Sopenharmony_ci			default-state = "on";
14362306a36Sopenharmony_ci		};
14462306a36Sopenharmony_ci		wifi {
14562306a36Sopenharmony_ci			label = "topkick:green:wifi";
14662306a36Sopenharmony_ci			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
14762306a36Sopenharmony_ci		};
14862306a36Sopenharmony_ci		wifi2 {
14962306a36Sopenharmony_ci			label = "topkick:yellow:wifi";
15062306a36Sopenharmony_ci			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
15162306a36Sopenharmony_ci		};
15262306a36Sopenharmony_ci	};
15362306a36Sopenharmony_ci	regulators {
15462306a36Sopenharmony_ci		compatible = "simple-bus";
15562306a36Sopenharmony_ci		#address-cells = <1>;
15662306a36Sopenharmony_ci		#size-cells = <0>;
15762306a36Sopenharmony_ci		pinctrl-0 = <&pmx_sata0_pwr_enable>;
15862306a36Sopenharmony_ci		pinctrl-names = "default";
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci		sata0_power: regulator@1 {
16162306a36Sopenharmony_ci			compatible = "regulator-fixed";
16262306a36Sopenharmony_ci			reg = <1>;
16362306a36Sopenharmony_ci			regulator-name = "SATA0 Power";
16462306a36Sopenharmony_ci			regulator-min-microvolt = <5000000>;
16562306a36Sopenharmony_ci			regulator-max-microvolt = <5000000>;
16662306a36Sopenharmony_ci			enable-active-high;
16762306a36Sopenharmony_ci			regulator-always-on;
16862306a36Sopenharmony_ci			regulator-boot-on;
16962306a36Sopenharmony_ci			gpio = <&gpio1 4 0>;
17062306a36Sopenharmony_ci		};
17162306a36Sopenharmony_ci	};
17262306a36Sopenharmony_ci};
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci&nand {
17562306a36Sopenharmony_ci	status = "okay";
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci	partition@0 {
17862306a36Sopenharmony_ci		label = "u-boot";
17962306a36Sopenharmony_ci		reg = <0x0000000 0x180000>;
18062306a36Sopenharmony_ci	};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci	partition@180000 {
18362306a36Sopenharmony_ci		label = "u-boot env";
18462306a36Sopenharmony_ci		reg = <0x0180000 0x20000>;
18562306a36Sopenharmony_ci	};
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci	partition@200000 {
18862306a36Sopenharmony_ci		label = "uImage";
18962306a36Sopenharmony_ci		reg = <0x0200000 0x600000>;
19062306a36Sopenharmony_ci	};
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci	partition@800000 {
19362306a36Sopenharmony_ci		label = "uInitrd";
19462306a36Sopenharmony_ci		reg = <0x0800000 0x1000000>;
19562306a36Sopenharmony_ci	};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci	partition@1800000 {
19862306a36Sopenharmony_ci		label = "rootfs";
19962306a36Sopenharmony_ci		reg = <0x1800000 0xe800000>;
20062306a36Sopenharmony_ci	};
20162306a36Sopenharmony_ci};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci&mdio {
20462306a36Sopenharmony_ci	status = "okay";
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci	ethphy0: ethernet-phy@0 {
20762306a36Sopenharmony_ci		reg = <0>;
20862306a36Sopenharmony_ci	};
20962306a36Sopenharmony_ci};
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci&eth0 {
21262306a36Sopenharmony_ci	status = "okay";
21362306a36Sopenharmony_ci	ethernet0-port@0 {
21462306a36Sopenharmony_ci		phy-handle = <&ethphy0>;
21562306a36Sopenharmony_ci	};
21662306a36Sopenharmony_ci};
217