Commit 53a7aa0b authored by Olof Johansson's avatar Olof Johansson

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: default avatarOlof Johansson <olof@lixom.net>
parents 388f7b1d 5dda254d
...@@ -19,9 +19,12 @@ SoC. Currently known SoC compatibles are: ...@@ -19,9 +19,12 @@ SoC. Currently known SoC compatibles are:
And in addition, the compatible shall be extended with the specific And in addition, the compatible shall be extended with the specific
board. Currently known boards are: board. Currently known boards are:
"buffalo,linkstation-lsqvl"
"buffalo,linkstation-lsvl"
"buffalo,linkstation-lswsxl"
"buffalo,linkstation-lswxl"
"buffalo,linkstation-lswvl"
"buffalo,lschlv2" "buffalo,lschlv2"
"buffalo,lswvl"
"buffalo,lswxl"
"buffalo,lsxhl" "buffalo,lsxhl"
"buffalo,lsxl" "buffalo,lsxl"
"cloudengines,pogo02" "cloudengines,pogo02"
......
...@@ -91,6 +91,9 @@ mpp60 60 gpio, dev(ale1), uart1(rxd), sata0(prsnt), pcie(rstout), ...@@ -91,6 +91,9 @@ mpp60 60 gpio, dev(ale1), uart1(rxd), sata0(prsnt), pcie(rstout),
mpp61 61 gpo, dev(we1), uart1(txd), audio(lrclk) mpp61 61 gpo, dev(we1), uart1(txd), audio(lrclk)
mpp62 62 gpio, dev(a2), uart1(cts), tdm(drx), pcie(clkreq0), mpp62 62 gpio, dev(a2), uart1(cts), tdm(drx), pcie(clkreq0),
audio(mclk), uart0(cts) audio(mclk), uart0(cts)
mpp63 63 gpo, spi0(sck), tclk mpp63 63 gpio, spi0(sck), tclk
mpp64 64 gpio, spi0(miso), spi0(cs1) mpp64 64 gpio, spi0(miso), spi0(cs1)
mpp65 65 gpio, spi0(mosi), spi0(cs2) 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
...@@ -189,9 +189,12 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ ...@@ -189,9 +189,12 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-is2.dtb \ kirkwood-is2.dtb \
kirkwood-km_kirkwood.dtb \ kirkwood-km_kirkwood.dtb \
kirkwood-laplug.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-lschlv2.dtb \
kirkwood-lswvl.dtb \
kirkwood-lswxl.dtb \
kirkwood-lsxhl.dtb \ kirkwood-lsxhl.dtb \
kirkwood-mplcec4.dtb \ kirkwood-mplcec4.dtb \
kirkwood-mv88f6281gtw-ge.dtb \ kirkwood-mv88f6281gtw-ge.dtb \
......
...@@ -200,7 +200,7 @@ partition@800000 { ...@@ -200,7 +200,7 @@ partition@800000 {
&pinctrl { &pinctrl {
pwr_led_pin: pwr-led-pin { pwr_led_pin: pwr-led-pin {
marvell,pins = "mpp63"; marvell,pins = "mpp63";
marvell,function = "gpo"; marvell,function = "gpio";
}; };
stat_led_pins: stat-led-pins { stat_led_pins: stat-led-pins {
......
...@@ -297,7 +297,7 @@ power_button_pin: power-button-pin { ...@@ -297,7 +297,7 @@ power_button_pin: power-button-pin {
backup_led_pin: backup-led-pin { backup_led_pin: backup-led-pin {
marvell,pins = "mpp63"; marvell,pins = "mpp63";
marvell,function = "gpo"; marvell,function = "gpio";
}; };
power_led_pin: power-led-pin { power_led_pin: power-led-pin {
......
...@@ -339,7 +339,7 @@ fan_ctrl_mid_pin: fan-ctrl-mid-pin { ...@@ -339,7 +339,7 @@ fan_ctrl_mid_pin: fan-ctrl-mid-pin {
fan_ctrl_high_pin: fan-ctrl-high-pin { fan_ctrl_high_pin: fan-ctrl-high-pin {
marvell,pins = "mpp63"; marvell,pins = "mpp63";
marvell,function = "gpo"; marvell,function = "gpio";
}; };
fan_alarm_pin: fan-alarm-pin { fan_alarm_pin: fan-alarm-pin {
......
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
/ { / {
model = "Marvell Armada 385 GP"; model = "Marvell Armada 388 DB-88F6820-GP";
compatible = "marvell,a385-gp", "marvell,armada388", "marvell,armada380"; compatible = "marvell,a388-gp", "marvell,armada388", "marvell,armada380";
chosen { chosen {
stdout-path = "serial0:115200n8"; stdout-path = "serial0:115200n8";
...@@ -229,13 +229,13 @@ sdhci@d8000 { ...@@ -229,13 +229,13 @@ sdhci@d8000 {
/* CON5 */ /* CON5 */
usb3@f0000 { usb3@f0000 {
vcc-supply = <&reg_usb2_1_vbus>; usb-phy = <&usb2_1_phy>;
status = "okay"; status = "okay";
}; };
/* CON7 */ /* CON7 */
usb3@f8000 { usb3@f8000 {
vcc-supply = <&reg_usb3_vbus>; usb-phy = <&usb3_phy>;
status = "okay"; status = "okay";
}; };
}; };
...@@ -273,13 +273,22 @@ gpio-fan { ...@@ -273,13 +273,22 @@ gpio-fan {
}; };
}; };
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 { reg_usb3_vbus: usb3-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "usb3-vbus"; regulator-name = "usb3-vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
regulator-always-on;
gpio = <&expander1 15 GPIO_ACTIVE_HIGH>; gpio = <&expander1 15 GPIO_ACTIVE_HIGH>;
}; };
...@@ -299,7 +308,6 @@ reg_usb2_1_vbus: v5-vbus1 { ...@@ -299,7 +308,6 @@ reg_usb2_1_vbus: v5-vbus1 {
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
enable-active-high; enable-active-high;
regulator-always-on;
gpio = <&expander0 4 GPIO_ACTIVE_HIGH>; gpio = <&expander0 4 GPIO_ACTIVE_HIGH>;
}; };
...@@ -309,7 +317,7 @@ reg_sata0: pwr-sata0 { ...@@ -309,7 +317,7 @@ reg_sata0: pwr-sata0 {
regulator-min-microvolt = <12000000>; regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>; regulator-max-microvolt = <12000000>;
enable-active-high; enable-active-high;
regulator-always-on; regulator-boot-on;
gpio = <&expander0 2 GPIO_ACTIVE_HIGH>; gpio = <&expander0 2 GPIO_ACTIVE_HIGH>;
}; };
...@@ -318,7 +326,6 @@ reg_5v_sata0: v5-sata0 { ...@@ -318,7 +326,6 @@ reg_5v_sata0: v5-sata0 {
regulator-name = "v5.0-sata0"; regulator-name = "v5.0-sata0";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata0>; vin-supply = <&reg_sata0>;
}; };
...@@ -327,7 +334,6 @@ reg_12v_sata0: v12-sata0 { ...@@ -327,7 +334,6 @@ reg_12v_sata0: v12-sata0 {
regulator-name = "v12.0-sata0"; regulator-name = "v12.0-sata0";
regulator-min-microvolt = <12000000>; regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>; regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata0>; vin-supply = <&reg_sata0>;
}; };
...@@ -337,7 +343,7 @@ reg_sata1: pwr-sata1 { ...@@ -337,7 +343,7 @@ reg_sata1: pwr-sata1 {
regulator-min-microvolt = <12000000>; regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>; regulator-max-microvolt = <12000000>;
enable-active-high; enable-active-high;
regulator-always-on; regulator-boot-on;
gpio = <&expander0 3 GPIO_ACTIVE_HIGH>; gpio = <&expander0 3 GPIO_ACTIVE_HIGH>;
}; };
...@@ -346,7 +352,6 @@ reg_5v_sata1: v5-sata1 { ...@@ -346,7 +352,6 @@ reg_5v_sata1: v5-sata1 {
regulator-name = "v5.0-sata1"; regulator-name = "v5.0-sata1";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata1>; vin-supply = <&reg_sata1>;
}; };
...@@ -355,7 +360,6 @@ reg_12v_sata1: v12-sata1 { ...@@ -355,7 +360,6 @@ reg_12v_sata1: v12-sata1 {
regulator-name = "v12.0-sata1"; regulator-name = "v12.0-sata1";
regulator-min-microvolt = <12000000>; regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>; regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata1>; vin-supply = <&reg_sata1>;
}; };
...@@ -363,7 +367,7 @@ reg_sata2: pwr-sata2 { ...@@ -363,7 +367,7 @@ reg_sata2: pwr-sata2 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "pwr_en_sata2"; regulator-name = "pwr_en_sata2";
enable-active-high; enable-active-high;
regulator-always-on; regulator-boot-on;
gpio = <&expander0 11 GPIO_ACTIVE_HIGH>; gpio = <&expander0 11 GPIO_ACTIVE_HIGH>;
}; };
...@@ -372,7 +376,6 @@ reg_5v_sata2: v5-sata2 { ...@@ -372,7 +376,6 @@ reg_5v_sata2: v5-sata2 {
regulator-name = "v5.0-sata2"; regulator-name = "v5.0-sata2";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata2>; vin-supply = <&reg_sata2>;
}; };
...@@ -381,7 +384,6 @@ reg_12v_sata2: v12-sata2 { ...@@ -381,7 +384,6 @@ reg_12v_sata2: v12-sata2 {
regulator-name = "v12.0-sata2"; regulator-name = "v12.0-sata2";
regulator-min-microvolt = <12000000>; regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>; regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata2>; vin-supply = <&reg_sata2>;
}; };
...@@ -389,7 +391,7 @@ reg_sata3: pwr-sata3 { ...@@ -389,7 +391,7 @@ reg_sata3: pwr-sata3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "pwr_en_sata3"; regulator-name = "pwr_en_sata3";
enable-active-high; enable-active-high;
regulator-always-on; regulator-boot-on;
gpio = <&expander0 12 GPIO_ACTIVE_HIGH>; gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
}; };
...@@ -398,7 +400,6 @@ reg_5v_sata3: v5-sata3 { ...@@ -398,7 +400,6 @@ reg_5v_sata3: v5-sata3 {
regulator-name = "v5.0-sata3"; regulator-name = "v5.0-sata3";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&reg_sata3>; vin-supply = <&reg_sata3>;
}; };
...@@ -407,7 +408,6 @@ reg_12v_sata3: v12-sata3 { ...@@ -407,7 +408,6 @@ reg_12v_sata3: v12-sata3 {
regulator-name = "v12.0-sata3"; regulator-name = "v12.0-sata3";
regulator-min-microvolt = <12000000>; regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>; regulator-max-microvolt = <12000000>;
regulator-always-on;
vin-supply = <&reg_sata3>; vin-supply = <&reg_sata3>;
}; };
}; };
......
/* /*
* Device Tree file for Buffalo Linkstation LS-WVL/VL * Device Tree common file for kirkwood-6282 based Buffalo Linkstation
* *
* Copyright (C) 2015, 2016 * Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com> * Roger Shimizu <rogershimizu@gmail.com>
* *
* This program is free software; you can redistribute it and/or * This file is dual-licensed: you can use it either under the terms
* modify it under the terms of the GNU General Public License * of the GPL or the X11 license, at your option. Note that this dual
* as published by the Free Software Foundation; either version * licensing only applies to this file, and not this project as a
* 2 of the License, or (at your option) any later version. * 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.dtsi" #include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi" #include "kirkwood-6282.dtsi"
#include "kirkwood-linkstation.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 { ocp@f1000000 {
pinctrl: pin-controller@10000 { pinctrl: pin-controller@10000 {
pmx_power_hdd0: pmx-power-hdd0 { pmx_power_hdd0: pmx-power-hdd0 {
marvell,pins = "mpp8"; marvell,pins = "mpp8";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_power_hdd1: pmx-power-hdd1 {
marvell,pins = "mpp9";
marvell,function = "gpio";
};
pmx_usb_vbus: pmx-usb-vbus { pmx_usb_vbus: pmx-usb-vbus {
marvell,pins = "mpp12"; marvell,pins = "mpp12";
marvell,function = "gpio"; marvell,function = "gpio";
...@@ -60,14 +66,6 @@ pmx_fan_low: pmx-fan-low { ...@@ -60,14 +66,6 @@ pmx_fan_low: pmx-fan-low {
marvell,pins = "mpp17"; marvell,pins = "mpp17";
marvell,function = "gpio"; 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 { pmx_led_alarm: pmx-led-alarm {
marvell,pins = "mpp36"; marvell,pins = "mpp36";
marvell,function = "gpio"; marvell,function = "gpio";
...@@ -105,120 +103,48 @@ pmx_power_auto_switch: pmx-power-auto-switch { ...@@ -105,120 +103,48 @@ pmx_power_auto_switch: pmx-power-auto-switch {
marvell,function = "gpio"; 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 { gpio_keys {
compatible = "gpio-keys"; function-button {
#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>; gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
}; };
button@2 { power-on-switch {
label = "Power-on Switch";
linux,code = <KEY_RESERVED>;
linux,input-type = <5>;
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
}; };
button@3 { power-auto-switch {
label = "Power-auto Switch";
linux,code = <KEY_ESC>;
linux,input-type = <5>;
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
}; };
}; };
gpio_leds { gpio_leds {
compatible = "gpio-leds"; red-alarm-led {
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm label = "linkstation:red: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>; gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
}; };
led@2 { red-function-led {
label = "lswvl:red:func"; label = "linkstation:red:function";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
}; };
led@3 { amber-info-led {
label = "lswvl:amber:info"; label = "linkstation:amber:info";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
}; };
led@4 { blue-function-led {
label = "lswvl:blue:func"; label = "linkstation:blue:function";
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
}; };
led@5 { blue-power-led {
label = "lswvl:blue:power"; label = "linkstation:blue:power";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
default-state = "keep"; 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 { gpio_fan {
...@@ -237,50 +163,14 @@ gpio_fan { ...@@ -237,50 +163,14 @@ gpio_fan {
alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
}; };
restart_poweroff {
compatible = "restart-poweroff";
};
regulators { 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 { 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>; gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
}; };
hdd_power0: regulator@2 { 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>; 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>;
};
}; };
}; };
......
/*
* 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>;
};
};
/*
* 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>;
};
};
};
/*
* 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>;
};
};
/*
* 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>;
};
};
/*
* 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>;
};
};
};
/*
* 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>;
};
};
/* /*
* Device Tree file for Buffalo Linkstation LS-WXL/WSXL * Device Tree common file for kirkwood based Buffalo Linkstation
* *
* Copyright (C) 2015, 2016 * Copyright (C) 2015, 2016
* Roger Shimizu <rogershimizu@gmail.com> * Roger Shimizu <rogershimizu@gmail.com>
* *
* This program is free software; you can redistribute it and/or * This file is dual-licensed: you can use it either under the terms
* modify it under the terms of the GNU General Public License * of the GPL or the X11 license, at your option. Note that this dual
* as published by the Free Software Foundation; either version * licensing only applies to this file, and not this project as a
* 2 of the License, or (at your option) any later version. * 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.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 { chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk"; bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = &uart0; stdout-path = &uart0;
...@@ -41,67 +61,33 @@ pcie@1,0 { ...@@ -41,67 +61,33 @@ pcie@1,0 {
ocp@f1000000 { ocp@f1000000 {
pinctrl: pin-controller@10000 { pinctrl: pin-controller@10000 {
pmx_power_hdd0: pmx-power-hdd0 { pmx_power_hdd0: pmx-power-hdd0 {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_power_hdd1: pmx-power-hdd1 {
marvell,pins = "mpp29";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_usb_vbus: pmx-usb-vbus { 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"; marvell,function = "gpio";
}; };
pmx_led_alarm: pmx-led-alarm { pmx_led_alarm: pmx-led-alarm {
marvell,pins = "mpp49";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_led_function_red: pmx-led-function-red { pmx_led_function_red: pmx-led-function-red {
marvell,pins = "mpp34";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_led_function_blue: pmx-led-function-blue { pmx_led_function_blue: pmx-led-function-blue {
marvell,pins = "mpp36";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_led_info: pmx-led-info { pmx_led_info: pmx-led-info {
marvell,pins = "mpp38";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_led_power: pmx-led-power { pmx_led_power: pmx-led-power {
marvell,pins = "mpp39";
marvell,function = "gpio";
};
pmx_fan_lock: pmx-fan-lock {
marvell,pins = "mpp40";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_button_function: pmx-button-function { pmx_button_function: pmx-button-function {
marvell,pins = "mpp41";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_power_switch: pmx-power-switch { pmx_power_switch: pmx-power-switch {
marvell,pins = "mpp42";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_power_auto_switch: pmx-power-auto-switch { pmx_power_auto_switch: pmx-power-auto-switch {
marvell,pins = "mpp43";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
}; };
...@@ -112,7 +98,7 @@ serial@12000 { ...@@ -112,7 +98,7 @@ serial@12000 {
sata@80000 { sata@80000 {
status = "okay"; status = "okay";
nr-ports = <2>; nr-ports = <1>;
}; };
spi@10600 { spi@10600 {
...@@ -154,24 +140,21 @@ gpio_keys { ...@@ -154,24 +140,21 @@ gpio_keys {
&pmx_power_auto_switch>; &pmx_power_auto_switch>;
pinctrl-names = "default"; pinctrl-names = "default";
button@1 { function-button {
label = "Function Button"; label = "Function Button";
linux,code = <KEY_OPTION>; linux,code = <KEY_OPTION>;
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
}; };
button@2 { power-on-switch {
label = "Power-on Switch"; label = "Power-on Switch";
linux,code = <KEY_RESERVED>; linux,code = <KEY_RESERVED>;
linux,input-type = <5>; linux,input-type = <5>;
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
}; };
button@3 { power-auto-switch {
label = "Power-auto Switch"; label = "Power-auto Switch";
linux,code = <KEY_ESC>; linux,code = <KEY_ESC>;
linux,input-type = <5>; linux,input-type = <5>;
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
}; };
}; };
...@@ -179,62 +162,8 @@ gpio_leds { ...@@ -179,62 +162,8 @@ gpio_leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
&pmx_led_info &pmx_led_power &pmx_led_info &pmx_led_power
&pmx_led_function_blue &pmx_led_function_blue>;
&pmx_led_hdderr0
&pmx_led_hdderr1>;
pinctrl-names = "default"; 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 { restart_poweroff {
...@@ -245,7 +174,7 @@ regulators { ...@@ -245,7 +174,7 @@ regulators {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>; pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
pinctrl-names = "default"; pinctrl-names = "default";
usb_power: regulator@1 { usb_power: regulator@1 {
...@@ -257,8 +186,8 @@ usb_power: regulator@1 { ...@@ -257,8 +186,8 @@ usb_power: regulator@1 {
enable-active-high; enable-active-high;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
}; };
hdd_power0: regulator@2 { hdd_power0: regulator@2 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <2>; reg = <2>;
...@@ -268,35 +197,6 @@ hdd_power0: regulator@2 { ...@@ -268,35 +197,6 @@ hdd_power0: regulator@2 {
enable-active-high; enable-active-high;
regulator-always-on; regulator-always-on;
regulator-boot-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>;
}; };
}; };
...@@ -20,6 +20,9 @@ / { ...@@ -20,6 +20,9 @@ / {
compatible = "marvell,openrd-client", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood"; compatible = "marvell,openrd-client", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
ocp@f1000000 { ocp@f1000000 {
audio-controller@a0000 {
status = "okay";
};
i2c@11000 { i2c@11000 {
status = "okay"; status = "okay";
clock-frequency = <400000>; clock-frequency = <400000>;
...@@ -27,6 +30,7 @@ i2c@11000 { ...@@ -27,6 +30,7 @@ i2c@11000 {
cs42l51: cs42l51@4a { cs42l51: cs42l51@4a {
compatible = "cirrus,cs42l51"; compatible = "cirrus,cs42l51";
reg = <0x4a>; reg = <0x4a>;
#sound-dai-cells = <0>;
}; };
}; };
}; };
...@@ -37,7 +41,7 @@ sound { ...@@ -37,7 +41,7 @@ sound {
simple-audio-card,mclk-fs = <256>; simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu { simple-audio-card,cpu {
sound-dai = <&audio0>; sound-dai = <&audio0 0>;
}; };
simple-audio-card,codec { simple-audio-card,codec {
......
...@@ -40,7 +40,7 @@ pinctrl: pin-controller@10000 { ...@@ -40,7 +40,7 @@ pinctrl: pin-controller@10000 {
pinctrl-0 = <&pmx_select28 &pmx_sdio_cd &pmx_select34>; pinctrl-0 = <&pmx_select28 &pmx_sdio_cd &pmx_select34>;
pinctrl-names = "default"; pinctrl-names = "default";
pmx_select28: pmx-select-uart-sd { pmx_select28: pmx-select-rs232-rs485 {
marvell,pins = "mpp28"; marvell,pins = "mpp28";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
...@@ -48,7 +48,7 @@ pmx_sdio_cd: pmx-sdio-cd { ...@@ -48,7 +48,7 @@ pmx_sdio_cd: pmx-sdio-cd {
marvell,pins = "mpp29"; marvell,pins = "mpp29";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
pmx_select34: pmx-select-rs232-rs484 { pmx_select34: pmx-select-uart-sd {
marvell,pins = "mpp34"; marvell,pins = "mpp34";
marvell,function = "gpio"; marvell,function = "gpio";
}; };
...@@ -65,6 +65,43 @@ mvsdio@90000 { ...@@ -65,6 +65,43 @@ mvsdio@90000 {
status = "okay"; status = "okay";
cd-gpios = <&gpio0 29 9>; 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";
};
};
}; };
}; };
......
...@@ -381,7 +381,7 @@ sata_phy1: sata-phy@84000 { ...@@ -381,7 +381,7 @@ sata_phy1: sata-phy@84000 {
audio0: audio-controller@a0000 { audio0: audio-controller@a0000 {
compatible = "marvell,kirkwood-audio"; compatible = "marvell,kirkwood-audio";
#sound-dai-cells = <0>; #sound-dai-cells = <1>;
reg = <0xa0000 0x2210>; reg = <0xa0000 0x2210>;
interrupts = <24>; interrupts = <24>;
clocks = <&gate_clk 9>; clocks = <&gate_clk 9>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment