kirkwood-lsxl.dtsi revision 284090
1#include "kirkwood.dtsi"
2#include "kirkwood-6281.dtsi"
3
4/ {
5	chosen {
6		bootargs = "console=ttyS0,115200n8 earlyprintk";
7		stdout-path = &uart0;
8	};
9
10	ocp@f1000000 {
11		pinctrl: pin-controller@10000 {
12			pmx_power_hdd: pmx-power-hdd {
13				marvell,pins = "mpp10";
14				marvell,function = "gpo";
15			};
16			pmx_usb_vbus: pmx-usb-vbus {
17				marvell,pins = "mpp11";
18				marvell,function = "gpio";
19			};
20			pmx_fan_high: pmx-fan-high {
21				marvell,pins = "mpp18";
22				marvell,function = "gpo";
23			};
24			pmx_fan_low: pmx-fan-low {
25				marvell,pins = "mpp19";
26				marvell,function = "gpo";
27			};
28			pmx_led_function_blue: pmx-led-function-blue {
29				marvell,pins = "mpp36";
30				marvell,function = "gpio";
31			};
32			pmx_led_alarm: pmx-led-alarm {
33				marvell,pins = "mpp37";
34				marvell,function = "gpio";
35			};
36			pmx_led_info: pmx-led-info {
37				marvell,pins = "mpp38";
38				marvell,function = "gpio";
39			};
40			pmx_led_power: pmx-led-power {
41				marvell,pins = "mpp39";
42				marvell,function = "gpio";
43			};
44			pmx_fan_lock: pmx-fan-lock {
45				marvell,pins = "mpp40";
46				marvell,function = "gpio";
47			};
48			pmx_button_function: pmx-button-function {
49				marvell,pins = "mpp41";
50				marvell,function = "gpio";
51			};
52			pmx_power_switch: pmx-power-switch {
53				marvell,pins = "mpp42";
54				marvell,function = "gpio";
55			};
56			pmx_power_auto_switch: pmx-power-auto-switch {
57				marvell,pins = "mpp43";
58				marvell,function = "gpio";
59			};
60			pmx_led_function_red: pmx-led-function_red {
61				marvell,pins = "mpp48";
62				marvell,function = "gpio";
63			};
64
65		};
66		sata@80000 {
67			status = "okay";
68			nr-ports = <1>;
69		};
70
71		spi@10600 {
72			status = "okay";
73
74			m25p40@0 {
75				#address-cells = <1>;
76				#size-cells = <1>;
77				compatible = "m25p40";
78				reg = <0>;
79				spi-max-frequency = <25000000>;
80				mode = <0>;
81
82				partition@0 {
83					reg = <0x0 0x60000>;
84					label = "uboot";
85					read-only;
86				};
87
88				partition@60000 {
89					reg = <0x60000 0x10000>;
90					label = "dtb";
91					read-only;
92				};
93
94				partition@70000 {
95					reg = <0x70000 0x10000>;
96					label = "uboot_env";
97				};
98			};
99		};
100	};
101
102	gpio_keys {
103		compatible = "gpio-keys";
104		#address-cells = <1>;
105		#size-cells = <0>;
106		pinctrl-0 = <&pmx_button_function &pmx_power_switch
107			     &pmx_power_auto_switch>;
108		pinctrl-names = "default";
109
110		button@1 {
111			label = "Function Button";
112			linux,code = <KEY_OPTION>;
113			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
114		};
115		button@2 {
116			label = "Power-on Switch";
117			linux,code = <KEY_RESERVED>;
118			linux,input-type = <5>;
119			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
120		};
121		button@3 {
122			label = "Power-auto Switch";
123			linux,code = <KEY_ESC>;
124			linux,input-type = <5>;
125			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
126		};
127	};
128
129	gpio_leds {
130		compatible = "gpio-leds";
131		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
132			     &pmx_led_info &pmx_led_power
133			     &pmx_led_function_blue>;
134		pinctrl-names = "default";
135
136		led@1 {
137			label = "lsxl:blue:func";
138			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
139		};
140
141		led@2 {
142			label = "lsxl:red:alarm";
143			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
144		};
145
146		led@3 {
147			label = "lsxl:amber:info";
148			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
149		};
150
151		led@4 {
152			label = "lsxl:blue:power";
153			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
154			default-state = "keep";
155		};
156
157		led@5 {
158			label = "lsxl:red:func";
159			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
160		};
161	};
162
163	gpio_fan {
164		compatible = "gpio-fan";
165		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
166		pinctrl-names = "default";
167		gpios = <&gpio0 19 GPIO_ACTIVE_LOW
168		         &gpio0 18 GPIO_ACTIVE_LOW>;
169		gpio-fan,speed-map = <0    3
170		                      1500 2
171		                      3250 1
172		                      5000 0>;
173		alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
174	};
175
176	restart_poweroff {
177		compatible = "restart-poweroff";
178	};
179
180	regulators {
181		compatible = "simple-bus";
182		#address-cells = <1>;
183		#size-cells = <0>;
184		pinctrl-0 = <&pmx_power_hdd &pmx_usb_vbus>;
185		pinctrl-names = "default";
186
187		usb_power: regulator@1 {
188			compatible = "regulator-fixed";
189			reg = <1>;
190			regulator-name = "USB Power";
191			regulator-min-microvolt = <5000000>;
192			regulator-max-microvolt = <5000000>;
193			enable-active-high;
194			regulator-always-on;
195			regulator-boot-on;
196			gpio = <&gpio0 11 0>;
197		};
198		hdd_power: regulator@2 {
199			compatible = "regulator-fixed";
200			reg = <2>;
201			regulator-name = "HDD Power";
202			regulator-min-microvolt = <5000000>;
203			regulator-max-microvolt = <5000000>;
204			enable-active-high;
205			regulator-always-on;
206			regulator-boot-on;
207			gpio = <&gpio0 10 0>;
208		};
209	};
210};
211
212&mdio {
213	status = "okay";
214
215	ethphy0: ethernet-phy@0 {
216		reg = <0>;
217	};
218
219	ethphy1: ethernet-phy@8 {
220		reg = <8>;
221	};
222};
223
224&eth0 {
225	status = "okay";
226	ethernet0-port@0 {
227		phy-handle = <&ethphy0>;
228	};
229};
230
231&eth1 {
232	status = "okay";
233	ethernet1-port@0 {
234		phy-handle = <&ethphy1>;
235	};
236};
237