Linux Audio

Check our new training course

In-person Linux kernel drivers training

Jun 16-20, 2025
Register
Loading...
v4.17
  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};
v4.10.11
 
  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	ocp@f1000000 {
 53		pinctrl: pin-controller@10000 {
 54			pmx_power_hdd0: pmx-power-hdd0 {
 55				marvell,function = "gpio";
 56			};
 57			pmx_usb_vbus: pmx-usb-vbus {
 58				marvell,function = "gpio";
 59			};
 60			pmx_led_alarm: pmx-led-alarm {
 61				marvell,function = "gpio";
 62			};
 63			pmx_led_function_red: pmx-led-function-red {
 64				marvell,function = "gpio";
 65			};
 66			pmx_led_function_blue: pmx-led-function-blue {
 67				marvell,function = "gpio";
 68			};
 69			pmx_led_info: pmx-led-info {
 70				marvell,function = "gpio";
 71			};
 72			pmx_led_power: pmx-led-power {
 73				marvell,function = "gpio";
 74			};
 75			pmx_button_function: pmx-button-function {
 76				marvell,function = "gpio";
 77			};
 78			pmx_power_switch: pmx-power-switch {
 79				marvell,function = "gpio";
 80			};
 81			pmx_power_auto_switch: pmx-power-auto-switch {
 82				marvell,function = "gpio";
 83			};
 84		};
 85
 86		serial@12000 {
 87			status = "okay";
 88		};
 89
 90		sata@80000 {
 91			status = "okay";
 92			nr-ports = <1>;
 93		};
 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
134		function-button {
135			label = "Function Button";
136			linux,code = <KEY_OPTION>;
137		};
138
139		power-on-switch {
140			label = "Power-on Switch";
141			linux,code = <KEY_RESERVED>;
142			linux,input-type = <5>;
143		};
144
145		power-auto-switch {
146			label = "Power-auto Switch";
147			linux,code = <KEY_ESC>;
148			linux,input-type = <5>;
149		};
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
156			     &pmx_led_function_blue>;
157		pinctrl-names = "default";
158	};
159
160	restart_poweroff {
161		compatible = "restart-poweroff";
162	};
163
164	regulators {
165		compatible = "simple-bus";
166		#address-cells = <1>;
167		#size-cells = <0>;
168		pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
169		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;
180		};
181
182		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;
191		};
192	};
193};
194
195&pciec {
196        status = "okay";
197};
198
199&pcie0 {
200	status = "okay";
201};