1ec7e5a56SThomas Petazzoni/*
2ec7e5a56SThomas Petazzoni * Copyright (C) 2016 Marvell Technology Group Ltd.
3ec7e5a56SThomas Petazzoni *
4ec7e5a56SThomas Petazzoni * This file is dual-licensed: you can use it either under the terms
5ec7e5a56SThomas Petazzoni * of the GPLv2 or the X11 license, at your option. Note that this dual
6ec7e5a56SThomas Petazzoni * licensing only applies to this file, and not this project as a
7ec7e5a56SThomas Petazzoni * whole.
8ec7e5a56SThomas Petazzoni *
9ec7e5a56SThomas Petazzoni *  a) This library is free software; you can redistribute it and/or
10ec7e5a56SThomas Petazzoni *     modify it under the terms of the GNU General Public License as
11ec7e5a56SThomas Petazzoni *     published by the Free Software Foundation; either version 2 of the
12ec7e5a56SThomas Petazzoni *     License, or (at your option) any later version.
13ec7e5a56SThomas Petazzoni *
14ec7e5a56SThomas Petazzoni *     This library is distributed in the hope that it will be useful,
15ec7e5a56SThomas Petazzoni *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16ec7e5a56SThomas Petazzoni *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17ec7e5a56SThomas Petazzoni *     GNU General Public License for more details.
18ec7e5a56SThomas Petazzoni *
19ec7e5a56SThomas Petazzoni * Or, alternatively,
20ec7e5a56SThomas Petazzoni *
21ec7e5a56SThomas Petazzoni *  b) Permission is hereby granted, free of charge, to any person
22ec7e5a56SThomas Petazzoni *     obtaining a copy of this software and associated documentation
23ec7e5a56SThomas Petazzoni *     files (the "Software"), to deal in the Software without
24ec7e5a56SThomas Petazzoni *     restriction, including without limitation the rights to use,
25ec7e5a56SThomas Petazzoni *     copy, modify, merge, publish, distribute, sublicense, and/or
26ec7e5a56SThomas Petazzoni *     sell copies of the Software, and to permit persons to whom the
27ec7e5a56SThomas Petazzoni *     Software is furnished to do so, subject to the following
28ec7e5a56SThomas Petazzoni *     conditions:
29ec7e5a56SThomas Petazzoni *
30ec7e5a56SThomas Petazzoni *     The above copyright notice and this permission notice shall be
31ec7e5a56SThomas Petazzoni *     included in all copies or substantial portions of the Software.
32ec7e5a56SThomas Petazzoni *
33ec7e5a56SThomas Petazzoni *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34ec7e5a56SThomas Petazzoni *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35ec7e5a56SThomas Petazzoni *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36ec7e5a56SThomas Petazzoni *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37ec7e5a56SThomas Petazzoni *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38ec7e5a56SThomas Petazzoni *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39ec7e5a56SThomas Petazzoni *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40ec7e5a56SThomas Petazzoni *     OTHER DEALINGS IN THE SOFTWARE.
41ec7e5a56SThomas Petazzoni */
42ec7e5a56SThomas Petazzoni
43ec7e5a56SThomas Petazzoni/*
44ec7e5a56SThomas Petazzoni * Device Tree file for Marvell Armada 7040 Development board platform
45ec7e5a56SThomas Petazzoni */
46ec7e5a56SThomas Petazzoni
47915c71daSHanna Hawa#include <dt-bindings/gpio/gpio.h>
48ec7e5a56SThomas Petazzoni#include "armada-7040.dtsi"
49ec7e5a56SThomas Petazzoni
50ec7e5a56SThomas Petazzoni/ {
51ec7e5a56SThomas Petazzoni	model = "Marvell Armada 7040 DB board";
52ec7e5a56SThomas Petazzoni	compatible = "marvell,armada7040-db", "marvell,armada7040",
53ec7e5a56SThomas Petazzoni		     "marvell,armada-ap806-quad", "marvell,armada-ap806";
54ec7e5a56SThomas Petazzoni
55bf151162SThomas Petazzoni	chosen {
56bf151162SThomas Petazzoni		stdout-path = "serial0:115200n8";
57bf151162SThomas Petazzoni	};
58bf151162SThomas Petazzoni
59ec7e5a56SThomas Petazzoni	memory@00000000 {
60ec7e5a56SThomas Petazzoni		device_type = "memory";
61ec7e5a56SThomas Petazzoni		reg = <0x0 0x0 0x0 0x80000000>;
62ec7e5a56SThomas Petazzoni	};
63915c71daSHanna Hawa
64915c71daSHanna Hawa	cpm_reg_usb3_0_vbus: cpm-usb3-0-vbus {
65915c71daSHanna Hawa		compatible = "regulator-fixed";
66915c71daSHanna Hawa		regulator-name = "usb3h0-vbus";
67915c71daSHanna Hawa		regulator-min-microvolt = <5000000>;
68915c71daSHanna Hawa		regulator-max-microvolt = <5000000>;
69915c71daSHanna Hawa		enable-active-high;
70915c71daSHanna Hawa		gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
71915c71daSHanna Hawa	};
72915c71daSHanna Hawa
73915c71daSHanna Hawa	cpm_reg_usb3_1_vbus: cpm-usb3-1-vbus {
74915c71daSHanna Hawa		compatible = "regulator-fixed";
75915c71daSHanna Hawa		regulator-name = "usb3h1-vbus";
76915c71daSHanna Hawa		regulator-min-microvolt = <5000000>;
77915c71daSHanna Hawa		regulator-max-microvolt = <5000000>;
78915c71daSHanna Hawa		enable-active-high;
79915c71daSHanna Hawa		gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
80915c71daSHanna Hawa	};
81915c71daSHanna Hawa
82915c71daSHanna Hawa	cpm_usb3_0_phy: cpm-usb3-0-phy {
83915c71daSHanna Hawa		compatible = "usb-nop-xceiv";
84915c71daSHanna Hawa		vcc-supply = <&cpm_reg_usb3_0_vbus>;
85915c71daSHanna Hawa	};
86915c71daSHanna Hawa
87915c71daSHanna Hawa	cpm_usb3_1_phy: cpm-usb3-1-phy {
88915c71daSHanna Hawa		compatible = "usb-nop-xceiv";
89915c71daSHanna Hawa		vcc-supply = <&cpm_reg_usb3_1_vbus>;
90915c71daSHanna Hawa	};
91037ad463SAndreas Färber};
92ec7e5a56SThomas Petazzoni
93037ad463SAndreas Färber&i2c0 {
94037ad463SAndreas Färber	status = "okay";
95037ad463SAndreas Färber	clock-frequency = <100000>;
96037ad463SAndreas Färber};
97037ad463SAndreas Färber
98037ad463SAndreas Färber&spi0 {
99ec7e5a56SThomas Petazzoni	status = "okay";
100ec7e5a56SThomas Petazzoni
101ec7e5a56SThomas Petazzoni	spi-flash@0 {
102ec7e5a56SThomas Petazzoni		#address-cells = <1>;
103ec7e5a56SThomas Petazzoni		#size-cells = <1>;
104fe85e20eSThomas Petazzoni		compatible = "jedec,spi-nor";
105fe85e20eSThomas Petazzoni		reg = <0>;
106ec7e5a56SThomas Petazzoni		spi-max-frequency = <10000000>;
107ec7e5a56SThomas Petazzoni
108fe85e20eSThomas Petazzoni		partitions {
109fe85e20eSThomas Petazzoni			compatible = "fixed-partitions";
110fe85e20eSThomas Petazzoni			#address-cells = <1>;
111fe85e20eSThomas Petazzoni			#size-cells = <1>;
112fe85e20eSThomas Petazzoni
113ec7e5a56SThomas Petazzoni			partition@0 {
114ec7e5a56SThomas Petazzoni				label = "U-Boot";
115ec7e5a56SThomas Petazzoni				reg = <0 0x200000>;
116ec7e5a56SThomas Petazzoni			};
117ec7e5a56SThomas Petazzoni			partition@400000 {
118ec7e5a56SThomas Petazzoni				label = "Filesystem";
119ec7e5a56SThomas Petazzoni				reg = <0x200000 0xce0000>;
120ec7e5a56SThomas Petazzoni			};
121ec7e5a56SThomas Petazzoni		};
122ec7e5a56SThomas Petazzoni	};
123fe85e20eSThomas Petazzoni};
124ec7e5a56SThomas Petazzoni
125037ad463SAndreas Färber&uart0 {
126ec7e5a56SThomas Petazzoni	status = "okay";
1279e83bbdbSThomas Petazzoni	pinctrl-0 = <&uart0_pins>;
1289e83bbdbSThomas Petazzoni	pinctrl-names = "default";
129ec7e5a56SThomas Petazzoni};
130fea14498SThomas Petazzoni
131fea14498SThomas Petazzoni
132fea14498SThomas Petazzoni&cpm_pcie2 {
133fea14498SThomas Petazzoni	status = "okay";
134fea14498SThomas Petazzoni};
135fea14498SThomas Petazzoni
136fea14498SThomas Petazzoni&cpm_i2c0 {
137fea14498SThomas Petazzoni	status = "okay";
138fea14498SThomas Petazzoni	clock-frequency = <100000>;
139915c71daSHanna Hawa
140915c71daSHanna Hawa	expander0: pca9555@21 {
141915c71daSHanna Hawa		compatible = "nxp,pca9555";
142915c71daSHanna Hawa		pinctrl-names = "default";
143915c71daSHanna Hawa		gpio-controller;
144915c71daSHanna Hawa		#gpio-cells = <2>;
145915c71daSHanna Hawa		reg = <0x21>;
146915c71daSHanna Hawa	};
147fea14498SThomas Petazzoni};
148fea14498SThomas Petazzoni
149fea14498SThomas Petazzoni&cpm_spi1 {
150fea14498SThomas Petazzoni	status = "okay";
151fea14498SThomas Petazzoni
152fea14498SThomas Petazzoni	spi-flash@0 {
153fea14498SThomas Petazzoni		#address-cells = <0x1>;
154fea14498SThomas Petazzoni		#size-cells = <0x1>;
155fea14498SThomas Petazzoni		compatible = "jedec,spi-nor";
156fea14498SThomas Petazzoni		reg = <0x0>;
157fea14498SThomas Petazzoni		spi-max-frequency = <20000000>;
158fea14498SThomas Petazzoni
159fea14498SThomas Petazzoni		partitions {
160fea14498SThomas Petazzoni			compatible = "fixed-partitions";
161fea14498SThomas Petazzoni			#address-cells = <1>;
162fea14498SThomas Petazzoni			#size-cells = <1>;
163fea14498SThomas Petazzoni
164fea14498SThomas Petazzoni			partition@0 {
165fea14498SThomas Petazzoni				label = "U-Boot";
166fea14498SThomas Petazzoni				reg = <0x0 0x200000>;
167fea14498SThomas Petazzoni			};
168fea14498SThomas Petazzoni
169fea14498SThomas Petazzoni			partition@400000 {
170fea14498SThomas Petazzoni				label = "Filesystem";
171fea14498SThomas Petazzoni				reg = <0x200000 0xe00000>;
172fea14498SThomas Petazzoni			};
173fea14498SThomas Petazzoni		};
174fea14498SThomas Petazzoni	};
175fea14498SThomas Petazzoni};
176fea14498SThomas Petazzoni
177fea14498SThomas Petazzoni&cpm_sata0 {
178fea14498SThomas Petazzoni	status = "okay";
179fea14498SThomas Petazzoni};
180fea14498SThomas Petazzoni
181fea14498SThomas Petazzoni&cpm_usb3_0 {
182915c71daSHanna Hawa	usb-phy = <&cpm_usb3_0_phy>;
183fea14498SThomas Petazzoni	status = "okay";
184fea14498SThomas Petazzoni};
185fea14498SThomas Petazzoni
186fea14498SThomas Petazzoni&cpm_usb3_1 {
187915c71daSHanna Hawa	usb-phy = <&cpm_usb3_1_phy>;
188fea14498SThomas Petazzoni	status = "okay";
189fea14498SThomas Petazzoni};
19060894719SThomas Petazzoni
191910b4c5cSGregory CLEMENT&ap_sdhci0 {
192910b4c5cSGregory CLEMENT	status = "okay";
193910b4c5cSGregory CLEMENT	bus-width = <4>;
194910b4c5cSGregory CLEMENT	no-1-8-v;
195910b4c5cSGregory CLEMENT	non-removable;
196910b4c5cSGregory CLEMENT};
197910b4c5cSGregory CLEMENT
198910b4c5cSGregory CLEMENT&cpm_sdhci0 {
199910b4c5cSGregory CLEMENT	status = "okay";
200910b4c5cSGregory CLEMENT	bus-width = <4>;
201910b4c5cSGregory CLEMENT	no-1-8-v;
202910b4c5cSGregory CLEMENT	non-removable;
203910b4c5cSGregory CLEMENT};
204910b4c5cSGregory CLEMENT
20560894719SThomas Petazzoni&cpm_mdio {
2063c6912cdSAntoine Tenart	status = "okay";
2073c6912cdSAntoine Tenart
20860894719SThomas Petazzoni	phy0: ethernet-phy@0 {
20960894719SThomas Petazzoni		reg = <0>;
21060894719SThomas Petazzoni	};
21160894719SThomas Petazzoni	phy1: ethernet-phy@1 {
21260894719SThomas Petazzoni		reg = <1>;
21360894719SThomas Petazzoni	};
21460894719SThomas Petazzoni};
21560894719SThomas Petazzoni
21660894719SThomas Petazzoni&cpm_ethernet {
21760894719SThomas Petazzoni	status = "okay";
21860894719SThomas Petazzoni};
21960894719SThomas Petazzoni
22060894719SThomas Petazzoni&cpm_eth1 {
22160894719SThomas Petazzoni	status = "okay";
22260894719SThomas Petazzoni	phy = <&phy0>;
22360894719SThomas Petazzoni	phy-mode = "sgmii";
22460894719SThomas Petazzoni};
22560894719SThomas Petazzoni
22660894719SThomas Petazzoni&cpm_eth2 {
22760894719SThomas Petazzoni	status = "okay";
22860894719SThomas Petazzoni	phy = <&phy1>;
22960894719SThomas Petazzoni	phy-mode = "rgmii-id";
23060894719SThomas Petazzoni};
231