From mboxrd@z Thu Jan 1 00:00:00 1970 From: andrew@lunn.ch (Andrew Lunn) Date: Thu, 21 Jan 2016 01:36:30 +0100 Subject: [PATCH v2 6/7] ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl In-Reply-To: <1453304038-28345-7-git-send-email-rogershimizu@gmail.com> References: <1453211342-25214-1-git-send-email-rogershimizu@gmail.com> <1453304038-28345-1-git-send-email-rogershimizu@gmail.com> <1453304038-28345-7-git-send-email-rogershimizu@gmail.com> Message-ID: <20160121003630.GF22797@lunn.ch> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Jan 21, 2016 at 12:33:57AM +0900, Roger Shimizu wrote: > LS-WXL/WSXL are both kirkwood-6281 based 2-Bay NAS devices, which share > many MPP pins. However they are slightly different: > - There're two red LED indicator on LS-WXL to show when HDD fails, > but there's no such on LS-WSXL. > - There's 4-level speed adjustable FAN on LS-WXL, but not LS-WSXL. > > So after the split, common part goes into .dtsi file: > - kirkwood-linkstation.dtsi > - kirkwood-linkstation-duo-6281.dtsi > while all rest part goes into device specific .dts file: > - kirkwood-linkstation-lswsxl.dts > - kirkwood-linkstation-lswxl.dts > > Signed-off-by: Roger Shimizu Reviewd-by: Andrew Lunn Thanks Andrew > --- > .../devicetree/bindings/arm/marvell,kirkwood.txt | 3 +- > arch/arm/boot/dts/Makefile | 3 +- > .../boot/dts/kirkwood-linkstation-duo-6281.dtsi | 185 ++++++++++++ > arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts | 57 ++++ > arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts | 116 +++++++ > arch/arm/boot/dts/kirkwood-linkstation.dtsi | 202 +++++++++++++ > arch/arm/boot/dts/kirkwood-lswxl.dts | 334 --------------------- > 7 files changed, 564 insertions(+), 336 deletions(-) > create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi > create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts > create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts > create mode 100644 arch/arm/boot/dts/kirkwood-linkstation.dtsi > delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts > > diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt > index 5171ad8f48ff..c7f8e3e97c78 100644 > --- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt > +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt > @@ -19,9 +19,10 @@ SoC. Currently known SoC compatibles are: > And in addition, the compatible shall be extended with the specific > board. Currently known boards are: > > +"buffalo,linkstation-lswsxl" > +"buffalo,linkstation-lswxl" > "buffalo,lschlv2" > "buffalo,lswvl" > -"buffalo,lswxl" > "buffalo,lsxhl" > "buffalo,lsxl" > "dlink,dns-320" > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 30bbc3746130..788c75a69364 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -183,9 +183,10 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \ > kirkwood-is2.dtb \ > kirkwood-km_kirkwood.dtb \ > kirkwood-laplug.dtb \ > + kirkwood-linkstation-lswsxl.dtb \ > + kirkwood-linkstation-lswxl.dtb \ > kirkwood-lschlv2.dtb \ > kirkwood-lswvl.dtb \ > - kirkwood-lswxl.dtb \ > kirkwood-lsxhl.dtb \ > kirkwood-mplcec4.dtb \ > kirkwood-mv88f6281gtw-ge.dtb \ > diff --git a/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi > new file mode 100644 > index 000000000000..47b8f185839d > --- /dev/null > +++ b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi > @@ -0,0 +1,185 @@ > +/* > + * Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation > + * > + * Copyright (C) 2015, 2016 > + * Roger Shimizu > + * > + * 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 at f1000000 { > + pinctrl: pin-controller at 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 at 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_LOW>; > + }; > + }; > + > + regulators { > + pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>; > + > + usb_power: regulator at 1 { > + gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; > + }; > + > + hdd_power0: regulator at 2 { > + gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>; > + }; > + > + hdd_power1: regulator at 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 at 8 { > + device_type = "ethernet-phy"; > + reg = <8>; > + }; > +}; > + > +ð1 { > + status = "okay"; > + > + ethernet1-port at 0 { > + phy-handle = <ðphy1>; > + }; > +}; > diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts > new file mode 100644 > index 000000000000..4b6450186af5 > --- /dev/null > +++ b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts > @@ -0,0 +1,57 @@ > +/* > + * Device Tree file for Buffalo Linkstation LS-WSXL > + * > + * Copyright (C) 2015, 2016 > + * Roger Shimizu > + * > + * 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>; > + }; > +}; > diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts > new file mode 100644 > index 000000000000..ecd5c12a805d > --- /dev/null > +++ b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts > @@ -0,0 +1,116 @@ > +/* > + * Device Tree file for Buffalo Linkstation LS-WXL > + * > + * Copyright (C) 2015, 2016 > + * Roger Shimizu > + * > + * 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 at f1000000 { > + pinctrl: pin-controller at 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>; > + }; > +}; > diff --git a/arch/arm/boot/dts/kirkwood-linkstation.dtsi b/arch/arm/boot/dts/kirkwood-linkstation.dtsi > new file mode 100644 > index 000000000000..69061b6e987b > --- /dev/null > +++ b/arch/arm/boot/dts/kirkwood-linkstation.dtsi > @@ -0,0 +1,202 @@ > +/* > + * Device Tree common file for kirkwood based Buffalo Linkstation > + * > + * Copyright (C) 2015, 2016 > + * Roger Shimizu > + * > + * 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 at 1,0 { > + status = "okay"; > + }; > + }; > + }; > + > + ocp at f1000000 { > + pinctrl: pin-controller at 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 at 12000 { > + status = "okay"; > + }; > + > + sata at 80000 { > + status = "okay"; > + nr-ports = <1>; > + }; > + > + spi at 10600 { > + status = "okay"; > + > + m25p40 at 0 { > + #address-cells = <1>; > + #size-cells = <1>; > + compatible = "st,m25p40", "jedec,spi-nor"; > + reg = <0>; > + spi-max-frequency = <25000000>; > + mode = <0>; > + > + partition at 0 { > + reg = <0x0 0x60000>; > + label = "uboot"; > + read-only; > + }; > + > + partition at 60000 { > + reg = <0x60000 0x10000>; > + label = "dtb"; > + read-only; > + }; > + > + partition at 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 = ; > + }; > + > + power-on-switch { > + label = "Power-on Switch"; > + linux,code = ; > + linux,input-type = <5>; > + }; > + > + power-auto-switch { > + label = "Power-auto Switch"; > + linux,code = ; > + 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 at 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 at 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; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts > deleted file mode 100644 > index 5bc0b597c9c2..000000000000 > --- a/arch/arm/boot/dts/kirkwood-lswxl.dts > +++ /dev/null > @@ -1,334 +0,0 @@ > -/* > - * Device Tree file for Buffalo Linkstation LS-WXL/WSXL > - * > - * Copyright (C) 2015, 2016 > - * Roger Shimizu > - * > - * 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.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 at 1,0 { > - status = "okay"; > - }; > - }; > - }; > - > - ocp at f1000000 { > - pinctrl: pin-controller at 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 at 12000 { > - status = "okay"; > - }; > - > - sata at 80000 { > - status = "okay"; > - nr-ports = <2>; > - }; > - > - spi at 10600 { > - status = "okay"; > - > - m25p40 at 0 { > - #address-cells = <1>; > - #size-cells = <1>; > - compatible = "st,m25p40", "jedec,spi-nor"; > - reg = <0>; > - spi-max-frequency = <25000000>; > - mode = <0>; > - > - partition at 0 { > - reg = <0x0 0x60000>; > - label = "uboot"; > - read-only; > - }; > - > - partition at 60000 { > - reg = <0x60000 0x10000>; > - label = "dtb"; > - read-only; > - }; > - > - partition at 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 at 1 { > - label = "Function Button"; > - linux,code = ; > - gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; > - }; > - > - button at 2 { > - label = "Power-on Switch"; > - linux,code = ; > - linux,input-type = <5>; > - gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; > - }; > - > - button at 3 { > - label = "Power-auto Switch"; > - linux,code = ; > - 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 at 1 { > - label = "lswxl:blue:func"; > - gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; > - }; > - > - led at 2 { > - label = "lswxl:red:alarm"; > - gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; > - }; > - > - led at 3 { > - label = "lswxl:amber:info"; > - gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; > - }; > - > - led at 4 { > - label = "lswxl:blue:power"; > - gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; > - }; > - > - led at 5 { > - label = "lswxl:red:func"; > - gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; > - }; > - > - led at 6 { > - label = "lswxl:red:hdderr0"; > - gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>; > - }; > - > - led at 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 at 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 at 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 at 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 at 8 { > - device_type = "ethernet-phy"; > - reg = <8>; > - }; > -}; > - > -ð1 { > - status = "okay"; > - > - ethernet1-port at 0 { > - phy-handle = <ðphy1>; > - }; > -}; > -- > 2.1.4 >