mvebu dt for 4.6 (part 1)

- Improve Armada 38x device tree (SATA and XHCI)
 - Fix SD Card and audio support for OpenRD board
 - Provide template for RS-232/485 configuration for the same board
 - Use a common dtsi file for linkstation boards
 - Add support for Buffalo Linkstation LS-QVL
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAla5uQgACgkQCwYYjhRyO9V6zQCeKOzw/m1ORr7JskrQjovaz4Ni
 AIoAoJ9+/Gqa4sS6J+ZggH2oQnN+aeww
 =wcTq
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-4.6-1' of git://git.infradead.org/linux-mvebu into next/dt

mvebu dt for 4.6 (part 1)

- Improve Armada 38x device tree (SATA and XHCI)
- Fix SD Card and audio support for OpenRD board
- Provide template for RS-232/485 configuration for the same board
- Use a common dtsi file for linkstation boards
- Add support for Buffalo Linkstation LS-QVL

* tag 'mvebu-dt-4.6-1' of git://git.infradead.org/linux-mvebu:
  ARM: dts: kirkwood: add device tree for buffalo linkstation ls-qvl
  ARM: dts: kirkwood: fix audio for OpenRD clients
  ARM: dts: kirkwood: provide template for RS-232/485 configuration for OpenRD
  ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl
  ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
  ARM: dts: kirkwood: relicense dts of ls-wvl/vl and ls-wxl/wsxl under GPLv2/X11
  ARM: dts: kirkwood: fix SD slot default configuration for OpenRD
  ARM: dts: kirkwood: fix pin names for UART/SD selection for OpenRD
  ARM: dts: armada-370: Update the mpp63 function in the device tree on Armada 370
  ARM: dts: armada-38x: use usb-nop-xceiv PHY for the xhci nodes on Armada 388 GP
  ARM: dts: armada-38x: use regulator-boot-on for SATA regulators on Armada 388 GP
  ARM: dts: armada-38x: adjust board name and compatible for Armada 388 GP

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2016-02-24 12:18:36 -08:00
commit 53a7aa0b49
20 changed files with 1137 additions and 634 deletions

View file

@ -19,9 +19,12 @@ SoC. Currently known SoC compatibles are:
And in addition, the compatible shall be extended with the specific
board. Currently known boards are:
"buffalo,linkstation-lsqvl"
"buffalo,linkstation-lsvl"
"buffalo,linkstation-lswsxl"
"buffalo,linkstation-lswxl"
"buffalo,linkstation-lswvl"
"buffalo,lschlv2"
"buffalo,lswvl"
"buffalo,lswxl"
"buffalo,lsxhl"
"buffalo,lsxl"
"cloudengines,pogo02"

View file

@ -91,6 +91,9 @@ mpp60 60 gpio, dev(ale1), uart1(rxd), sata0(prsnt), pcie(rstout),
mpp61 61 gpo, dev(we1), uart1(txd), audio(lrclk)
mpp62 62 gpio, dev(a2), uart1(cts), tdm(drx), pcie(clkreq0),
audio(mclk), uart0(cts)
mpp63 63 gpo, spi0(sck), tclk
mpp63 63 gpio, spi0(sck), tclk
mpp64 64 gpio, spi0(miso), spi0(cs1)
mpp65 65 gpio, spi0(mosi), spi0(cs2)
Note: According to the datasheet mpp63 is a gpo but there is at least
one example of a gpio usage on the board D-Link DNS-327L

View file

@ -189,9 +189,12 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-is2.dtb \
kirkwood-km_kirkwood.dtb \
kirkwood-laplug.dtb \
kirkwood-linkstation-lsqvl.dtb \
kirkwood-linkstation-lsvl.dtb \
kirkwood-linkstation-lswsxl.dtb \
kirkwood-linkstation-lswvl.dtb \
kirkwood-linkstation-lswxl.dtb \
kirkwood-lschlv2.dtb \
kirkwood-lswvl.dtb \
kirkwood-lswxl.dtb \
kirkwood-lsxhl.dtb \
kirkwood-mplcec4.dtb \
kirkwood-mv88f6281gtw-ge.dtb \

View file

@ -200,7 +200,7 @@
&pinctrl {
pwr_led_pin: pwr-led-pin {
marvell,pins = "mpp63";
marvell,function = "gpo";
marvell,function = "gpio";
};
stat_led_pins: stat-led-pins {

View file

@ -297,7 +297,7 @@
backup_led_pin: backup-led-pin {
marvell,pins = "mpp63";
marvell,function = "gpo";
marvell,function = "gpio";
};
power_led_pin: power-led-pin {

View file

@ -339,7 +339,7 @@
fan_ctrl_high_pin: fan-ctrl-high-pin {
marvell,pins = "mpp63";
marvell,function = "gpo";
marvell,function = "gpio";
};
fan_alarm_pin: fan-alarm-pin {

View file

@ -44,8 +44,8 @@
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Marvell Armada 385 GP";
compatible = "marvell,a385-gp", "marvell,armada388", "marvell,armada380";
model = "Marvell Armada 388 DB-88F6820-GP";
compatible = "marvell,a388-gp", "marvell,armada388", "marvell,armada380";
chosen {
stdout-path = "serial0:115200n8";
@ -229,13 +229,13 @@
/* CON5 */
usb3@f0000 {
vcc-supply = <&reg_usb2_1_vbus>;
usb-phy = <&usb2_1_phy>;
status = "okay";
};
/* CON7 */
usb3@f8000 {
vcc-supply = <&reg_usb3_vbus>;
usb-phy = <&usb3_phy>;
status = "okay";
};
};
@ -273,13 +273,22 @@
};
};
usb2_1_phy: usb2_1_phy {
compatible = "usb-nop-xceiv";
vcc-supply = <&reg_usb2_1_vbus>;
};
usb3_phy: usb3_phy {
compatible = "usb-nop-xceiv";
vcc-supply = <&reg_usb3_vbus>;
};
reg_usb3_vbus: usb3-vbus {
compatible = "regulator-fixed";
regulator-name = "usb3-vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
gpio = <&expander1 15 GPIO_ACTIVE_HIGH>;
};
@ -299,7 +308,6 @@
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
gpio = <&expander0 4 GPIO_ACTIVE_HIGH>;
};
@ -309,7 +317,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&expander0 2 GPIO_ACTIVE_HIGH>;
};
@ -318,7 +326,6 @@
regulator-name = "v5.0-sata0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata0>;
};
@ -327,7 +334,6 @@
regulator-name = "v12.0-sata0";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata0>;
};
@ -337,7 +343,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&expander0 3 GPIO_ACTIVE_HIGH>;
};
@ -346,7 +352,6 @@
regulator-name = "v5.0-sata1";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata1>;
};
@ -355,7 +360,6 @@
regulator-name = "v12.0-sata1";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata1>;
};
@ -363,7 +367,7 @@
compatible = "regulator-fixed";
regulator-name = "pwr_en_sata2";
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&expander0 11 GPIO_ACTIVE_HIGH>;
};
@ -372,7 +376,6 @@
regulator-name = "v5.0-sata2";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata2>;
};
@ -381,7 +384,6 @@
regulator-name = "v12.0-sata2";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata2>;
};
@ -389,7 +391,7 @@
compatible = "regulator-fixed";
regulator-name = "pwr_en_sata3";
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
};
@ -398,7 +400,6 @@
regulator-name = "v5.0-sata3";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata3>;
};
@ -407,7 +408,6 @@
regulator-name = "v12.0-sata3";
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata3>;
};
};

View file

