/* * Device Tree file for Buffalo Linkstation LS-WVL/VL * * Copyright (C) 2015, 2016 * Roger Shimizu * * 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 = ; gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; }; button@2 { label = "Power-on Switch"; linux,code = ; linux,input-type = <5>; gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; }; button@3 { label = "Power-auto Switch"; linux,code = ; 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_LOW>; }; led@2 { label = "lswvl:red:func"; gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; }; led@3 { label = "lswvl:amber:info"; gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; }; led@4 { label = "lswvl:blue:func"; gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; }; 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_LOW>; }; led@7 { label = "lswvl:red:hdderr1"; gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; }; }; 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>; }; }; ð0 { status = "okay"; ethernet0-port@0 { phy-handle = <ðphy0>; }; };