0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * kirkwood-pogoplug-series-4.dts - Device tree file for PogoPlug Series 4
0004 * inspired by the board files made by Kevin Mihelich for ArchLinux,
0005 * and their DTS file.
0006 *
0007 * Copyright (C) 2015 Linus Walleij <linus.walleij@linaro.org>
0008 */
0009
0010 /dts-v1/;
0011
0012 #include "kirkwood.dtsi"
0013 #include "kirkwood-6192.dtsi"
0014 #include <dt-bindings/input/linux-event-codes.h>
0015
0016 / {
0017 model = "Cloud Engines PogoPlug Series 4";
0018 compatible = "cloudengines,pogoplugv4", "marvell,kirkwood-88f6192",
0019 "marvell,kirkwood";
0020
0021 memory {
0022 device_type = "memory";
0023 reg = <0x00000000 0x08000000>;
0024 };
0025
0026 chosen {
0027 stdout-path = "uart0:115200n8";
0028 };
0029
0030 gpio_keys {
0031 compatible = "gpio-keys";
0032 #address-cells = <1>;
0033 #size-cells = <0>;
0034 pinctrl-0 = <&pmx_button_eject>;
0035 pinctrl-names = "default";
0036
0037 eject {
0038 debounce-interval = <50>;
0039 wakeup-source;
0040 linux,code = <KEY_EJECTCD>;
0041 label = "Eject Button";
0042 gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
0043 };
0044 };
0045
0046 gpio-leds {
0047 compatible = "gpio-leds";
0048 pinctrl-0 = <&pmx_led_green &pmx_led_red>;
0049 pinctrl-names = "default";
0050
0051 health {
0052 label = "pogoplugv4:green:health";
0053 gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
0054 default-state = "on";
0055 };
0056 fault {
0057 label = "pogoplugv4:red:fault";
0058 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
0059 };
0060 };
0061 };
0062
0063 &pinctrl {
0064 pmx_sata0: pmx-sata0 {
0065 marvell,pins = "mpp21";
0066 marvell,function = "sata0";
0067 };
0068
0069 pmx_sata1: pmx-sata1 {
0070 marvell,pins = "mpp20";
0071 marvell,function = "sata1";
0072 };
0073
0074 pmx_sdio_cd: pmx-sdio-cd {
0075 marvell,pins = "mpp27";
0076 marvell,function = "gpio";
0077 };
0078
0079 pmx_sdio_wp: pmx-sdio-wp {
0080 marvell,pins = "mpp28";
0081 marvell,function = "gpio";
0082 };
0083
0084 pmx_button_eject: pmx-button-eject {
0085 marvell,pins = "mpp29";
0086 marvell,function = "gpio";
0087 };
0088
0089 pmx_led_green: pmx-led-green {
0090 marvell,pins = "mpp22";
0091 marvell,function = "gpio";
0092 };
0093
0094 pmx_led_red: pmx-led-red {
0095 marvell,pins = "mpp24";
0096 marvell,function = "gpio";
0097 };
0098 };
0099
0100 &uart0 {
0101 status = "okay";
0102 };
0103
0104 /*
0105 * This PCIE controller has a USB 3.0 XHCI controller at 1,0
0106 */
0107 &pciec {
0108 status = "okay";
0109 };
0110
0111 &pcie0 {
0112 status = "okay";
0113 };
0114
0115 &sata {
0116 status = "okay";
0117 pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
0118 pinctrl-names = "default";
0119 nr-ports = <1>;
0120 };
0121
0122 &sdio {
0123 status = "okay";
0124 pinctrl-0 = <&pmx_sdio &pmx_sdio_cd &pmx_sdio_wp>;
0125 pinctrl-names = "default";
0126 cd-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
0127 wp-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
0128 };
0129
0130 &nand {
0131 /* 128 MiB of NAND flash */
0132 chip-delay = <40>;
0133 status = "okay";
0134 partitions {
0135 compatible = "fixed-partitions";
0136 #address-cells = <1>;
0137 #size-cells = <1>;
0138
0139 partition@0 {
0140 label = "u-boot";
0141 reg = <0x00000000 0x200000>;
0142 read-only;
0143 };
0144
0145 partition@200000 {
0146 label = "uImage";
0147 reg = <0x00200000 0x300000>;
0148 };
0149
0150 partition@500000 {
0151 label = "uImage2";
0152 reg = <0x00500000 0x300000>;
0153 };
0154
0155 partition@800000 {
0156 label = "failsafe";
0157 reg = <0x00800000 0x800000>;
0158 };
0159
0160 partition@1000000 {
0161 label = "root";
0162 reg = <0x01000000 0x7000000>;
0163 };
0164 };
0165 };
0166
0167 &mdio {
0168 status = "okay";
0169
0170 ethphy0: ethernet-phy@0 {
0171 reg = <0>;
0172 };
0173 };
0174
0175 ð0 {
0176 status = "okay";
0177 ethernet0-port@0 {
0178 phy-handle = <ðphy0>;
0179 };
0180 };