blob: 36c54c9dfa3095c46a283720f48be18147f45748 [file] [log] [blame]
Roger Shimizue54e4b12015-06-23 00:00:16 +09001/*
Roger Shimizub05465f2016-01-21 23:38:49 +09002 * Device Tree common file for kirkwood based Buffalo Linkstation
Roger Shimizue54e4b12015-06-23 00:00:16 +09003 *
Roger Shimizu144e08a2016-01-21 23:38:44 +09004 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com>
Roger Shimizue54e4b12015-06-23 00:00:16 +09006 *
Roger Shimizu3e2f2db2016-01-21 23:38:48 +09007 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
Roger Shimizue54e4b12015-06-23 00:00:16 +090044 */
45
Roger Shimizue54e4b12015-06-23 00:00:16 +090046/ {
Roger Shimizue54e4b12015-06-23 00:00:16 +090047 chosen {
48 bootargs = "console=ttyS0,115200n8 earlyprintk";
49 stdout-path = &uart0;
50 };
51
Roger Shimizue54e4b12015-06-23 00:00:16 +090052 ocp@f1000000 {
53 pinctrl: pin-controller@10000 {
54 pmx_power_hdd0: pmx-power-hdd0 {
Roger Shimizue54e4b12015-06-23 00:00:16 +090055 marvell,function = "gpio";
56 };
57 pmx_usb_vbus: pmx-usb-vbus {
Roger Shimizue54e4b12015-06-23 00:00:16 +090058 marvell,function = "gpio";
59 };
60 pmx_led_alarm: pmx-led-alarm {
Roger Shimizue54e4b12015-06-23 00:00:16 +090061 marvell,function = "gpio";
62 };
63 pmx_led_function_red: pmx-led-function-red {
Roger Shimizue54e4b12015-06-23 00:00:16 +090064 marvell,function = "gpio";
65 };
66 pmx_led_function_blue: pmx-led-function-blue {
Roger Shimizue54e4b12015-06-23 00:00:16 +090067 marvell,function = "gpio";
68 };
69 pmx_led_info: pmx-led-info {
Roger Shimizue54e4b12015-06-23 00:00:16 +090070 marvell,function = "gpio";
71 };
72 pmx_led_power: pmx-led-power {
Roger Shimizue54e4b12015-06-23 00:00:16 +090073 marvell,function = "gpio";
74 };
75 pmx_button_function: pmx-button-function {
Roger Shimizue54e4b12015-06-23 00:00:16 +090076 marvell,function = "gpio";
77 };
78 pmx_power_switch: pmx-power-switch {
Roger Shimizue54e4b12015-06-23 00:00:16 +090079 marvell,function = "gpio";
80 };
81 pmx_power_auto_switch: pmx-power-auto-switch {
Roger Shimizue54e4b12015-06-23 00:00:16 +090082 marvell,function = "gpio";
83 };
84 };
85
86 serial@12000 {
87 status = "okay";
88 };
89
90 sata@80000 {
91 status = "okay";
Roger Shimizub05465f2016-01-21 23:38:49 +090092 nr-ports = <1>;
Roger Shimizue54e4b12015-06-23 00:00:16 +090093 };
94
95 spi@10600 {
96 status = "okay";
97
98 m25p40@0 {
99 #address-cells = <1>;
100 #size-cells = <1>;
101 compatible = "st,m25p40", "jedec,spi-nor";
102 reg = <0>;
103 spi-max-frequency = <25000000>;
104 mode = <0>;
105
106 partition@0 {
107 reg = <0x0 0x60000>;
108 label = "uboot";
109 read-only;
110 };
111
112 partition@60000 {
113 reg = <0x60000 0x10000>;
114 label = "dtb";
115 read-only;
116 };
117
118 partition@70000 {
119 reg = <0x70000 0x10000>;
120 label = "uboot_env";
121 };
122 };
123 };
124 };
125
126 gpio_keys {
127 compatible = "gpio-keys";
128 #address-cells = <1>;
129 #size-cells = <0>;
130 pinctrl-0 = <&pmx_button_function &pmx_power_switch
131 &pmx_power_auto_switch>;
132 pinctrl-names = "default";
133
Roger Shimizub05465f2016-01-21 23:38:49 +0900134 function-button {
Roger Shimizue54e4b12015-06-23 00:00:16 +0900135 label = "Function Button";
136 linux,code = <KEY_OPTION>;
Roger Shimizue54e4b12015-06-23 00:00:16 +0900137 };
138
Roger Shimizub05465f2016-01-21 23:38:49 +0900139 power-on-switch {
Roger Shimizue54e4b12015-06-23 00:00:16 +0900140 label = "Power-on Switch";
141 linux,code = <KEY_RESERVED>;
142 linux,input-type = <5>;
Roger Shimizue54e4b12015-06-23 00:00:16 +0900143 };
144
Roger Shimizub05465f2016-01-21 23:38:49 +0900145 power-auto-switch {
Roger Shimizue54e4b12015-06-23 00:00:16 +0900146 label = "Power-auto Switch";
147 linux,code = <KEY_ESC>;
148 linux,input-type = <5>;
Roger Shimizue54e4b12015-06-23 00:00:16 +0900149 };
150 };
151
152 gpio_leds {
153 compatible = "gpio-leds";
154 pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
155 &pmx_led_info &pmx_led_power
Roger Shimizub05465f2016-01-21 23:38:49 +0900156 &pmx_led_function_blue>;
Roger Shimizue54e4b12015-06-23 00:00:16 +0900157 pinctrl-names = "default";
Roger Shimizue54e4b12015-06-23 00:00:16 +0900158 };
159
160 restart_poweroff {
161 compatible = "restart-poweroff";
162 };
163
164 regulators {
165 compatible = "simple-bus";
166 #address-cells = <1>;
167 #size-cells = <0>;
Roger Shimizub05465f2016-01-21 23:38:49 +0900168 pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
Roger Shimizue54e4b12015-06-23 00:00:16 +0900169 pinctrl-names = "default";
170
171 usb_power: regulator@1 {
172 compatible = "regulator-fixed";
173 reg = <1>;
174 regulator-name = "USB Power";
175 regulator-min-microvolt = <5000000>;
176 regulator-max-microvolt = <5000000>;
177 enable-active-high;
178 regulator-always-on;
179 regulator-boot-on;
Roger Shimizue54e4b12015-06-23 00:00:16 +0900180 };
Roger Shimizub05465f2016-01-21 23:38:49 +0900181
Roger Shimizue54e4b12015-06-23 00:00:16 +0900182 hdd_power0: regulator@2 {
183 compatible = "regulator-fixed";
184 reg = <2>;
185 regulator-name = "HDD0 Power";
186 regulator-min-microvolt = <5000000>;
187 regulator-max-microvolt = <5000000>;
188 enable-active-high;
189 regulator-always-on;
190 regulator-boot-on;
Roger Shimizue54e4b12015-06-23 00:00:16 +0900191 };
Roger Shimizue54e4b12015-06-23 00:00:16 +0900192 };
193};
Andrew Lunneb13cf82016-04-03 04:03:47 +0200194
195&pciec {
196 status = "okay";
197};
198
199&pcie0 {
200 status = "okay";
201};