@ -0,0 +1,192 @@
/*
* Device Tree common file for kirkwood-6282 based Buffalo Linkstation
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"
#include "kirkwood-linkstation.dtsi"
/ {
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_power_hdd0: pmx-power-hdd0 {
marvell,pins = "mpp8";
marvell,function = "gpio";
};
pmx_usb_vbus: pmx-usb-vbus {
marvell,pins = "mpp12";
marvell,function = "gpio";
};
pmx_fan_high: pmx-fan-high {
marvell,pins = "mpp16";
marvell,function = "gpio";
};
pmx_fan_low: pmx-fan-low {
marvell,pins = "mpp17";
marvell,function = "gpio";
};
pmx_led_alarm: pmx-led-alarm {
marvell,pins = "mpp36";
marvell,function = "gpio";
};
pmx_led_function_red: pmx-led-function-red {
marvell,pins = "mpp37";
marvell,function = "gpio";
};
pmx_led_info: pmx-led-info {
marvell,pins = "mpp38";
marvell,function = "gpio";
};
pmx_led_function_blue: pmx-led-function-blue {
marvell,pins = "mpp39";
marvell,function = "gpio";
};
pmx_led_power: pmx-led-power {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_fan_lock: pmx-fan-lock {
marvell,pins = "mpp43";
marvell,function = "gpio";
};
pmx_button_function: pmx-button-function {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_power_switch: pmx-power-switch {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_power_auto_switch: pmx-power-auto-switch {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
};
};
gpio_keys {
function-button {
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
};
power-on-switch {
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
power-auto-switch {
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
gpio_leds {
red-alarm-led {
label = "linkstation:red:alarm";
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
};
red-function-led {
label = "linkstation:red:function";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
};
amber-info-led {
label = "linkstation:amber:info";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
};
blue-function-led {
label = "linkstation:blue:function";
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
};
blue-power-led {
label = "linkstation:blue:power";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
};
gpio_fan {
compatible = "gpio-fan";
pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
pinctrl-names = "default";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW
&gpio0 16 GPIO_ACTIVE_LOW>;
gpio-fan,speed-map = <0 3
1500 2
3250 1
5000 0>;
alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
};
regulators {
usb_power: regulator@1 {
gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
hdd_power0: regulator@2 {
gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
device_type = "ethernet-phy";
reg = <0>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};

View file

@ -0,0 +1,186 @@
/*
* Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"
#include "kirkwood-linkstation.dtsi"
/ {
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_power_hdd0: pmx-power-hdd0 {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_power_hdd1: pmx-power-hdd1 {
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_usb_vbus: pmx-usb-vbus {
marvell,pins = "mpp37";
marvell,function = "gpio";
};
pmx_led_alarm: pmx-led-alarm {
marvell,pins = "mpp49";
marvell,function = "gpio";
};
pmx_led_function_red: pmx-led-function-red {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
pmx_led_function_blue: pmx-led-function-blue {
marvell,pins = "mpp36";
marvell,function = "gpio";
};
pmx_led_info: pmx-led-info {
marvell,pins = "mpp38";
marvell,function = "gpio";
};
pmx_led_power: pmx-led-power {
marvell,pins = "mpp39";
marvell,function = "gpio";
};
pmx_button_function: pmx-button-function {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
pmx_power_switch: pmx-power-switch {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
pmx_power_auto_switch: pmx-power-auto-switch {
marvell,pins = "mpp43";
marvell,function = "gpio";
};
};
sata@80000 {
nr-ports = <2>;
};
};
gpio_keys {
function-button {
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
power-on-switch {
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
power-auto-switch {
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
};
gpio_leds {
red-alarm-led {
label = "linkstation:red:alarm";
gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
};
red-function-led {
label = "linkstation:red:function";
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
};
amber-info-led {
label = "linkstation:amber:info";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
};
blue-function-led {
label = "linkstation:blue:function";
gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
};
blue-power-led {
label = "linkstation:blue:power";
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
regulators {
pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
usb_power: regulator@1 {
gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
};
hdd_power0: regulator@2 {
gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>;
};
hdd_power1: regulator@3 {
compatible = "regulator-fixed";
reg = <3>;
regulator-name = "HDD1 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio {
status = "okay";
ethphy1: ethernet-phy@8 {
device_type = "ethernet-phy";
reg = <8>;
};
};
&eth1 {
status = "okay";
ethernet1-port@0 {
phy-handle = <&ethphy1>;
};
};

View file

@ -0,0 +1,135 @@
/*
* Device Tree file for Buffalo Linkstation LS-QVL
*
* Copyright (C) 2016, Mario Lange <mario_lange@gmx.net>
*
* Based on kirkwood-linkstation-lswvl.dts,
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "kirkwood-linkstation-6282.dtsi"
/ {
model = "Buffalo Linkstation LS-QVL";
compatible = "buffalo,lsqvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
memory { /* 256 MB */
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_power_hdd1: pmx-power-hdd1 {
marvell,pins = "mpp9";
marvell,function = "gpio";
};
pmx_led_hdderr0: pmx-led-hdderr0 {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
pmx_led_hdderr1: pmx-led-hdderr1 {
marvell,pins = "mpp35";
marvell,function = "gpio";
};
pmx_led_hdderr2: pmx-led-hdderr2 {
marvell,pins = "mpp24";
marvell,function = "gpio";
};
pmx_led_hdderr3: pmx-led-hdderr3 {
marvell,pins = "mpp25";
marvell,function = "gpio";
};
};
sata@80000 {
nr-ports = <2>;
};
};
gpio_leds {
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
&pmx_led_info &pmx_led_power
&pmx_led_function_blue
&pmx_led_hdderr0
&pmx_led_hdderr1
&pmx_led_hdderr2
&pmx_led_hdderr3>;
red-hdderr0-led {
label = "linkstation:red:hdderr0";
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
};
red-hdderr1-led {
label = "linkstation:red:hdderr1";
gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
};
red-hdderr2-led {
label = "linkstation:red:hdderr2";
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
};
red-hdderr3-led {
label = "linkstation:red:hdderr3";
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
};
};
regulators {
pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
hdd_power1: regulator@3 {
compatible = "regulator-fixed";
reg = <3>;
regulator-name = "HDD1 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
};
};

