// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Device Tree file for Buffalo Linkstation LS-WXL
 *
 * Copyright (C) 2015, 2016
 * Roger Shimizu <rogershimizu@gmail.com>
 */

/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>;
	};
};
