Commit | Line | Data |
---|---|---|
0ac73f76 SG |
1 | /* |
2 | * Device Tree common file for the Seagate Personal Cloud NAS 1 and 2-Bay | |
3 | * (Armada 370 SoC). | |
4 | * | |
5 | * Copyright (C) 2015 Seagate | |
6 | * | |
7 | * Author: Simon Guinot <simon.guinot@sequanux.org> | |
8 | * | |
9 | * This file is licensed under the terms of the GNU General Public | |
10 | * License version 2. This program is licensed "as is" without any | |
11 | * warranty of any kind, whether express or implied. | |
12 | */ | |
13 | ||
14 | /* | |
15 | * TODO: add support for the white SATA LED. | |
16 | */ | |
17 | ||
18 | #include "armada-370.dtsi" | |
19 | #include <dt-bindings/gpio/gpio.h> | |
20 | #include <dt-bindings/input/input.h> | |
21 | ||
22 | / { | |
23 | chosen { | |
24 | stdout-path = "serial0:115200n8"; | |
25 | }; | |
26 | ||
27 | memory { | |
28 | device_type = "memory"; | |
29 | reg = <0x00000000 0x20000000>; /* 512 MB */ | |
30 | }; | |
31 | ||
32 | soc { | |
33 | ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 | |
34 | MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>; | |
35 | ||
36 | pcie-controller { | |
37 | status = "okay"; | |
38 | ||
39 | /* USB 3.0 Bridge ASM1042A */ | |
40 | pcie@1,0 { | |
41 | status = "okay"; | |
42 | }; | |
43 | }; | |
44 | ||
45 | internal-regs { | |
46 | coherency-fabric@20200 { | |
47 | broken-idle; | |
48 | }; | |
49 | ||
50 | serial@12000 { | |
51 | status = "okay"; | |
52 | }; | |
53 | ||
54 | mdio { | |
55 | pinctrl-0 = <&mdio_pins>; | |
56 | pinctrl-names = "default"; | |
57 | ||
58 | phy0: ethernet-phy@0 { | |
59 | reg = <0>; | |
60 | }; | |
61 | }; | |
62 | ||
63 | ethernet@74000 { | |
64 | status = "okay"; | |
65 | pinctrl-0 = <&ge1_rgmii_pins>; | |
66 | pinctrl-names = "default"; | |
67 | phy = <&phy0>; | |
68 | phy-mode = "rgmii-id"; | |
69 | }; | |
70 | ||
0ac73f76 SG |
71 | usb@50000 { |
72 | status = "okay"; | |
73 | }; | |
74 | }; | |
75 | }; | |
76 | ||
77 | regulators { | |
78 | compatible = "simple-bus"; | |
79 | #address-cells = <1>; | |
80 | #size-cells = <0>; | |
81 | ||
82 | regulator@0 { | |
83 | compatible = "regulator-fixed"; | |
84 | reg = <0>; | |
85 | regulator-name = "USB Power"; | |
86 | regulator-min-microvolt = <5000000>; | |
87 | regulator-max-microvolt = <5000000>; | |
88 | regulator-always-on; | |
89 | regulator-boot-on; | |
90 | gpio = <&gpio1 27 GPIO_ACTIVE_LOW>; | |
91 | }; | |
92 | regulator@1 { | |
93 | compatible = "regulator-fixed"; | |
94 | reg = <1>; | |
95 | regulator-name = "SATA0 power"; | |
96 | regulator-min-microvolt = <5000000>; | |
97 | regulator-max-microvolt = <5000000>; | |
98 | enable-active-high; | |
99 | regulator-always-on; | |
100 | regulator-boot-on; | |
101 | gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; | |
102 | }; | |
103 | }; | |
104 | ||
105 | gpio-keys { | |
106 | compatible = "gpio-keys"; | |
107 | #address-cells = <1>; | |
108 | #size-cells = <0>; | |
109 | ||
110 | button@1 { | |
111 | label = "Power button"; | |
112 | linux,code = <KEY_POWER>; | |
113 | gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>; | |
114 | debounce-interval = <100>; | |
115 | }; | |
116 | button@2 { | |
117 | label = "Reset Button"; | |
118 | linux,code = <KEY_RESTART>; | |
119 | gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; | |
120 | debounce-interval = <100>; | |
121 | }; | |
122 | button@3 { | |
123 | label = "USB VBUS error"; | |
124 | linux,code = <KEY_UNKNOWN>; | |
125 | gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; | |
126 | debounce-interval = <100>; | |
127 | }; | |
128 | }; | |
129 | ||
130 | gpio-leds { | |
131 | compatible = "gpio-leds"; | |
132 | ||
133 | red-sata0 { | |
134 | label = "cumulus:red:sata0"; | |
135 | gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; | |
136 | default-state = "off"; | |
137 | }; | |
138 | }; | |
139 | ||
140 | gpio_poweroff { | |
141 | compatible = "gpio-poweroff"; | |
142 | gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>; | |
143 | }; | |
144 | }; | |
145 | ||
146 | &pinctrl { | |
147 | pinctrl-0 = <&sata_led_pin>; | |
148 | pinctrl-names = "default"; | |
149 | ||
150 | sata_led_pin: sata-led-pin { | |
151 | marvell,pins = "mpp60"; | |
152 | marvell,function = "sata0"; | |
153 | }; | |
154 | gpio_led_pin: gpio-led-pin { | |
155 | marvell,pins = "mpp60"; | |
156 | marvell,function = "gpio"; | |
157 | }; | |
158 | }; | |
0160a4b6 SR |
159 | |
160 | &spi0 { | |
161 | status = "okay"; | |
162 | pinctrl-0 = <&spi0_pins2>; | |
163 | pinctrl-names = "default"; | |
164 | ||
165 | spi-flash@0 { | |
166 | #address-cells = <1>; | |
167 | #size-cells = <1>; | |
168 | /* MX25L8006E */ | |
169 | compatible = "mxicy,mx25l8005", "jedec,spi-nor"; | |
170 | reg = <0>; /* Chip select 0 */ | |
171 | spi-max-frequency = <50000000>; | |
172 | ||
173 | partition@0 { | |
174 | label = "u-boot"; | |
175 | reg = <0x0 0x100000>; | |
176 | }; | |
177 | }; | |
178 | }; |