1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * kirkwood-pogoplug-series-4.dts - Device tree file for PogoPlug Series 4 4*f126890aSEmmanuel Vadot * inspired by the board files made by Kevin Mihelich for ArchLinux, 5*f126890aSEmmanuel Vadot * and their DTS file. 6*f126890aSEmmanuel Vadot * 7*f126890aSEmmanuel Vadot * Copyright (C) 2015 Linus Walleij <linus.walleij@linaro.org> 8*f126890aSEmmanuel Vadot */ 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot/dts-v1/; 11*f126890aSEmmanuel Vadot 12*f126890aSEmmanuel Vadot#include "kirkwood.dtsi" 13*f126890aSEmmanuel Vadot#include "kirkwood-6192.dtsi" 14*f126890aSEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h> 15*f126890aSEmmanuel Vadot 16*f126890aSEmmanuel Vadot/ { 17*f126890aSEmmanuel Vadot model = "Cloud Engines PogoPlug Series 4"; 18*f126890aSEmmanuel Vadot compatible = "cloudengines,pogoplugv4", "marvell,kirkwood-88f6192", 19*f126890aSEmmanuel Vadot "marvell,kirkwood"; 20*f126890aSEmmanuel Vadot 21*f126890aSEmmanuel Vadot memory { 22*f126890aSEmmanuel Vadot device_type = "memory"; 23*f126890aSEmmanuel Vadot reg = <0x00000000 0x08000000>; 24*f126890aSEmmanuel Vadot }; 25*f126890aSEmmanuel Vadot 26*f126890aSEmmanuel Vadot chosen { 27*f126890aSEmmanuel Vadot stdout-path = "uart0:115200n8"; 28*f126890aSEmmanuel Vadot }; 29*f126890aSEmmanuel Vadot 30*f126890aSEmmanuel Vadot gpio_keys { 31*f126890aSEmmanuel Vadot compatible = "gpio-keys"; 32*f126890aSEmmanuel Vadot #address-cells = <1>; 33*f126890aSEmmanuel Vadot #size-cells = <0>; 34*f126890aSEmmanuel Vadot pinctrl-0 = <&pmx_button_eject>; 35*f126890aSEmmanuel Vadot pinctrl-names = "default"; 36*f126890aSEmmanuel Vadot 37*f126890aSEmmanuel Vadot eject { 38*f126890aSEmmanuel Vadot debounce-interval = <50>; 39*f126890aSEmmanuel Vadot wakeup-source; 40*f126890aSEmmanuel Vadot linux,code = <KEY_EJECTCD>; 41*f126890aSEmmanuel Vadot label = "Eject Button"; 42*f126890aSEmmanuel Vadot gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; 43*f126890aSEmmanuel Vadot }; 44*f126890aSEmmanuel Vadot }; 45*f126890aSEmmanuel Vadot 46*f126890aSEmmanuel Vadot gpio-leds { 47*f126890aSEmmanuel Vadot compatible = "gpio-leds"; 48*f126890aSEmmanuel Vadot pinctrl-0 = <&pmx_led_green &pmx_led_red>; 49*f126890aSEmmanuel Vadot pinctrl-names = "default"; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot health { 52*f126890aSEmmanuel Vadot label = "pogoplugv4:green:health"; 53*f126890aSEmmanuel Vadot gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; 54*f126890aSEmmanuel Vadot default-state = "on"; 55*f126890aSEmmanuel Vadot }; 56*f126890aSEmmanuel Vadot fault { 57*f126890aSEmmanuel Vadot label = "pogoplugv4:red:fault"; 58*f126890aSEmmanuel Vadot gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; 59*f126890aSEmmanuel Vadot }; 60*f126890aSEmmanuel Vadot }; 61*f126890aSEmmanuel Vadot}; 62*f126890aSEmmanuel Vadot 63*f126890aSEmmanuel Vadot&pinctrl { 64*f126890aSEmmanuel Vadot pmx_sata0: pmx-sata0 { 65*f126890aSEmmanuel Vadot marvell,pins = "mpp21"; 66*f126890aSEmmanuel Vadot marvell,function = "sata0"; 67*f126890aSEmmanuel Vadot }; 68*f126890aSEmmanuel Vadot 69*f126890aSEmmanuel Vadot pmx_sata1: pmx-sata1 { 70*f126890aSEmmanuel Vadot marvell,pins = "mpp20"; 71*f126890aSEmmanuel Vadot marvell,function = "sata1"; 72*f126890aSEmmanuel Vadot }; 73*f126890aSEmmanuel Vadot 74*f126890aSEmmanuel Vadot pmx_sdio_cd: pmx-sdio-cd { 75*f126890aSEmmanuel Vadot marvell,pins = "mpp27"; 76*f126890aSEmmanuel Vadot marvell,function = "gpio"; 77*f126890aSEmmanuel Vadot }; 78*f126890aSEmmanuel Vadot 79*f126890aSEmmanuel Vadot pmx_sdio_wp: pmx-sdio-wp { 80*f126890aSEmmanuel Vadot marvell,pins = "mpp28"; 81*f126890aSEmmanuel Vadot marvell,function = "gpio"; 82*f126890aSEmmanuel Vadot }; 83*f126890aSEmmanuel Vadot 84*f126890aSEmmanuel Vadot pmx_button_eject: pmx-button-eject { 85*f126890aSEmmanuel Vadot marvell,pins = "mpp29"; 86*f126890aSEmmanuel Vadot marvell,function = "gpio"; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot 89*f126890aSEmmanuel Vadot pmx_led_green: pmx-led-green { 90*f126890aSEmmanuel Vadot marvell,pins = "mpp22"; 91*f126890aSEmmanuel Vadot marvell,function = "gpio"; 92*f126890aSEmmanuel Vadot }; 93*f126890aSEmmanuel Vadot 94*f126890aSEmmanuel Vadot pmx_led_red: pmx-led-red { 95*f126890aSEmmanuel Vadot marvell,pins = "mpp24"; 96*f126890aSEmmanuel Vadot marvell,function = "gpio"; 97*f126890aSEmmanuel Vadot }; 98*f126890aSEmmanuel Vadot}; 99*f126890aSEmmanuel Vadot 100*f126890aSEmmanuel Vadot&uart0 { 101*f126890aSEmmanuel Vadot status = "okay"; 102*f126890aSEmmanuel Vadot}; 103*f126890aSEmmanuel Vadot 104*f126890aSEmmanuel Vadot/* 105*f126890aSEmmanuel Vadot * This PCIE controller has a USB 3.0 XHCI controller at 1,0 106*f126890aSEmmanuel Vadot */ 107*f126890aSEmmanuel Vadot&pciec { 108*f126890aSEmmanuel Vadot status = "okay"; 109*f126890aSEmmanuel Vadot}; 110*f126890aSEmmanuel Vadot 111*f126890aSEmmanuel Vadot&pcie0 { 112*f126890aSEmmanuel Vadot status = "okay"; 113*f126890aSEmmanuel Vadot}; 114*f126890aSEmmanuel Vadot 115*f126890aSEmmanuel Vadot&sata { 116*f126890aSEmmanuel Vadot status = "okay"; 117*f126890aSEmmanuel Vadot pinctrl-0 = <&pmx_sata0 &pmx_sata1>; 118*f126890aSEmmanuel Vadot pinctrl-names = "default"; 119*f126890aSEmmanuel Vadot nr-ports = <1>; 120*f126890aSEmmanuel Vadot}; 121*f126890aSEmmanuel Vadot 122*f126890aSEmmanuel Vadot&sdio { 123*f126890aSEmmanuel Vadot status = "okay"; 124*f126890aSEmmanuel Vadot pinctrl-0 = <&pmx_sdio &pmx_sdio_cd &pmx_sdio_wp>; 125*f126890aSEmmanuel Vadot pinctrl-names = "default"; 126*f126890aSEmmanuel Vadot cd-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>; 127*f126890aSEmmanuel Vadot wp-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; 128*f126890aSEmmanuel Vadot}; 129*f126890aSEmmanuel Vadot 130*f126890aSEmmanuel Vadot&nand { 131*f126890aSEmmanuel Vadot /* 128 MiB of NAND flash */ 132*f126890aSEmmanuel Vadot chip-delay = <40>; 133*f126890aSEmmanuel Vadot status = "okay"; 134*f126890aSEmmanuel Vadot partitions { 135*f126890aSEmmanuel Vadot compatible = "fixed-partitions"; 136*f126890aSEmmanuel Vadot #address-cells = <1>; 137*f126890aSEmmanuel Vadot #size-cells = <1>; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot partition@0 { 140*f126890aSEmmanuel Vadot label = "u-boot"; 141*f126890aSEmmanuel Vadot reg = <0x00000000 0x200000>; 142*f126890aSEmmanuel Vadot read-only; 143*f126890aSEmmanuel Vadot }; 144*f126890aSEmmanuel Vadot 145*f126890aSEmmanuel Vadot partition@200000 { 146*f126890aSEmmanuel Vadot label = "uImage"; 147*f126890aSEmmanuel Vadot reg = <0x00200000 0x300000>; 148*f126890aSEmmanuel Vadot }; 149*f126890aSEmmanuel Vadot 150*f126890aSEmmanuel Vadot partition@500000 { 151*f126890aSEmmanuel Vadot label = "uImage2"; 152*f126890aSEmmanuel Vadot reg = <0x00500000 0x300000>; 153*f126890aSEmmanuel Vadot }; 154*f126890aSEmmanuel Vadot 155*f126890aSEmmanuel Vadot partition@800000 { 156*f126890aSEmmanuel Vadot label = "failsafe"; 157*f126890aSEmmanuel Vadot reg = <0x00800000 0x800000>; 158*f126890aSEmmanuel Vadot }; 159*f126890aSEmmanuel Vadot 160*f126890aSEmmanuel Vadot partition@1000000 { 161*f126890aSEmmanuel Vadot label = "root"; 162*f126890aSEmmanuel Vadot reg = <0x01000000 0x7000000>; 163*f126890aSEmmanuel Vadot }; 164*f126890aSEmmanuel Vadot }; 165*f126890aSEmmanuel Vadot}; 166*f126890aSEmmanuel Vadot 167*f126890aSEmmanuel Vadot&mdio { 168*f126890aSEmmanuel Vadot status = "okay"; 169*f126890aSEmmanuel Vadot 170*f126890aSEmmanuel Vadot ethphy0: ethernet-phy@0 { 171*f126890aSEmmanuel Vadot reg = <0>; 172*f126890aSEmmanuel Vadot }; 173*f126890aSEmmanuel Vadot}; 174*f126890aSEmmanuel Vadot 175*f126890aSEmmanuel Vadotð0 { 176*f126890aSEmmanuel Vadot status = "okay"; 177*f126890aSEmmanuel Vadot ethernet0-port@0 { 178*f126890aSEmmanuel Vadot phy-handle = <ðphy0>; 179*f126890aSEmmanuel Vadot }; 180*f126890aSEmmanuel Vadot}; 181