blob: 0efcc166dabf6bb00f34ca25f12ea818a55e34bc [file] [log] [blame]
Gregory CLEMENTca368552018-03-15 12:03:52 +01001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Thomas Petazzoni19b85c02012-10-23 08:17:20 +02002/*
3 * Device Tree file for OpenBlocks AX3-4 board
4 *
5 * Copyright (C) 2012 Marvell
6 *
7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni19b85c02012-10-23 08:17:20 +02008 */
9
10/dts-v1/;
Thomas Petazzoni29e74f82014-02-11 18:07:12 +010011#include <dt-bindings/gpio/gpio.h>
Thomas Petazzoni5c0169d2014-02-11 18:07:13 +010012#include <dt-bindings/input/input.h>
Ezequiel Garcia38149882013-07-26 10:17:56 -030013#include "armada-xp-mv78260.dtsi"
Thomas Petazzoni19b85c02012-10-23 08:17:20 +020014
15/ {
16 model = "PlatHome OpenBlocks AX3-4 board";
17 compatible = "plathome,openblocks-ax3-4", "marvell,armadaxp-mv78260", "marvell,armadaxp", "marvell,armada-370-xp";
18
19 chosen {
Thomas Petazzoni95522032015-03-03 15:41:02 +010020 stdout-path = "serial0:115200n8";
Thomas Petazzoni19b85c02012-10-23 08:17:20 +020021 };
22
Gregory CLEMENT6f477f42016-11-06 09:29:35 +010023 memory@0 {
Thomas Petazzoni19b85c02012-10-23 08:17:20 +020024 device_type = "memory";
Jason Coopere47043a2014-06-04 13:41:20 +000025 reg = <0 0x00000000 0 0x40000000>; /* 1 GB soldered on */
Thomas Petazzoni19b85c02012-10-23 08:17:20 +020026 };
27
28 soc {
Ezequiel Garcia0cd37542013-07-26 10:17:58 -030029 ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
Ezequiel Garciade1af8d2013-07-26 10:17:59 -030030 MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
Thomas Petazzonid7d5a432016-03-08 16:59:57 +010031 MBUS_ID(0x01, 0x2f) 0 0 0xe8000000 0x8000000
32 MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
Linus Torvalds1200b682016-03-19 10:05:34 -070033 MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000
Gregory CLEMENT293fdc22016-03-14 09:39:01 +010034 MBUS_ID(0x0c, 0x04) 0 0 0xd1200000 0x100000>;
Ezequiel Garciade1af8d2013-07-26 10:17:59 -030035
36 devbus-bootcs {
37 status = "okay";
38
39 /* Device Bus parameters are required */
40
41 /* Read parameters */
Thomas Petazzoni6e20bae2014-04-14 17:29:21 +020042 devbus,bus-width = <16>;
Ezequiel Garciade1af8d2013-07-26 10:17:59 -030043 devbus,turn-off-ps = <60000>;
44 devbus,badr-skew-ps = <0>;
45 devbus,acc-first-ps = <124000>;
46 devbus,acc-next-ps = <248000>;
47 devbus,rd-setup-ps = <0>;
48 devbus,rd-hold-ps = <0>;
49
50 /* Write parameters */
51 devbus,sync-enable = <0>;
52 devbus,wr-high-ps = <60000>;
53 devbus,wr-low-ps = <60000>;
54 devbus,ale-wr-ps = <60000>;
55
56 /* NOR 128 MiB */
57 nor@0 {
58 compatible = "cfi-flash";
59 reg = <0 0x8000000>;
60 bank-width = <2>;
61 };
62 };
Ezequiel Garcia00ed4a02013-05-13 12:22:53 -030063
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020064 internal-regs {
Gregory CLEMENT750e30d2015-04-14 11:50:13 +020065 rtc@10300 {
66 /* No crystal connected to the internal RTC */
67 status = "disabled";
68 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020069 serial@12000 {
Thomas Petazzoni95999cf2013-04-09 23:06:35 +020070 status = "okay";
71 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020072 serial@12100 {
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020073 status = "okay";
74 };
Sebastian Hesselbarth01c43422014-09-19 21:20:09 +020075
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020076 leds {
77 compatible = "gpio-leds";
78 pinctrl-names = "default";
79 pinctrl-0 = <&led_pins>;
80
81 red_led {
82 label = "red_led";
Thomas Petazzoni29e74f82014-02-11 18:07:12 +010083 gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020084 default-state = "off";
85 };
86
87 yellow_led {
88 label = "yellow_led";
Thomas Petazzoni29e74f82014-02-11 18:07:12 +010089 gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020090 default-state = "off";
91 };
92
93 green_led {
94 label = "green_led";
Thomas Petazzoni29e74f82014-02-11 18:07:12 +010095 gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
Jason Cooperdcdf14c2013-10-14 17:37:55 +000096 default-state = "keep";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020097 };
98 };
99
100 gpio_keys {
101 compatible = "gpio-keys";
102 #address-cells = <1>;
103 #size-cells = <0>;
104
Gregory CLEMENT9e622af2016-11-06 10:59:19 +0100105 init {
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200106 label = "Init Button";
Thomas Petazzoni5c0169d2014-02-11 18:07:13 +0100107 linux,code = <KEY_POWER>;
Thomas Petazzoni29e74f82014-02-11 18:07:12 +0100108 gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200109 };
110 };
111
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200112 ethernet@70000 {
113 status = "okay";
114 phy = <&phy0>;
115 phy-mode = "sgmii";
Gregory CLEMENT293fdc22016-03-14 09:39:01 +0100116 buffer-manager = <&bm>;
117 bm,pool-long = <0>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200118 };
119 ethernet@74000 {
120 status = "okay";
121 phy = <&phy1>;
122 phy-mode = "sgmii";
Gregory CLEMENT293fdc22016-03-14 09:39:01 +0100123 buffer-manager = <&bm>;
124 bm,pool-long = <1>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200125 };
126 ethernet@30000 {
127 status = "okay";
128 phy = <&phy2>;
129 phy-mode = "sgmii";
Gregory CLEMENT293fdc22016-03-14 09:39:01 +0100130 buffer-manager = <&bm>;
131 bm,pool-long = <2>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200132 };
133 ethernet@34000 {
134 status = "okay";
135 phy = <&phy3>;
136 phy-mode = "sgmii";
Gregory CLEMENT293fdc22016-03-14 09:39:01 +0100137 buffer-manager = <&bm>;
138 bm,pool-long = <3>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200139 };
140 i2c@11000 {
141 status = "okay";
142 clock-frequency = <400000>;
143 };
144 i2c@11100 {
145 status = "okay";
146 clock-frequency = <400000>;
147
148 s35390a: s35390a@30 {
149 compatible = "s35390a";
150 reg = <0x30>;
151 };
152 };
153 sata@a0000 {
154 nr-ports = <2>;
155 status = "okay";
156 };
Thomas Petazzoni80348912013-05-16 18:07:24 +0200157
158 /* Front side USB 0 */
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200159 usb@50000 {
160 status = "okay";
161 };
Thomas Petazzoni80348912013-05-16 18:07:24 +0200162
163 /* Front side USB 1 */
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200164 usb@51000 {
165 status = "okay";
166 };
Gregory CLEMENT293fdc22016-03-14 09:39:01 +0100167
168 bm@c0000 {
169 status = "okay";
170 };
171 };
172
173 bm-bppi {
174 status = "okay";
Thomas Petazzoni95999cf2013-04-09 23:06:35 +0200175 };
Thomas Petazzoni19b85c02012-10-23 08:17:20 +0200176 };
177};
Sebastian Hesselbarth01c43422014-09-19 21:20:09 +0200178
Gregory CLEMENT007d05d2016-11-05 19:03:50 +0100179&pciec {
180 status = "okay";
181 /* Internal mini-PCIe connector */
182 pcie@1,0 {
183 /* Port 0, Lane 0 */
184 status = "okay";
185 };
186};
187
Gregory CLEMENT1fc21292016-11-04 17:54:54 +0100188&mdio {
189 phy0: ethernet-phy@0 {
190 reg = <0>;
191 };
192
193 phy1: ethernet-phy@1 {
194 reg = <1>;
195 };
196
197 phy2: ethernet-phy@2 {
198 reg = <2>;
199 };
200
201 phy3: ethernet-phy@3 {
202 reg = <3>;
203 };
204};
205
Sebastian Hesselbarth01c43422014-09-19 21:20:09 +0200206&pinctrl {
207 led_pins: led-pins-0 {
208 marvell,pins = "mpp49", "mpp51", "mpp53";
209 marvell,function = "gpio";
210 };
211};