View file

@ -0,0 +1,57 @@
/*
* Device Tree file for Buffalo Linkstation LS-VL
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "kirkwood-linkstation-6282.dtsi"
/ {
model = "Buffalo Linkstation LS-VL";
compatible = "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
memory { /* 256 MB */
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
};

View file

@ -0,0 +1,57 @@
/*
* Device Tree file for Buffalo Linkstation LS-WSXL
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "kirkwood-linkstation-duo-6281.dtsi"
/ {
model = "Buffalo Linkstation LS-WSXL";
compatible = "buffalo,lswsxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
memory { /* 128 MB */
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
};

View file

@ -0,0 +1,112 @@
/*
* Device Tree file for Buffalo Linkstation LS-WVL
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "kirkwood-linkstation-6282.dtsi"
/ {
model = "Buffalo Linkstation LS-WVL";
compatible = "buffalo,lswvl","marvell,kirkwood-88f6282", "marvell,kirkwood";
memory { /* 256 MB */
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_power_hdd1: pmx-power-hdd1 {
marvell,pins = "mpp9";
marvell,function = "gpio";
};
pmx_led_hdderr0: pmx-led-hdderr0 {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
pmx_led_hdderr1: pmx-led-hdderr1 {
marvell,pins = "mpp35";
marvell,function = "gpio";
};
};
sata@80000 {
nr-ports = <2>;
};
};
gpio_leds {
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
&pmx_led_info &pmx_led_power
&pmx_led_function_blue
&pmx_led_hdderr0
&pmx_led_hdderr1>;
red-hdderr0-led {
label = "linkstation:red:hdderr0";
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
};
red-hdderr1-led {
label = "linkstation:red:hdderr1";
gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
};
};
regulators {
pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
hdd_power1: regulator@3 {
compatible = "regulator-fixed";
reg = <3>;
regulator-name = "HDD1 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
};
};

View file

@ -0,0 +1,116 @@
/*
* Device Tree file for Buffalo Linkstation LS-WXL
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "kirkwood-linkstation-duo-6281.dtsi"
/ {
model = "Buffalo Linkstation LS-WXL";
compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
memory { /* 128 MB */
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_led_hdderr0: pmx-led-hdderr0 {
marvell,pins = "mpp8";
marvell,function = "gpio";
};
pmx_led_hdderr1: pmx-led-hdderr1 {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_fan_lock: pmx-fan-lock {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_fan_high: pmx-fan-high {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_fan_low: pmx-fan-low {
marvell,pins = "mpp48";
marvell,function = "gpio";
};
};
};
gpio_leds {
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
&pmx_led_info &pmx_led_power
&pmx_led_function_blue
&pmx_led_hdderr0
&pmx_led_hdderr1>;
red-hdderr0-led {
label = "linkstation:red:hdderr0";
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
};
red-hdderr1-led {
label = "linkstation:red:hdderr1";
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};
};
gpio_fan {
compatible = "gpio-fan";
pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
pinctrl-names = "default";
gpios = <&gpio1 16 GPIO_ACTIVE_LOW
&gpio1 15 GPIO_ACTIVE_LOW>;
gpio-fan,speed-map = <0 3
1500 2
3250 1
5000 0>;
alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
};
};

