xref: /freebsd/sys/contrib/device-tree/src/arm/marvell/kirkwood-dnskw.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot#include "kirkwood.dtsi"
3*f126890aSEmmanuel Vadot#include "kirkwood-6281.dtsi"
4*f126890aSEmmanuel Vadot
5*f126890aSEmmanuel Vadot/ {
6*f126890aSEmmanuel Vadot	model = "D-Link DNS NASes (kirkwood-based)";
7*f126890aSEmmanuel Vadot	compatible = "dlink,dns-kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot	gpio_keys {
10*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
11*f126890aSEmmanuel Vadot		#address-cells = <1>;
12*f126890aSEmmanuel Vadot		#size-cells = <0>;
13*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmx_button_power &pmx_button_unmount
14*f126890aSEmmanuel Vadot			     &pmx_button_reset>;
15*f126890aSEmmanuel Vadot		pinctrl-names = "default";
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot		power {
18*f126890aSEmmanuel Vadot			label = "Power button";
19*f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
20*f126890aSEmmanuel Vadot			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
21*f126890aSEmmanuel Vadot		};
22*f126890aSEmmanuel Vadot		eject {
23*f126890aSEmmanuel Vadot			label = "USB unmount button";
24*f126890aSEmmanuel Vadot			linux,code = <KEY_EJECTCD>;
25*f126890aSEmmanuel Vadot			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
26*f126890aSEmmanuel Vadot		};
27*f126890aSEmmanuel Vadot		reset {
28*f126890aSEmmanuel Vadot			label = "Reset button";
29*f126890aSEmmanuel Vadot			linux,code = <KEY_RESTART>;
30*f126890aSEmmanuel Vadot			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
31*f126890aSEmmanuel Vadot		};
32*f126890aSEmmanuel Vadot	};
33*f126890aSEmmanuel Vadot
34*f126890aSEmmanuel Vadot	gpio_fan {
35*f126890aSEmmanuel Vadot		/* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */
36*f126890aSEmmanuel Vadot		compatible = "gpio-fan";
37*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>;
38*f126890aSEmmanuel Vadot		pinctrl-names = "default";
39*f126890aSEmmanuel Vadot		gpios = <&gpio1 14 GPIO_ACTIVE_HIGH
40*f126890aSEmmanuel Vadot			 &gpio1 13 GPIO_ACTIVE_HIGH>;
41*f126890aSEmmanuel Vadot		gpio-fan,speed-map = <0    0
42*f126890aSEmmanuel Vadot				      3000 1
43*f126890aSEmmanuel Vadot				      6000 2>;
44*f126890aSEmmanuel Vadot	};
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot	gpio_poweroff {
47*f126890aSEmmanuel Vadot		compatible = "gpio-poweroff";
48*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmx_power_off>;
49*f126890aSEmmanuel Vadot		pinctrl-names = "default";
50*f126890aSEmmanuel Vadot		gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
51*f126890aSEmmanuel Vadot	};
52*f126890aSEmmanuel Vadot
53*f126890aSEmmanuel Vadot	ocp@f1000000 {
54*f126890aSEmmanuel Vadot		pinctrl: pin-controller@10000 {
55*f126890aSEmmanuel Vadot
56*f126890aSEmmanuel Vadot			pinctrl-0 = <&pmx_power_back_on &pmx_present_sata0
57*f126890aSEmmanuel Vadot				     &pmx_present_sata1 &pmx_fan_tacho
58*f126890aSEmmanuel Vadot				     &pmx_temp_alarm>;
59*f126890aSEmmanuel Vadot			pinctrl-names = "default";
60*f126890aSEmmanuel Vadot
61*f126890aSEmmanuel Vadot			pmx_sata0: pmx-sata0 {
62*f126890aSEmmanuel Vadot				marvell,pins = "mpp20";
63*f126890aSEmmanuel Vadot				marvell,function = "sata1";
64*f126890aSEmmanuel Vadot			};
65*f126890aSEmmanuel Vadot			pmx_sata1: pmx-sata1 {
66*f126890aSEmmanuel Vadot				marvell,pins = "mpp21";
67*f126890aSEmmanuel Vadot				marvell,function = "sata0";
68*f126890aSEmmanuel Vadot			};
69*f126890aSEmmanuel Vadot			pmx_led_power: pmx-led-power {
70*f126890aSEmmanuel Vadot				marvell,pins = "mpp26";
71*f126890aSEmmanuel Vadot				marvell,function = "gpio";
72*f126890aSEmmanuel Vadot			};
73*f126890aSEmmanuel Vadot			pmx_led_red_right_hdd: pmx-led-red-right-hdd {
74*f126890aSEmmanuel Vadot				marvell,pins = "mpp27";
75*f126890aSEmmanuel Vadot				marvell,function = "gpio";
76*f126890aSEmmanuel Vadot			};
77*f126890aSEmmanuel Vadot			pmx_led_red_left_hdd: pmx-led-red-left-hdd {
78*f126890aSEmmanuel Vadot				marvell,pins = "mpp28";
79*f126890aSEmmanuel Vadot				marvell,function = "gpio";
80*f126890aSEmmanuel Vadot			};
81*f126890aSEmmanuel Vadot			pmx_led_red_usb_325: pmx-led-red-usb-325 {
82*f126890aSEmmanuel Vadot				marvell,pins = "mpp29";
83*f126890aSEmmanuel Vadot				marvell,function = "gpio";
84*f126890aSEmmanuel Vadot			};
85*f126890aSEmmanuel Vadot			pmx_button_power: pmx-button-power {
86*f126890aSEmmanuel Vadot				marvell,pins = "mpp34";
87*f126890aSEmmanuel Vadot				marvell,function = "gpio";
88*f126890aSEmmanuel Vadot			};
89*f126890aSEmmanuel Vadot			pmx_led_red_usb_320: pmx-led-red-usb-320 {
90*f126890aSEmmanuel Vadot				marvell,pins = "mpp35";
91*f126890aSEmmanuel Vadot				marvell,function = "gpio";
92*f126890aSEmmanuel Vadot			};
93*f126890aSEmmanuel Vadot			pmx_power_off: pmx-power-off {
94*f126890aSEmmanuel Vadot				marvell,pins = "mpp36";
95*f126890aSEmmanuel Vadot				marvell,function = "gpio";
96*f126890aSEmmanuel Vadot			};
97*f126890aSEmmanuel Vadot			pmx_power_back_on: pmx-power-back-on {
98*f126890aSEmmanuel Vadot				marvell,pins = "mpp37";
99*f126890aSEmmanuel Vadot				marvell,function = "gpio";
100*f126890aSEmmanuel Vadot			};
101*f126890aSEmmanuel Vadot			pmx_power_sata0: pmx-power-sata0 {
102*f126890aSEmmanuel Vadot				marvell,pins = "mpp39";
103*f126890aSEmmanuel Vadot				marvell,function = "gpio";
104*f126890aSEmmanuel Vadot			};
105*f126890aSEmmanuel Vadot			pmx_power_sata1: pmx-power-sata1 {
106*f126890aSEmmanuel Vadot				marvell,pins = "mpp40";
107*f126890aSEmmanuel Vadot				marvell,function = "gpio";
108*f126890aSEmmanuel Vadot			};
109*f126890aSEmmanuel Vadot			pmx_present_sata0: pmx-present-sata0 {
110*f126890aSEmmanuel Vadot				marvell,pins = "mpp41";
111*f126890aSEmmanuel Vadot				marvell,function = "gpio";
112*f126890aSEmmanuel Vadot			};
113*f126890aSEmmanuel Vadot			pmx_present_sata1: pmx-present-sata1 {
114*f126890aSEmmanuel Vadot				marvell,pins = "mpp42";
115*f126890aSEmmanuel Vadot				marvell,function = "gpio";
116*f126890aSEmmanuel Vadot			};
117*f126890aSEmmanuel Vadot			pmx_led_white_usb: pmx-led-white-usb {
118*f126890aSEmmanuel Vadot				marvell,pins = "mpp43";
119*f126890aSEmmanuel Vadot				marvell,function = "gpio";
120*f126890aSEmmanuel Vadot			};
121*f126890aSEmmanuel Vadot			pmx_fan_tacho: pmx-fan-tacho {
122*f126890aSEmmanuel Vadot				marvell,pins = "mpp44";
123*f126890aSEmmanuel Vadot				marvell,function = "gpio";
124*f126890aSEmmanuel Vadot			};
125*f126890aSEmmanuel Vadot			pmx_fan_high_speed: pmx-fan-high-speed {
126*f126890aSEmmanuel Vadot				marvell,pins = "mpp45";
127*f126890aSEmmanuel Vadot				marvell,function = "gpio";
128*f126890aSEmmanuel Vadot			};
129*f126890aSEmmanuel Vadot			pmx_fan_low_speed: pmx-fan-low-speed {
130*f126890aSEmmanuel Vadot				marvell,pins = "mpp46";
131*f126890aSEmmanuel Vadot				marvell,function = "gpio";
132*f126890aSEmmanuel Vadot			};
133*f126890aSEmmanuel Vadot			pmx_button_unmount: pmx-button-unmount {
134*f126890aSEmmanuel Vadot				marvell,pins = "mpp47";
135*f126890aSEmmanuel Vadot				marvell,function = "gpio";
136*f126890aSEmmanuel Vadot			};
137*f126890aSEmmanuel Vadot			pmx_button_reset: pmx-button-reset {
138*f126890aSEmmanuel Vadot				marvell,pins = "mpp48";
139*f126890aSEmmanuel Vadot				marvell,function = "gpio";
140*f126890aSEmmanuel Vadot			};
141*f126890aSEmmanuel Vadot			pmx_temp_alarm: pmx-temp-alarm {
142*f126890aSEmmanuel Vadot				marvell,pins = "mpp49";
143*f126890aSEmmanuel Vadot				marvell,function = "gpio";
144*f126890aSEmmanuel Vadot			};
145*f126890aSEmmanuel Vadot		};
146*f126890aSEmmanuel Vadot		sata@80000 {
147*f126890aSEmmanuel Vadot			pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
148*f126890aSEmmanuel Vadot			pinctrl-names = "default";
149*f126890aSEmmanuel Vadot			status = "okay";
150*f126890aSEmmanuel Vadot			nr-ports = <2>;
151*f126890aSEmmanuel Vadot		};
152*f126890aSEmmanuel Vadot	};
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot	regulators {
155*f126890aSEmmanuel Vadot		compatible = "simple-bus";
156*f126890aSEmmanuel Vadot		#address-cells = <1>;
157*f126890aSEmmanuel Vadot		#size-cells = <0>;
158*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>;
159*f126890aSEmmanuel Vadot		pinctrl-names = "default";
160*f126890aSEmmanuel Vadot
161*f126890aSEmmanuel Vadot		sata0_power: regulator@1 {
162*f126890aSEmmanuel Vadot			compatible = "regulator-fixed";
163*f126890aSEmmanuel Vadot			reg = <1>;
164*f126890aSEmmanuel Vadot			regulator-name = "SATA0 Power";
165*f126890aSEmmanuel Vadot			regulator-min-microvolt = <5000000>;
166*f126890aSEmmanuel Vadot			regulator-max-microvolt = <5000000>;
167*f126890aSEmmanuel Vadot			enable-active-high;
168*f126890aSEmmanuel Vadot			regulator-always-on;
169*f126890aSEmmanuel Vadot			regulator-boot-on;
170*f126890aSEmmanuel Vadot			gpio = <&gpio1 7 0>;
171*f126890aSEmmanuel Vadot		};
172*f126890aSEmmanuel Vadot		sata1_power: regulator@2 {
173*f126890aSEmmanuel Vadot			compatible = "regulator-fixed";
174*f126890aSEmmanuel Vadot			reg = <2>;
175*f126890aSEmmanuel Vadot			regulator-name = "SATA1 Power";
176*f126890aSEmmanuel Vadot			regulator-min-microvolt = <5000000>;
177*f126890aSEmmanuel Vadot			regulator-max-microvolt = <5000000>;
178*f126890aSEmmanuel Vadot			enable-active-high;
179*f126890aSEmmanuel Vadot			regulator-always-on;
180*f126890aSEmmanuel Vadot			regulator-boot-on;
181*f126890aSEmmanuel Vadot			gpio = <&gpio1 8 0>;
182*f126890aSEmmanuel Vadot		};
183*f126890aSEmmanuel Vadot	};
184*f126890aSEmmanuel Vadot};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot&nand {
187*f126890aSEmmanuel Vadot	status = "okay";
188*f126890aSEmmanuel Vadot	chip-delay = <35>;
189*f126890aSEmmanuel Vadot
190*f126890aSEmmanuel Vadot	partition@0 {
191*f126890aSEmmanuel Vadot		label = "u-boot";
192*f126890aSEmmanuel Vadot		reg = <0x0000000 0x100000>;
193*f126890aSEmmanuel Vadot		read-only;
194*f126890aSEmmanuel Vadot	};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot	partition@100000 {
197*f126890aSEmmanuel Vadot		label = "uImage";
198*f126890aSEmmanuel Vadot		reg = <0x0100000 0x500000>;
199*f126890aSEmmanuel Vadot	};
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot	partition@600000 {
202*f126890aSEmmanuel Vadot		label = "ramdisk";
203*f126890aSEmmanuel Vadot		reg = <0x0600000 0x500000>;
204*f126890aSEmmanuel Vadot	};
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot	partition@b00000 {
207*f126890aSEmmanuel Vadot		label = "image";
208*f126890aSEmmanuel Vadot		reg = <0x0b00000 0x6600000>;
209*f126890aSEmmanuel Vadot	};
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot	partition@7100000 {
212*f126890aSEmmanuel Vadot		label = "mini firmware";
213*f126890aSEmmanuel Vadot		reg = <0x7100000 0xa00000>;
214*f126890aSEmmanuel Vadot	};
215*f126890aSEmmanuel Vadot
216*f126890aSEmmanuel Vadot	partition@7b00000 {
217*f126890aSEmmanuel Vadot		label = "config";
218*f126890aSEmmanuel Vadot		reg = <0x7b00000 0x500000>;
219*f126890aSEmmanuel Vadot	};
220*f126890aSEmmanuel Vadot};
221*f126890aSEmmanuel Vadot
222*f126890aSEmmanuel Vadot&mdio {
223*f126890aSEmmanuel Vadot	status = "okay";
224*f126890aSEmmanuel Vadot
225*f126890aSEmmanuel Vadot	ethphy0: ethernet-phy@8 {
226*f126890aSEmmanuel Vadot		reg = <8>;
227*f126890aSEmmanuel Vadot	};
228*f126890aSEmmanuel Vadot};
229*f126890aSEmmanuel Vadot
230*f126890aSEmmanuel Vadot&eth0 {
231*f126890aSEmmanuel Vadot	status = "okay";
232*f126890aSEmmanuel Vadot	ethernet0-port@0 {
233*f126890aSEmmanuel Vadot		phy-handle = <&ethphy0>;
234*f126890aSEmmanuel Vadot	};
235*f126890aSEmmanuel Vadot};
236