blob: b5737026e244dafe25bef6692381c2980b8666d5 [file] [log] [blame]
Gregory CLEMENTe7822262018-03-15 16:57:25 +01001// SPDX-License-Identifier: GPL-2.0
Andrew Lunn7e0a6b82014-05-26 21:29:49 +02002/*
3 * Device Tree common file for LaCie 2Big and 5Big Network v2
4 *
5 * Copyright (C) 2014
6 *
7 * Andrew Lunn <andrew@lunn.ch>
8 *
9 * Based on netxbig_v2-setup.c,
10 * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
11 *
Andrew Lunn7e0a6b82014-05-26 21:29:49 +020012*/
13
Simon Guinot767361f2015-09-26 23:02:35 +020014#include <dt-bindings/leds/leds-netxbig.h>
Andrew Lunn7e0a6b82014-05-26 21:29:49 +020015#include "kirkwood.dtsi"
16#include "kirkwood-6281.dtsi"
17
18/ {
19 chosen {
20 bootargs = "console=ttyS0,115200n8";
21 stdout-path = &uart0;
22 };
23
24 ocp@f1000000 {
25 serial@12000 {
26 status = "okay";
27 };
28
29 spi@10600 {
30 status = "okay";
31
32 flash@0 {
33 #address-cells = <1>;
34 #size-cells = <1>;
Rafał Miłecki943d45a2015-05-19 13:40:16 +020035 compatible = "mxicy,mx25l4005a", "jedec,spi-nor";
Andrew Lunn7e0a6b82014-05-26 21:29:49 +020036 reg = <0>;
37 spi-max-frequency = <20000000>;
38 mode = <0>;
39
40 partition@0 {
41 reg = <0x0 0x80000>;
42 label = "u-boot";
43 };
44 };
45 };
46
47 sata@80000 {
48 status = "okay";
49 nr-ports = <2>;
50 };
51
52 };
53
54 gpio-keys {
55 compatible = "gpio-keys";
56 #address-cells = <1>;
57 #size-cells = <0>;
58
59 /*
Andrew Lunn395c7552016-04-03 04:03:43 +020060 * esc and power represent a three position rocker
Andrew Lunn7e0a6b82014-05-26 21:29:49 +020061 * switch. Thus the conventional KEY_POWER does not fit
62 */
Andrew Lunn395c7552016-04-03 04:03:43 +020063 exc {
Andrew Lunn7e0a6b82014-05-26 21:29:49 +020064 label = "Back power switch (on|auto)";
65 linux,code = <KEY_ESC>;
66 linux,input-type = <5>;
67 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
68 };
Andrew Lunn395c7552016-04-03 04:03:43 +020069 power {
Andrew Lunn7e0a6b82014-05-26 21:29:49 +020070 label = "Back power switch (auto|off)";
71 linux,code = <KEY_1>;
72 linux,input-type = <5>;
73 gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
74 };
Andrew Lunn395c7552016-04-03 04:03:43 +020075 option {
Andrew Lunn7e0a6b82014-05-26 21:29:49 +020076 label = "Function button";
77 linux,code = <KEY_OPTION>;
78 gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
79 };
80
81 };
82
83 gpio-poweroff {
84 compatible = "gpio-poweroff";
85 gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
86 };
87
88 regulators: regulators {
89 status = "okay";
90 compatible = "simple-bus";
91 #address-cells = <1>;
92 #size-cells = <0>;
93 pinctrl-names = "default";
94
95 regulator@1 {
96 compatible = "regulator-fixed";
97 reg = <1>;
98 regulator-name = "hdd0power";
99 regulator-min-microvolt = <5000000>;
100 regulator-max-microvolt = <5000000>;
101 enable-active-high;
102 regulator-always-on;
103 regulator-boot-on;
104 gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
105 };
Andrew Lunn7e0a6b82014-05-26 21:29:49 +0200106 };
Simon Guinot767361f2015-09-26 23:02:35 +0200107
108 netxbig_gpio_ext: netxbig-gpio-ext {
109 compatible = "lacie,netxbig-gpio-ext";
110
111 addr-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH
112 &gpio1 16 GPIO_ACTIVE_HIGH
113 &gpio1 17 GPIO_ACTIVE_HIGH>;
114 data-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH
115 &gpio1 13 GPIO_ACTIVE_HIGH
116 &gpio1 14 GPIO_ACTIVE_HIGH>;
117 enable-gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
118 };
119
120 netxbig-leds {
121 compatible = "lacie,netxbig-leds";
122
123 gpio-ext = <&netxbig_gpio_ext>;
124
125 timers = <NETXBIG_LED_TIMER1 500 500
126 NETXBIG_LED_TIMER2 500 1000>;
127
128 blue-power {
129 label = "netxbig:blue:power";
130 mode-addr = <0>;
131 mode-val = <NETXBIG_LED_OFF 0
132 NETXBIG_LED_ON 1
133 NETXBIG_LED_TIMER1 3
134 NETXBIG_LED_TIMER2 7>;
135 bright-addr = <1>;
136 max-brightness = <7>;
137 };
138 red-power {
139 label = "netxbig:red:power";
140 mode-addr = <0>;
141 mode-val = <NETXBIG_LED_OFF 0
142 NETXBIG_LED_ON 2
143 NETXBIG_LED_TIMER1 4>;
144 bright-addr = <1>;
145 max-brightness = <7>;
146 };
147 blue-sata0 {
148 label = "netxbig:blue:sata0";
149 mode-addr = <3>;
150 mode-val = <NETXBIG_LED_OFF 0
151 NETXBIG_LED_ON 7
152 NETXBIG_LED_SATA 1
153 NETXBIG_LED_TIMER1 3>;
154 bright-addr = <2>;
155 max-brightness = <7>;
156 };
157 red-sata0 {
158 label = "netxbig:red:sata0";
159 mode-addr = <3>;
160 mode-val = <NETXBIG_LED_OFF 0
161 NETXBIG_LED_ON 2
162 NETXBIG_LED_TIMER1 4>;
163 bright-addr = <2>;
164 max-brightness = <7>;
165 };
166 blue-sata1 {
167 label = "netxbig:blue:sata1";
168 mode-addr = <4>;
169 mode-val = <NETXBIG_LED_OFF 0
170 NETXBIG_LED_ON 7
171 NETXBIG_LED_SATA 1
172 NETXBIG_LED_TIMER1 3>;
173 bright-addr = <2>;
174 max-brightness = <7>;
175 };
176 red-sata1 {
177 label = "netxbig:red:sata1";
178 mode-addr = <4>;
179 mode-val = <NETXBIG_LED_OFF 0
180 NETXBIG_LED_ON 2
181 NETXBIG_LED_TIMER1 4>;
182 bright-addr = <2>;
183 max-brightness = <7>;
184 };
185 };
Andrew Lunn7e0a6b82014-05-26 21:29:49 +0200186};
187
188&mdio {
189 status = "okay";
190
191 ethphy0: ethernet-phy@0 {
192 reg = <8>;
193 };
194
195 ethphy1: ethernet-phy@1 {
196 reg = <0>;
197 };
198};
199
200&eth0 {
201 status = "okay";
202 ethernet0-port@0 {
203 phy-handle = <&ethphy0>;
204 };
205};
206
207&pinctrl {
208 pinctrl-names = "default";
209
210 pmx_button_function: pmx-button-function {
211 marvell,pins = "mpp34";
212 marvell,function = "gpio";
213 };
214 pmx_button_power_off: pmx-button-power-off {
215 marvell,pins = "mpp15";
216 marvell,function = "gpio";
217 };
218 pmx_button_power_on: pmx-button-power-on {
219 marvell,pins = "mpp13";
220 marvell,function = "gpio";
221 };
222};
223
224&i2c0 {
225 status = "okay";
226
227 eeprom@50 {
228 compatible = "atmel,24c04";
229 pagesize = <16>;
230 reg = <0x50>;
231 };
Andrew Lunn7e0a6b82014-05-26 21:29:49 +0200232};