View file

@ -0,0 +1,202 @@
/*
* Device Tree common file for kirkwood based Buffalo Linkstation
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/ {
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = &uart0;
};
mbus {
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_power_hdd0: pmx-power-hdd0 {
marvell,function = "gpio";
};
pmx_usb_vbus: pmx-usb-vbus {
marvell,function = "gpio";
};
pmx_led_alarm: pmx-led-alarm {
marvell,function = "gpio";
};
pmx_led_function_red: pmx-led-function-red {
marvell,function = "gpio";
};
pmx_led_function_blue: pmx-led-function-blue {
marvell,function = "gpio";
};
pmx_led_info: pmx-led-info {
marvell,function = "gpio";
};
pmx_led_power: pmx-led-power {
marvell,function = "gpio";
};
pmx_button_function: pmx-button-function {
marvell,function = "gpio";
};
pmx_power_switch: pmx-power-switch {
marvell,function = "gpio";
};
pmx_power_auto_switch: pmx-power-auto-switch {
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
sata@80000 {
status = "okay";
nr-ports = <1>;
};
spi@10600 {
status = "okay";
m25p40@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "st,m25p40", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
mode = <0>;
partition@0 {
reg = <0x0 0x60000>;
label = "uboot";
read-only;
};
partition@60000 {
reg = <0x60000 0x10000>;
label = "dtb";
read-only;
};
partition@70000 {
reg = <0x70000 0x10000>;
label = "uboot_env";
};
};
};
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_button_function &pmx_power_switch
&pmx_power_auto_switch>;
pinctrl-names = "default";
function-button {
label = "Function Button";
linux,code = <KEY_OPTION>;
};
power-on-switch {
label = "Power-on Switch";
linux,code = <KEY_RESERVED>;
linux,input-type = <5>;
};
power-auto-switch {
label = "Power-auto Switch";
linux,code = <KEY_ESC>;
linux,input-type = <5>;
};
};
gpio_leds {
compatible = "gpio-leds";
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
&pmx_led_info &pmx_led_power
&pmx_led_function_blue>;
pinctrl-names = "default";
};
restart_poweroff {
compatible = "restart-poweroff";
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
pinctrl-names = "default";
usb_power: regulator@1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "USB Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
};
hdd_power0: regulator@2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "HDD0 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
};
};
};

View file

@ -1,302 +0,0 @@
/*
* Device Tree file for Buffalo Linkstation LS-WVL/VL
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"
/ {
model = "Buffalo Linkstation LS-WVL/VL";
compatible = "buffalo,lswvl", "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
memory { /* 256 MB */
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = &uart0;
};
mbus {
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_power_hdd0: pmx-power-hdd0 {
marvell,pins = "mpp8";
marvell,function = "gpio";
};
pmx_power_hdd1: pmx-power-hdd1 {
marvell,pins = "mpp9";
marvell,function = "gpio";
};
pmx_usb_vbus: pmx-usb-vbus {
marvell,pins = "mpp12";
marvell,function = "gpio";
};
pmx_fan_high: pmx-fan-high {
marvell,pins = "mpp16";
marvell,function = "gpio";
};
pmx_fan_low: pmx-fan-low {
marvell,pins = "mpp17";
marvell,function = "gpio";
};
pmx_led_hdderr0: pmx-led-hdderr0 {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
pmx_led_hdderr1: pmx-led-hdderr1 {
marvell,pins = "mpp35";
marvell,function = "gpio";
};
pmx_led_alarm: pmx-led-alarm {
marvell,pins = "mpp36";
marvell,function = "gpio";
};
pmx_led_function_red: pmx-led-function-red {
marvell,pins = "mpp37";
marvell,function = "gpio";
};
pmx_led_info: pmx-led-info {
marvell,pins = "mpp38";
marvell,function = "gpio";
};
pmx_led_function_blue: pmx-led-function-blue {
marvell,pins = "mpp39";
marvell,function = "gpio";
};
pmx_led_power: pmx-led-power {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_fan_lock: pmx-fan-lock {
marvell,pins = "mpp43";
marvell,function = "gpio";
};
pmx_button_function: pmx-button-function {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_power_switch: pmx-power-switch {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_power_auto_switch: pmx-power-auto-switch {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
sata@80000 {
status = "okay";
nr-ports = <2>;
};
spi@10600 {
status = "okay";
m25p40@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "st,m25p40", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
mode = <0>;
partition@0 {
reg = <0x0 0x60000>;
label = "uboot";
read-only;
};
partition@60000 {
reg = <0x60000 0x10000>;
label = "dtb";
read-only;
};
partition@70000 {
reg = <0x70000 0x10000>;
label = "uboot_env";
};
};
};
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_button_function &pmx_power_switch
&pmx_power_auto_switch>;
pinctrl-names = "default";
button@1 {
label = "Function Button";
linux,code = <KEY_OPTION>;
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
};
button@2 {
label = "Power-on Switch";
linux,code = <KEY_RESERVED>;
linux,input-type = <5>;
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
button@3 {
label = "Power-auto Switch";
linux,code = <KEY_ESC>;
linux,input-type = <5>;
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
gpio_leds {
compatible = "gpio-leds";
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
&pmx_led_info &pmx_led_power
&pmx_led_function_blue
&pmx_led_hdderr0
&pmx_led_hdderr1>;
pinctrl-names = "default";
led@1 {
label = "lswvl:red:alarm";
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
};
led@2 {
label = "lswvl:red:func";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
};
led@3 {
label = "lswvl:amber:info";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
};
led@4 {
label = "lswvl:blue:func";
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
};
led@5 {
label = "lswvl:blue:power";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
led@6 {
label = "lswvl:red:hdderr0";
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
};
led@7 {
label = "lswvl:red:hdderr1";
gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
};
};
gpio_fan {
compatible = "gpio-fan";
pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
pinctrl-names = "default";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW
&gpio0 16 GPIO_ACTIVE_LOW>;
gpio-fan,speed-map = <0 3
1500 2
3250 1
5000 0>;
alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
};
restart_poweroff {
compatible = "restart-poweroff";
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
pinctrl-names = "default";
usb_power: regulator@1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "USB Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
hdd_power0: regulator@2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "HDD0 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
};
hdd_power1: regulator@3 {
compatible = "regulator-fixed";
reg = <3>;
regulator-name = "HDD1 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
device_type = "ethernet-phy";
reg = <0>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};

View file

@ -1,302 +0,0 @@
/*
* Device Tree file for Buffalo Linkstation LS-WXL/WSXL
*
* Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"
/ {
model = "Buffalo Linkstation LS-WXL/WSXL";
compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
memory { /* 128 MB */
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = &uart0;
};
mbus {
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_power_hdd0: pmx-power-hdd0 {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_power_hdd1: pmx-power-hdd1 {
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_usb_vbus: pmx-usb-vbus {
marvell,pins = "mpp37";
marvell,function = "gpio";
};
pmx_fan_high: pmx-fan-high {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_fan_low: pmx-fan-low {
marvell,pins = "mpp48";
marvell,function = "gpio";
};
pmx_led_hdderr0: pmx-led-hdderr0 {
marvell,pins = "mpp8";
marvell,function = "gpio";
};
pmx_led_hdderr1: pmx-led-hdderr1 {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_led_alarm: pmx-led-alarm {
marvell,pins = "mpp49";
marvell,function = "gpio";
};
pmx_led_function_red: pmx-led-function-red {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
pmx_led_function_blue: pmx-led-function-blue {
marvell,pins = "mpp36";
marvell,function = "gpio";
};
pmx_led_info: pmx-led-info {
marvell,pins = "mpp38";
marvell,function = "gpio";
};
pmx_led_power: pmx-led-power {
marvell,pins = "mpp39";
marvell,function = "gpio";
};
pmx_fan_lock: pmx-fan-lock {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_button_function: pmx-button-function {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
pmx_power_switch: pmx-power-switch {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
pmx_power_auto_switch: pmx-power-auto-switch {
marvell,pins = "mpp43";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
sata@80000 {
status = "okay";
nr-ports = <2>;
};
spi@10600 {
status = "okay";
m25p40@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "st,m25p40", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
mode = <0>;
partition@0 {
reg = <0x0 0x60000>;
label = "uboot";
read-only;
};
partition@60000 {
reg = <0x60000 0x10000>;
label = "dtb";
read-only;
};
partition@70000 {
reg = <0x70000 0x10000>;
label = "uboot_env";
};
};
};
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_button_function &pmx_power_switch
&pmx_power_auto_switch>;
pinctrl-names = "default";
button@1 {
label = "Function Button";
linux,code = <KEY_OPTION>;
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
button@2 {
label = "Power-on Switch";
linux,code = <KEY_RESERVED>;
linux,input-type = <5>;
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
button@3 {
label = "Power-auto Switch";
linux,code = <KEY_ESC>;
linux,input-type = <5>;
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
};
gpio_leds {
compatible = "gpio-leds";
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
&pmx_led_info &pmx_led_power
&pmx_led_function_blue
&pmx_led_hdderr0
&pmx_led_hdderr1>;
pinctrl-names = "default";
led@1 {
label = "lswxl:blue:func";
gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
};
led@2 {
label = "lswxl:red:alarm";
gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
};
led@3 {
label = "lswxl:amber:info";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
};
led@4 {
label = "lswxl:blue:power";
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
led@5 {
label = "lswxl:red:func";
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
};
led@6 {
label = "lswxl:red:hdderr0";
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
};
led@7 {
label = "lswxl:red:hdderr1";
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};
};
gpio_fan {
compatible = "gpio-fan";
pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
pinctrl-names = "default";
gpios = <&gpio1 16 GPIO_ACTIVE_LOW
&gpio1 15 GPIO_ACTIVE_LOW>;
gpio-fan,speed-map = <0 3
1500 2
3250 1
5000 0>;
alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
};
restart_poweroff {
compatible = "restart-poweroff";
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
pinctrl-names = "default";
usb_power: regulator@1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "USB Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
};
hdd_power0: regulator@2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "HDD0 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>;
};
hdd_power1: regulator@3 {
compatible = "regulator-fixed";
reg = <3>;
regulator-name = "HDD1 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio {
status = "okay";
ethphy1: ethernet-phy@8 {
device_type = "ethernet-phy";
reg = <8>;
};
};
&eth1 {
status = "okay";
ethernet1-port@0 {
phy-handle = <&ethphy1>;
};
};

View file

@ -20,6 +20,9 @@
compatible = "marvell,openrd-client", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
ocp@f1000000 {
audio-controller@a0000 {
status = "okay";
};
i2c@11000 {
status = "okay";
clock-frequency = <400000>;
@ -27,6 +30,7 @@
cs42l51: cs42l51@4a {
compatible = "cirrus,cs42l51";
reg = <0x4a>;
#sound-dai-cells = <0>;
};
};
};
@ -37,7 +41,7 @@
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&audio0>;
sound-dai = <&audio0 0>;
};
simple-audio-card,codec {

View file

@ -40,7 +40,7 @@
pinctrl-0 = <&pmx_select28 &pmx_sdio_cd &pmx_select34>;
pinctrl-names = "default";
pmx_select28: pmx-select-uart-sd {
pmx_select28: pmx-select-rs232-rs485 {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
@ -48,7 +48,7 @@
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_select34: pmx-select-rs232-rs484 {
pmx_select34: pmx-select-uart-sd {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
@ -65,6 +65,43 @@
status = "okay";
cd-gpios = <&gpio0 29 9>;
};
gpio@10100 {
p28 {
gpio-hog;
gpios = <28 GPIO_ACTIVE_HIGH>;
/*
* SelRS232or485 selects between RS-232 or RS-485
* mode for the second UART.
*
* Low: RS-232
* High: RS-485
*
* To use the second UART, you need to change also
* the SelUARTorSD.
*/
output-low;
line-name = "SelRS232or485";
};
};
gpio@10140 {
p2 {
gpio-hog;
gpios = <2 GPIO_ACTIVE_HIGH>;
/*
* SelUARTorSD selects between the second UART
* (serial@12100) and SD (mvsdio@90000).
*
* Low: UART
* High: SD
*
* When changing this line make sure the newly
* selected device node is enabled and the
* previously selected device node is disabled.
*/
output-high; /* Select SD by default */
line-name = "SelUARTorSD";
};
};
};
};

View file

@ -381,7 +381,7 @@
audio0: audio-controller@a0000 {
compatible = "marvell,kirkwood-audio";
#sound-dai-cells = <0>;
#sound-dai-cells = <1>;
reg = <0xa0000 0x2210>;
interrupts = <24>;
clocks = <&gate_clk 9>;