1*72f4013eSChris Packham// SPDX-License-Identifier: GPL-2.0
2*72f4013eSChris Packham/*
3*72f4013eSChris Packham * kirkwood-pogo_e02.dts - Device tree file for Pogoplug E02
4*72f4013eSChris Packham *
5*72f4013eSChris Packham * Copyright (C) 2015 Christoph Junghans <ottxor@gentoo.org>
6*72f4013eSChris Packham *
7*72f4013eSChris Packham * based on information of dts files from
8*72f4013eSChris Packham *  Arch Linux ARM by Oleg Rakhmanov <moonman.ca@gmail.com>
9*72f4013eSChris Packham *  OpenWrt by Felix Kaechele <heffer@fedoraproject.org>
10*72f4013eSChris Packham *
11*72f4013eSChris Packham */
12*72f4013eSChris Packham
13*72f4013eSChris Packham/dts-v1/;
14*72f4013eSChris Packham
15*72f4013eSChris Packham#include "kirkwood.dtsi"
16*72f4013eSChris Packham#include "kirkwood-6281.dtsi"
17*72f4013eSChris Packham
18*72f4013eSChris Packham/ {
19*72f4013eSChris Packham	model = "Cloud Engines Pogoplug E02";
20*72f4013eSChris Packham	compatible = "cloudengines,pogoe02", "marvell,kirkwood-88f6281",
21*72f4013eSChris Packham		     "marvell,kirkwood";
22*72f4013eSChris Packham
23*72f4013eSChris Packham	memory {
24*72f4013eSChris Packham		device_type = "memory";
25*72f4013eSChris Packham		reg = <0x00000000 0x10000000>;
26*72f4013eSChris Packham	};
27*72f4013eSChris Packham
28*72f4013eSChris Packham	chosen {
29*72f4013eSChris Packham		bootargs = "console=ttyS0,115200n8";
30*72f4013eSChris Packham		stdout-path = &uart0;
31*72f4013eSChris Packham	};
32*72f4013eSChris Packham
33*72f4013eSChris Packham	gpio-leds {
34*72f4013eSChris Packham		compatible = "gpio-leds";
35*72f4013eSChris Packham
36*72f4013eSChris Packham		health {
37*72f4013eSChris Packham			label = "pogo_e02:green:health";
38*72f4013eSChris Packham			gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
39*72f4013eSChris Packham			default-state = "keep";
40*72f4013eSChris Packham		};
41*72f4013eSChris Packham		fault {
42*72f4013eSChris Packham			label = "pogo_e02:orange:fault";
43*72f4013eSChris Packham			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
44*72f4013eSChris Packham		};
45*72f4013eSChris Packham	};
46*72f4013eSChris Packham
47*72f4013eSChris Packham	regulators {
48*72f4013eSChris Packham		compatible = "simple-bus";
49*72f4013eSChris Packham		#address-cells = <1>;
50*72f4013eSChris Packham		#size-cells = <0>;
51*72f4013eSChris Packham		pinctrl-0 = <&pmx_usb_power_enable>;
52*72f4013eSChris Packham		pinctrl-names = "default";
53*72f4013eSChris Packham
54*72f4013eSChris Packham		usb_power: regulator@1 {
55*72f4013eSChris Packham			compatible = "regulator-fixed";
56*72f4013eSChris Packham			reg = <1>;
57*72f4013eSChris Packham			regulator-name = "USB Power";
58*72f4013eSChris Packham			regulator-min-microvolt = <5000000>;
59*72f4013eSChris Packham			regulator-max-microvolt = <5000000>;
60*72f4013eSChris Packham			enable-active-high;
61*72f4013eSChris Packham			regulator-always-on;
62*72f4013eSChris Packham			regulator-boot-on;
63*72f4013eSChris Packham			gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
64*72f4013eSChris Packham		};
65*72f4013eSChris Packham	};
66*72f4013eSChris Packham};
67*72f4013eSChris Packham
68*72f4013eSChris Packham&pinctrl {
69*72f4013eSChris Packham	pinctrl-0 = < &pmx_usb_power_enable &pmx_led_orange
70*72f4013eSChris Packham		      &pmx_led_green >;
71*72f4013eSChris Packham	pinctrl-names = "default";
72*72f4013eSChris Packham
73*72f4013eSChris Packham	pmx_usb_power_enable: pmx-usb-power-enable {
74*72f4013eSChris Packham		marvell,pins = "mpp29";
75*72f4013eSChris Packham		marvell,function = "gpio";
76*72f4013eSChris Packham	};
77*72f4013eSChris Packham
78*72f4013eSChris Packham	pmx_led_green: pmx-led-green {
79*72f4013eSChris Packham		marvell,pins = "mpp48";
80*72f4013eSChris Packham		marvell,function = "gpio";
81*72f4013eSChris Packham	};
82*72f4013eSChris Packham
83*72f4013eSChris Packham	pmx_led_orange: pmx-led-orange {
84*72f4013eSChris Packham		marvell,pins = "mpp49";
85*72f4013eSChris Packham		marvell,function = "gpio";
86*72f4013eSChris Packham	};
87*72f4013eSChris Packham};
88*72f4013eSChris Packham
89*72f4013eSChris Packham&uart0 {
90*72f4013eSChris Packham	status = "okay";
91*72f4013eSChris Packham};
92*72f4013eSChris Packham
93*72f4013eSChris Packham&nand {
94*72f4013eSChris Packham	chip-delay = <40>;
95*72f4013eSChris Packham	status = "okay";
96*72f4013eSChris Packham
97*72f4013eSChris Packham	partition@0 {
98*72f4013eSChris Packham		label = "u-boot";
99*72f4013eSChris Packham		reg = <0x0000000 0x100000>;
100*72f4013eSChris Packham		read-only;
101*72f4013eSChris Packham	};
102*72f4013eSChris Packham
103*72f4013eSChris Packham	partition@100000 {
104*72f4013eSChris Packham		label = "uImage";
105*72f4013eSChris Packham		reg = <0x0100000 0x400000>;
106*72f4013eSChris Packham	};
107*72f4013eSChris Packham
108*72f4013eSChris Packham	partition@500000 {
109*72f4013eSChris Packham		label = "pogoplug";
110*72f4013eSChris Packham		reg = <0x0500000 0x2000000>;
111*72f4013eSChris Packham	};
112*72f4013eSChris Packham
113*72f4013eSChris Packham	partition@2500000 {
114*72f4013eSChris Packham		label = "root";
115*72f4013eSChris Packham		reg = <0x02500000 0x5b00000>;
116*72f4013eSChris Packham	};
117*72f4013eSChris Packham};
118*72f4013eSChris Packham
119*72f4013eSChris Packham&mdio {
120*72f4013eSChris Packham	status = "okay";
121*72f4013eSChris Packham
122*72f4013eSChris Packham	ethphy0: ethernet-phy@0 {
123*72f4013eSChris Packham		reg = <0>;
124*72f4013eSChris Packham	};
125*72f4013eSChris Packham};
126*72f4013eSChris Packham
127*72f4013eSChris Packham&eth0 {
128*72f4013eSChris Packham	status = "okay";
129*72f4013eSChris Packham	ethernet0-port@0 {
130*72f4013eSChris Packham		phy-handle = <&ethphy0>;
131*72f4013eSChris Packham	};
132*72f4013eSChris Packham};
133