162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include "kirkwood.dtsi"
362306a36Sopenharmony_ci#include "kirkwood-6281.dtsi"
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci/ {
662306a36Sopenharmony_ci	model = "ZyXEL NSA310";
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci	ocp@f1000000 {
962306a36Sopenharmony_ci		pinctrl: pin-controller@10000 {
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci			pmx_usb_power: pmx-usb-power {
1262306a36Sopenharmony_ci				marvell,pins = "mpp21";
1362306a36Sopenharmony_ci				marvell,function = "gpio";
1462306a36Sopenharmony_ci			};
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci			pmx_pwr_off: pmx-pwr-off {
1762306a36Sopenharmony_ci				marvell,pins = "mpp48";
1862306a36Sopenharmony_ci				marvell,function = "gpio";
1962306a36Sopenharmony_ci			};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci			pmx_btn_reset: pmx-btn-reset {
2262306a36Sopenharmony_ci				marvell,pins = "mpp36";
2362306a36Sopenharmony_ci				marvell,function = "gpio";
2462306a36Sopenharmony_ci			};
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci			pmx_btn_copy: pmx-btn-copy {
2762306a36Sopenharmony_ci				marvell,pins = "mpp37";
2862306a36Sopenharmony_ci				marvell,function = "gpio";
2962306a36Sopenharmony_ci			};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci			pmx_btn_power: pmx-btn-power {
3262306a36Sopenharmony_ci				marvell,pins = "mpp46";
3362306a36Sopenharmony_ci				marvell,function = "gpio";
3462306a36Sopenharmony_ci			};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci			pmx_led_copy_green: pmx-led-copy-green {
3762306a36Sopenharmony_ci				marvell,pins = "mpp39";
3862306a36Sopenharmony_ci				marvell,function = "gpio";
3962306a36Sopenharmony_ci			};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci			pmx_led_copy_red: pmx-led-copy-red {
4262306a36Sopenharmony_ci				marvell,pins = "mpp40";
4362306a36Sopenharmony_ci				marvell,function = "gpio";
4462306a36Sopenharmony_ci			};
4562306a36Sopenharmony_ci		};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		serial@12000 {
4862306a36Sopenharmony_ci			status = "okay";
4962306a36Sopenharmony_ci		};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci		sata@80000 {
5262306a36Sopenharmony_ci			status = "okay";
5362306a36Sopenharmony_ci			nr-ports = <2>;
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	gpio_poweroff {
5862306a36Sopenharmony_ci		compatible = "gpio-poweroff";
5962306a36Sopenharmony_ci		pinctrl-0 = <&pmx_pwr_off>;
6062306a36Sopenharmony_ci		pinctrl-names = "default";
6162306a36Sopenharmony_ci		gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
6262306a36Sopenharmony_ci	};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	gpio_keys {
6562306a36Sopenharmony_ci		compatible = "gpio-keys";
6662306a36Sopenharmony_ci		#address-cells = <1>;
6762306a36Sopenharmony_ci		#size-cells = <0>;
6862306a36Sopenharmony_ci		pinctrl-0 = <&pmx_btn_reset &pmx_btn_copy &pmx_btn_power>;
6962306a36Sopenharmony_ci		pinctrl-names = "default";
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci		power {
7262306a36Sopenharmony_ci			label = "Power Button";
7362306a36Sopenharmony_ci			linux,code = <KEY_POWER>;
7462306a36Sopenharmony_ci			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
7562306a36Sopenharmony_ci		};
7662306a36Sopenharmony_ci		copy {
7762306a36Sopenharmony_ci			label = "Copy Button";
7862306a36Sopenharmony_ci			linux,code = <KEY_COPY>;
7962306a36Sopenharmony_ci			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
8062306a36Sopenharmony_ci		};
8162306a36Sopenharmony_ci		reset {
8262306a36Sopenharmony_ci			label = "Reset Button";
8362306a36Sopenharmony_ci			linux,code = <KEY_RESTART>;
8462306a36Sopenharmony_ci			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
8562306a36Sopenharmony_ci		};
8662306a36Sopenharmony_ci	};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci	regulators {
9062306a36Sopenharmony_ci		compatible = "simple-bus";
9162306a36Sopenharmony_ci		#address-cells = <1>;
9262306a36Sopenharmony_ci		#size-cells = <0>;
9362306a36Sopenharmony_ci		pinctrl-0 = <&pmx_usb_power>;
9462306a36Sopenharmony_ci		pinctrl-names = "default";
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci		usb0_power: regulator@1 {
9762306a36Sopenharmony_ci			compatible = "regulator-fixed";
9862306a36Sopenharmony_ci			reg = <1>;
9962306a36Sopenharmony_ci			regulator-name = "USB Power";
10062306a36Sopenharmony_ci			regulator-min-microvolt = <5000000>;
10162306a36Sopenharmony_ci			regulator-max-microvolt = <5000000>;
10262306a36Sopenharmony_ci			regulator-always-on;
10362306a36Sopenharmony_ci			regulator-boot-on;
10462306a36Sopenharmony_ci			gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci	};
10762306a36Sopenharmony_ci};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci&nand {
11062306a36Sopenharmony_ci	status = "okay";
11162306a36Sopenharmony_ci	chip-delay = <35>;
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	partition@0 {
11462306a36Sopenharmony_ci		label = "uboot";
11562306a36Sopenharmony_ci		reg = <0x0000000 0x0100000>;
11662306a36Sopenharmony_ci		read-only;
11762306a36Sopenharmony_ci	};
11862306a36Sopenharmony_ci	partition@100000 {
11962306a36Sopenharmony_ci		label = "uboot_env";
12062306a36Sopenharmony_ci		reg = <0x0100000 0x0080000>;
12162306a36Sopenharmony_ci	};
12262306a36Sopenharmony_ci	partition@180000 {
12362306a36Sopenharmony_ci		label = "key_store";
12462306a36Sopenharmony_ci		reg = <0x0180000 0x0080000>;
12562306a36Sopenharmony_ci	};
12662306a36Sopenharmony_ci	partition@200000 {
12762306a36Sopenharmony_ci		label = "info";
12862306a36Sopenharmony_ci		reg = <0x0200000 0x0080000>;
12962306a36Sopenharmony_ci	};
13062306a36Sopenharmony_ci	partition@280000 {
13162306a36Sopenharmony_ci		label = "etc";
13262306a36Sopenharmony_ci		reg = <0x0280000 0x0a00000>;
13362306a36Sopenharmony_ci	};
13462306a36Sopenharmony_ci	partition@c80000 {
13562306a36Sopenharmony_ci		label = "kernel_1";
13662306a36Sopenharmony_ci		reg = <0x0c80000 0x0a00000>;
13762306a36Sopenharmony_ci	};
13862306a36Sopenharmony_ci	partition@1680000 {
13962306a36Sopenharmony_ci		label = "rootfs1";
14062306a36Sopenharmony_ci		reg = <0x1680000 0x2fc0000>;
14162306a36Sopenharmony_ci	};
14262306a36Sopenharmony_ci	partition@4640000 {
14362306a36Sopenharmony_ci		label = "kernel_2";
14462306a36Sopenharmony_ci		reg = <0x4640000 0x0a00000>;
14562306a36Sopenharmony_ci	};
14662306a36Sopenharmony_ci	partition@5040000 {
14762306a36Sopenharmony_ci		label = "rootfs2";
14862306a36Sopenharmony_ci		reg = <0x5040000 0x2fc0000>;
14962306a36Sopenharmony_ci	};
15062306a36Sopenharmony_ci};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci&pciec {
15362306a36Sopenharmony_ci	status = "okay";
15462306a36Sopenharmony_ci};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci&pcie0 {
15762306a36Sopenharmony_ci	status = "okay";
15862306a36Sopenharmony_ci};
159