blob: cbaf06f2f78e25abf993dead9ecebba23b8b2b2b [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0
#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"
/ {
model = "D-Link DNS NASes (kirkwood-based)";
compatible = "dlink,dns-kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_button_power &pmx_button_unmount
&pmx_button_reset>;
pinctrl-names = "default";
power {
label = "Power button";
linux,code = <KEY_POWER>;
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
};
eject {
label = "USB unmount button";
linux,code = <KEY_EJECTCD>;
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
reset {
label = "Reset button";
linux,code = <KEY_RESTART>;
gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
};
};
gpio_fan {
/* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */
compatible = "gpio-fan";
pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>;
pinctrl-names = "default";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW
&gpio1 13 GPIO_ACTIVE_LOW>;
gpio-fan,speed-map = <0 0
3000 1
6000 2>;
};
gpio_poweroff {
compatible = "gpio-poweroff";
pinctrl-0 = <&pmx_power_off>;
pinctrl-names = "default";
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pinctrl-0 = <&pmx_power_back_on &pmx_present_sata0
&pmx_present_sata1 &pmx_fan_tacho
&pmx_temp_alarm>;
pinctrl-names = "default";
pmx_sata0: pmx-sata0 {
marvell,pins = "mpp20";
marvell,function = "sata1";
};
pmx_sata1: pmx-sata1 {
marvell,pins = "mpp21";
marvell,function = "sata0";
};
pmx_led_power: pmx-led-power {
marvell,pins = "mpp26";
marvell,function = "gpio";
};
pmx_led_red_right_hdd: pmx-led-red-right-hdd {
marvell,pins = "mpp27";
marvell,function = "gpio";
};
pmx_led_red_left_hdd: pmx-led-red-left-hdd {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_led_red_usb_325: pmx-led-red-usb-325 {
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_button_power: pmx-button-power {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
pmx_led_red_usb_320: pmx-led-red-usb-320 {
marvell,pins = "mpp35";
marvell,function = "gpio";
};
pmx_power_off: pmx-power-off {
marvell,pins = "mpp36";
marvell,function = "gpio";
};
pmx_power_back_on: pmx-power-back-on {
marvell,pins = "mpp37";
marvell,function = "gpio";
};
pmx_power_sata0: pmx-power-sata0 {
marvell,pins = "mpp39";
marvell,function = "gpio";
};
pmx_power_sata1: pmx-power-sata1 {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_present_sata0: pmx-present-sata0 {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
pmx_present_sata1: pmx-present-sata1 {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
pmx_led_white_usb: pmx-led-white-usb {
marvell,pins = "mpp43";
marvell,function = "gpio";
};
pmx_fan_tacho: pmx-fan-tacho {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
pmx_fan_high_speed: pmx-fan-high-speed {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_fan_low_speed: pmx-fan-low-speed {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_button_unmount: pmx-button-unmount {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_button_reset: pmx-button-reset {
marvell,pins = "mpp48";
marvell,function = "gpio";
};
pmx_temp_alarm: pmx-temp-alarm {
marvell,pins = "mpp49";
marvell,function = "gpio";
};
};
sata@80000 {
pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
pinctrl-names = "default";
status = "okay";
nr-ports = <2>;
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>;
pinctrl-names = "default";
sata0_power: regulator@1 {
compatible = "regulator-fixed";
reg = <1>;
regulator-name = "SATA0 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio1 7 0>;
};
sata1_power: regulator@2 {
compatible = "regulator-fixed";
reg = <2>;
regulator-name = "SATA1 Power";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio1 8 0>;
};
};
};
&nand {
status = "okay";
chip-delay = <35>;
partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
read-only;
};
partition@100000 {
label = "uImage";
reg = <0x0100000 0x500000>;
};
partition@600000 {
label = "ramdisk";
reg = <0x0600000 0x500000>;
};
partition@b00000 {
label = "image";
reg = <0x0b00000 0x6600000>;
};
partition@7100000 {
label = "mini firmware";
reg = <0x7100000 0xa00000>;
};
partition@7b00000 {
label = "config";
reg = <0x7b00000 0x500000>;
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@8 {
reg = <8>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};