Loading...
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device Tree common file for kirkwood based Buffalo Linkstation
4 *
5 * Copyright (C) 2015, 2016
6 * Roger Shimizu <rogershimizu@gmail.com>
7 */
8
9/ {
10 chosen {
11 bootargs = "console=ttyS0,115200n8 earlyprintk";
12 stdout-path = &uart0;
13 };
14
15 ocp@f1000000 {
16 pinctrl: pin-controller@10000 {
17 pmx_power_hdd0: pmx-power-hdd0 {
18 marvell,function = "gpio";
19 };
20 pmx_usb_vbus: pmx-usb-vbus {
21 marvell,function = "gpio";
22 };
23 pmx_led_alarm: pmx-led-alarm {
24 marvell,function = "gpio";
25 };
26 pmx_led_function_red: pmx-led-function-red {
27 marvell,function = "gpio";
28 };
29 pmx_led_function_blue: pmx-led-function-blue {
30 marvell,function = "gpio";
31 };
32 pmx_led_info: pmx-led-info {
33 marvell,function = "gpio";
34 };
35 pmx_led_power: pmx-led-power {
36 marvell,function = "gpio";
37 };
38 pmx_button_function: pmx-button-function {
39 marvell,function = "gpio";
40 };
41 pmx_power_switch: pmx-power-switch {
42 marvell,function = "gpio";
43 };
44 pmx_power_auto_switch: pmx-power-auto-switch {
45 marvell,function = "gpio";
46 };
47 };
48
49 serial@12000 {
50 status = "okay";
51 };
52
53 sata@80000 {
54 status = "okay";
55 nr-ports = <1>;
56 };
57
58 spi@10600 {
59 status = "okay";
60
61 m25p40@0 {
62 #address-cells = <1>;
63 #size-cells = <1>;
64 compatible = "st,m25p40", "jedec,spi-nor";
65 reg = <0>;
66 spi-max-frequency = <25000000>;
67 mode = <0>;
68
69 partition@0 {
70 reg = <0x0 0x60000>;
71 label = "uboot";
72 read-only;
73 };
74
75 partition@60000 {
76 reg = <0x60000 0x10000>;
77 label = "dtb";
78 read-only;
79 };
80
81 partition@70000 {
82 reg = <0x70000 0x10000>;
83 label = "uboot_env";
84 };
85 };
86 };
87 };
88
89 gpio_keys {
90 compatible = "gpio-keys";
91 #address-cells = <1>;
92 #size-cells = <0>;
93 pinctrl-0 = <&pmx_button_function &pmx_power_switch
94 &pmx_power_auto_switch>;
95 pinctrl-names = "default";
96
97 function-button {
98 label = "Function Button";
99 linux,code = <KEY_OPTION>;
100 };
101
102 power-on-switch {
103 label = "Power-on Switch";
104 linux,code = <KEY_RESERVED>;
105 linux,input-type = <5>;
106 };
107
108 power-auto-switch {
109 label = "Power-auto Switch";
110 linux,code = <KEY_ESC>;
111 linux,input-type = <5>;
112 };
113 };
114
115 gpio_leds {
116 compatible = "gpio-leds";
117 pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
118 &pmx_led_info &pmx_led_power
119 &pmx_led_function_blue>;
120 pinctrl-names = "default";
121 };
122
123 restart_poweroff {
124 compatible = "restart-poweroff";
125 };
126
127 regulators {
128 compatible = "simple-bus";
129 #address-cells = <1>;
130 #size-cells = <0>;
131 pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
132 pinctrl-names = "default";
133
134 usb_power: regulator@1 {
135 compatible = "regulator-fixed";
136 reg = <1>;
137 regulator-name = "USB Power";
138 regulator-min-microvolt = <5000000>;
139 regulator-max-microvolt = <5000000>;
140 enable-active-high;
141 regulator-always-on;
142 regulator-boot-on;
143 };
144
145 hdd_power0: regulator@2 {
146 compatible = "regulator-fixed";
147 reg = <2>;
148 regulator-name = "HDD0 Power";
149 regulator-min-microvolt = <5000000>;
150 regulator-max-microvolt = <5000000>;
151 enable-active-high;
152 regulator-always-on;
153 regulator-boot-on;
154 };
155 };
156};
157
158&pciec {
159 status = "okay";
160};
161
162&pcie0 {
163 status = "okay";
164};
1/*
2 * Device Tree common file for kirkwood based Buffalo Linkstation
3 *
4 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * 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.
44 */
45
46/ {
47 chosen {
48 bootargs = "console=ttyS0,115200n8 earlyprintk";
49 stdout-path = &uart0;
50 };
51
52 mbus {
53 pcie-controller {
54 status = "okay";
55 pcie@1,0 {
56 status = "okay";
57 };
58 };
59 };
60
61 ocp@f1000000 {
62 pinctrl: pin-controller@10000 {
63 pmx_power_hdd0: pmx-power-hdd0 {
64 marvell,function = "gpio";
65 };
66 pmx_usb_vbus: pmx-usb-vbus {
67 marvell,function = "gpio";
68 };
69 pmx_led_alarm: pmx-led-alarm {
70 marvell,function = "gpio";
71 };
72 pmx_led_function_red: pmx-led-function-red {
73 marvell,function = "gpio";
74 };
75 pmx_led_function_blue: pmx-led-function-blue {
76 marvell,function = "gpio";
77 };
78 pmx_led_info: pmx-led-info {
79 marvell,function = "gpio";
80 };
81 pmx_led_power: pmx-led-power {
82 marvell,function = "gpio";
83 };
84 pmx_button_function: pmx-button-function {
85 marvell,function = "gpio";
86 };
87 pmx_power_switch: pmx-power-switch {
88 marvell,function = "gpio";
89 };
90 pmx_power_auto_switch: pmx-power-auto-switch {
91 marvell,function = "gpio";
92 };
93 };
94
95 serial@12000 {
96 status = "okay";
97 };
98
99 sata@80000 {
100 status = "okay";
101 nr-ports = <1>;
102 };
103
104 spi@10600 {
105 status = "okay";
106
107 m25p40@0 {
108 #address-cells = <1>;
109 #size-cells = <1>;
110 compatible = "st,m25p40", "jedec,spi-nor";
111 reg = <0>;
112 spi-max-frequency = <25000000>;
113 mode = <0>;
114
115 partition@0 {
116 reg = <0x0 0x60000>;
117 label = "uboot";
118 read-only;
119 };
120
121 partition@60000 {
122 reg = <0x60000 0x10000>;
123 label = "dtb";
124 read-only;
125 };
126
127 partition@70000 {
128 reg = <0x70000 0x10000>;
129 label = "uboot_env";
130 };
131 };
132 };
133 };
134
135 gpio_keys {
136 compatible = "gpio-keys";
137 #address-cells = <1>;
138 #size-cells = <0>;
139 pinctrl-0 = <&pmx_button_function &pmx_power_switch
140 &pmx_power_auto_switch>;
141 pinctrl-names = "default";
142
143 function-button {
144 label = "Function Button";
145 linux,code = <KEY_OPTION>;
146 };
147
148 power-on-switch {
149 label = "Power-on Switch";
150 linux,code = <KEY_RESERVED>;
151 linux,input-type = <5>;
152 };
153
154 power-auto-switch {
155 label = "Power-auto Switch";
156 linux,code = <KEY_ESC>;
157 linux,input-type = <5>;
158 };
159 };
160
161 gpio_leds {
162 compatible = "gpio-leds";
163 pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
164 &pmx_led_info &pmx_led_power
165 &pmx_led_function_blue>;
166 pinctrl-names = "default";
167 };
168
169 restart_poweroff {
170 compatible = "restart-poweroff";
171 };
172
173 regulators {
174 compatible = "simple-bus";
175 #address-cells = <1>;
176 #size-cells = <0>;
177 pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
178 pinctrl-names = "default";
179
180 usb_power: regulator@1 {
181 compatible = "regulator-fixed";
182 reg = <1>;
183 regulator-name = "USB Power";
184 regulator-min-microvolt = <5000000>;
185 regulator-max-microvolt = <5000000>;
186 enable-active-high;
187 regulator-always-on;
188 regulator-boot-on;
189 };
190
191 hdd_power0: regulator@2 {
192 compatible = "regulator-fixed";
193 reg = <2>;
194 regulator-name = "HDD0 Power";
195 regulator-min-microvolt = <5000000>;
196 regulator-max-microvolt = <5000000>;
197 enable-active-high;
198 regulator-always-on;
199 regulator-boot-on;
200 };
201 };
202};