blob: 8b7c6ce79a41a7a1d259b66ffdcbb81bb421b918 [file] [log] [blame]
Ezequiel Garcia0ab61292013-07-26 10:18:02 -03001#include "kirkwood.dtsi"
2#include "kirkwood-6281.dtsi"
Michael Walle4aff38a2012-07-17 07:25:55 +02003
4/ {
5 chosen {
6 bootargs = "console=ttyS0,115200n8 earlyprintk";
Sebastian Hesselbarthab833612014-04-30 14:56:30 +02007 stdout-path = &uart0;
Michael Walle4aff38a2012-07-17 07:25:55 +02008 };
9
10 ocp@f1000000 {
Sebastian Hesselbartha9483962014-04-30 14:56:32 +020011 pinctrl: pin-controller@10000 {
Andrew Lunn8d72b4a2012-11-17 17:00:53 +010012 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 };
Michael Walle4aff38a2012-07-17 07:25:55 +020066 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>;
Rafał Miłecki943d45a2015-05-19 13:40:16 +020077 compatible = "m25p40", "jedec,spi-nor";
Michael Walle4aff38a2012-07-17 07:25:55 +020078 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>;
Thomas Petazzonie5e68b72013-05-24 11:44:50 +0200106 pinctrl-0 = <&pmx_button_function &pmx_power_switch
107 &pmx_power_auto_switch>;
108 pinctrl-names = "default";
109
Andrew Lunn395c7552016-04-03 04:03:43 +0200110 option {
Michael Walle4aff38a2012-07-17 07:25:55 +0200111 label = "Function Button";
Andrew Lunn23301192013-12-04 16:51:38 +0100112 linux,code = <KEY_OPTION>;
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100113 gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
Michael Walle4aff38a2012-07-17 07:25:55 +0200114 };
Andrew Lunn395c7552016-04-03 04:03:43 +0200115 reserved {
Michael Walle4aff38a2012-07-17 07:25:55 +0200116 label = "Power-on Switch";
Andrew Lunn23301192013-12-04 16:51:38 +0100117 linux,code = <KEY_RESERVED>;
Michael Walle12431632012-09-27 23:54:37 +0200118 linux,input-type = <5>;
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100119 gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
Michael Walle4aff38a2012-07-17 07:25:55 +0200120 };
Andrew Lunn395c7552016-04-03 04:03:43 +0200121 power {
Michael Walle4aff38a2012-07-17 07:25:55 +0200122 label = "Power-auto Switch";
Andrew Lunn23301192013-12-04 16:51:38 +0100123 linux,code = <KEY_ESC>;
Michael Walle12431632012-09-27 23:54:37 +0200124 linux,input-type = <5>;
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100125 gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
Michael Walle4aff38a2012-07-17 07:25:55 +0200126 };
127 };
128
129 gpio_leds {
130 compatible = "gpio-leds";
Thomas Petazzonie5e68b72013-05-24 11:44:50 +0200131 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";
Michael Walle4aff38a2012-07-17 07:25:55 +0200135
Andrew Lunndab08332016-04-03 04:03:44 +0200136 func_blue {
Michael Wallea54841e52012-09-24 22:49:02 +0200137 label = "lsxl:blue:func";
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100138 gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
Michael Walle4aff38a2012-07-17 07:25:55 +0200139 };
140
Andrew Lunndab08332016-04-03 04:03:44 +0200141 alarm {
Michael Wallea54841e52012-09-24 22:49:02 +0200142 label = "lsxl:red:alarm";
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100143 gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
Michael Walle4aff38a2012-07-17 07:25:55 +0200144 };
145
Andrew Lunndab08332016-04-03 04:03:44 +0200146 info {
Michael Wallea54841e52012-09-24 22:49:02 +0200147 label = "lsxl:amber:info";
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100148 gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
Michael Walle4aff38a2012-07-17 07:25:55 +0200149 };
150
Andrew Lunndab08332016-04-03 04:03:44 +0200151 power {
Michael Wallea54841e52012-09-24 22:49:02 +0200152 label = "lsxl:blue:power";
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100153 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
Jason Cooperdcdf14c2013-10-14 17:37:55 +0000154 default-state = "keep";
Michael Walle4aff38a2012-07-17 07:25:55 +0200155 };
156
Andrew Lunndab08332016-04-03 04:03:44 +0200157 func_red {
Michael Wallea54841e52012-09-24 22:49:02 +0200158 label = "lsxl:red:func";
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100159 gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
Michael Walle4aff38a2012-07-17 07:25:55 +0200160 };
161 };
Michael Walleb046f562012-10-21 01:34:54 +0200162
163 gpio_fan {
164 compatible = "gpio-fan";
Thomas Petazzonie5e68b72013-05-24 11:44:50 +0200165 pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
166 pinctrl-names = "default";
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100167 gpios = <&gpio0 19 GPIO_ACTIVE_LOW
168 &gpio0 18 GPIO_ACTIVE_LOW>;
Michael Walleb046f562012-10-21 01:34:54 +0200169 gpio-fan,speed-map = <0 3
170 1500 2
171 3250 1
172 5000 0>;
Andrew Lunn3a31f2d72013-12-04 16:51:39 +0100173 alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
Michael Walleb046f562012-10-21 01:34:54 +0200174 };
Andrew Lunn423b8952012-11-17 15:46:14 +0100175
Andrew Lunn391a16c2012-12-28 13:25:12 +0100176 restart_poweroff {
177 compatible = "restart-poweroff";
178 };
179
Andrew Lunn423b8952012-11-17 15:46:14 +0100180 regulators {
181 compatible = "simple-bus";
182 #address-cells = <1>;
183 #size-cells = <0>;
Thomas Petazzonie5e68b72013-05-24 11:44:50 +0200184 pinctrl-0 = <&pmx_power_hdd &pmx_usb_vbus>;
185 pinctrl-names = "default";
Andrew Lunn423b8952012-11-17 15:46:14 +0100186
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 };
Michael Walle4aff38a2012-07-17 07:25:55 +0200210};
Sebastian Hesselbarth876e2332013-07-07 22:34:56 +0200211
212&mdio {
213 status = "okay";
214
215 ethphy0: ethernet-phy@0 {
Sebastian Hesselbarth876e2332013-07-07 22:34:56 +0200216 reg = <0>;
217 };
218
219 ethphy1: ethernet-phy@8 {
Sebastian Hesselbarth876e2332013-07-07 22:34:56 +0200220 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};