// SPDX-License-Identifier: GPL-2.0
/*
* kirkwood-pogoplug-series-4.dts - Device tree file for PogoPlug Series 4
* inspired by the board files made by Kevin Mihelich for ArchLinux,
* and their DTS file.
*
* Copyright (C) 2015 Linus Walleij <[email protected]>
*/
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6192.dtsi"
#include <dt-bindings/input/linux-event-codes.h>
/ {
model = "Cloud Engines PogoPlug Series 4";
compatible = "cloudengines,pogoplugv4", "marvell,kirkwood-88f6192",
"marvell,kirkwood";
memory {
device_type = "memory";
reg = <0x00000000 0x08000000>;
};
chosen {
stdout-path = "uart0:115200n8";
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-0 = <&pmx_button_eject>;
pinctrl-names = "default";
button-eject {
debounce-interval = <50>;
wakeup-source;
linux,code = <KEY_EJECTCD>;
label = "Eject Button";
gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = <&pmx_led_green &pmx_led_red>;
pinctrl-names = "default";
led-health {
label = "pogoplugv4:green:health";
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led-fault {
label = "pogoplugv4:red:fault";
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
pmx_sata0: pmx-sata0 {
marvell,pins = "mpp21";
marvell,function = "sata0";
};
pmx_sata1: pmx-sata1 {
marvell,pins = "mpp20";
marvell,function = "sata1";
};
pmx_sdio_cd: pmx-sdio-cd {
marvell,pins = "mpp27";
marvell,function = "gpio";
};
pmx_sdio_wp: pmx-sdio-wp {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_button_eject: pmx-button-eject {
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_led_green: pmx-led-green {
marvell,pins = "mpp22";
marvell,function = "gpio";
};
pmx_led_red: pmx-led-red {
marvell,pins = "mpp24";
marvell,function = "gpio";
};
};
&uart0 {
status = "okay";
};
/*
* This PCIE controller has a USB 3.0 XHCI controller at 1,0
*/
&pciec {
status = "okay";
};
&pcie0 {
status = "okay";
};
&sata {
status = "okay";
pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
pinctrl-names = "default";
nr-ports = <1>;
};
&sdio {
status = "okay";
pinctrl-0 = <&pmx_sdio &pmx_sdio_cd &pmx_sdio_wp>;
pinctrl-names = "default";
cd-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
wp-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
};
&nand {
/* 128 MiB of NAND flash */
chip-delay = <40>;
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x00000000 0x200000>;
read-only;
};
partition@200000 {
label = "uImage";
reg = <0x00200000 0x300000>;
};
partition@500000 {
label = "uImage2";
reg = <0x00500000 0x300000>;
};
partition@800000 {
label = "failsafe";
reg = <0x00800000 0x800000>;
};
partition@1000000 {
label = "root";
reg = <0x01000000 0x7000000>;
};
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
ð0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <ðphy0>;
};
};