1// SPDX-License-Identifier: GPL-2.0
2#include "kirkwood.dtsi"
3#include "kirkwood-6281.dtsi"
4
5/ {
6	model = "ZyXEL NSA310";
7
8	ocp@f1000000 {
9		pinctrl: pin-controller@10000 {
10
11			pmx_usb_power: pmx-usb-power {
12				marvell,pins = "mpp21";
13				marvell,function = "gpio";
14			};
15
16			pmx_pwr_off: pmx-pwr-off {
17				marvell,pins = "mpp48";
18				marvell,function = "gpio";
19			};
20
21			pmx_btn_reset: pmx-btn-reset {
22				marvell,pins = "mpp36";
23				marvell,function = "gpio";
24			};
25
26			pmx_btn_copy: pmx-btn-copy {
27				marvell,pins = "mpp37";
28				marvell,function = "gpio";
29			};
30
31			pmx_btn_power: pmx-btn-power {
32				marvell,pins = "mpp46";
33				marvell,function = "gpio";
34			};
35
36			pmx_led_copy_green: pmx-led-copy-green {
37				marvell,pins = "mpp39";
38				marvell,function = "gpio";
39			};
40
41			pmx_led_copy_red: pmx-led-copy-red {
42				marvell,pins = "mpp40";
43				marvell,function = "gpio";
44			};
45		};
46
47		serial@12000 {
48			status = "okay";
49		};
50
51		sata@80000 {
52			status = "okay";
53			nr-ports = <2>;
54		};
55	};
56
57	gpio_poweroff {
58		compatible = "gpio-poweroff";
59		pinctrl-0 = <&pmx_pwr_off>;
60		pinctrl-names = "default";
61		gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
62	};
63
64	gpio_keys {
65		compatible = "gpio-keys";
66		#address-cells = <1>;
67		#size-cells = <0>;
68		pinctrl-0 = <&pmx_btn_reset &pmx_btn_copy &pmx_btn_power>;
69		pinctrl-names = "default";
70
71		power {
72			label = "Power Button";
73			linux,code = <KEY_POWER>;
74			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
75		};
76		copy {
77			label = "Copy Button";
78			linux,code = <KEY_COPY>;
79			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
80		};
81		reset {
82			label = "Reset Button";
83			linux,code = <KEY_RESTART>;
84			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
85		};
86	};
87
88
89	regulators {
90		compatible = "simple-bus";
91		#address-cells = <1>;
92		#size-cells = <0>;
93		pinctrl-0 = <&pmx_usb_power>;
94		pinctrl-names = "default";
95
96		usb0_power: regulator@1 {
97			compatible = "regulator-fixed";
98			reg = <1>;
99			regulator-name = "USB Power";
100			regulator-min-microvolt = <5000000>;
101			regulator-max-microvolt = <5000000>;
102			regulator-always-on;
103			regulator-boot-on;
104			gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
105		};
106	};
107};
108
109&nand {
110	status = "okay";
111	chip-delay = <35>;
112
113	partition@0 {
114		label = "uboot";
115		reg = <0x0000000 0x0100000>;
116		read-only;
117	};
118	partition@100000 {
119		label = "uboot_env";
120		reg = <0x0100000 0x0080000>;
121	};
122	partition@180000 {
123		label = "key_store";
124		reg = <0x0180000 0x0080000>;
125	};
126	partition@200000 {
127		label = "info";
128		reg = <0x0200000 0x0080000>;
129	};
130	partition@280000 {
131		label = "etc";
132		reg = <0x0280000 0x0a00000>;
133	};
134	partition@c80000 {
135		label = "kernel_1";
136		reg = <0x0c80000 0x0a00000>;
137	};
138	partition@1680000 {
139		label = "rootfs1";
140		reg = <0x1680000 0x2fc0000>;
141	};
142	partition@4640000 {
143		label = "kernel_2";
144		reg = <0x4640000 0x0a00000>;
145	};
146	partition@5040000 {
147		label = "rootfs2";
148		reg = <0x5040000 0x2fc0000>;
149	};
150};
151
152&pciec {
153	status = "okay";
154};
155
156&pcie0 {
157	status = "okay";
158};
159