1 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
3 * Copyright (C) 2019 Marvell International Ltd.
5 * Device tree for the CN9131-DB board.
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/input/input.h>
14 model = "iEi Puzzle-M901";
15 compatible = "iei,puzzle-m901",
16 "marvell,armada-ap807-quad", "marvell,armada-ap807";
19 stdout-path = "serial0:115200n8";
25 ethernet0 = &cp0_eth0;
26 ethernet1 = &cp0_eth1;
27 ethernet2 = &cp0_eth2;
28 ethernet3 = &cp1_eth0;
29 ethernet4 = &cp1_eth1;
30 ethernet5 = &cp1_eth2;
35 led-boot = &led_power;
36 led-failsafe = &led_info;
37 led-running = &led_power;
38 led-upgrade = &led_info;
42 device_type = "memory";
43 reg = <0x0 0x0 0x0 0x80000000>;
47 compatible = "gpio-keys";
51 linux,code = <KEY_RESTART>;
52 gpios = <&cp0_gpio2 4 GPIO_ACTIVE_LOW>;
65 compatible = "iei,wt61p803-puzzle";
68 current-speed = <115200>;
73 compatible = "iei,wt61p803-puzzle-leds";
80 label = "white:network";
86 label = "green:cloud";
92 label = "orange:info";
98 label = "yellow:power";
100 default-state = "on";
105 compatible = "iei,wt61p803-puzzle-hwmon";
106 #address-cells = <1>;
109 chassis_fan_group0: fan-group@0 {
110 #cooling-cells = <2>;
112 cooling-levels = <64 102 170 230 250>;
120 cpu_active: cpu-active {
121 temperature = <44000>;
128 trip = <&cpu_active>;
129 cooling-device = <&chassis_fan_group0 64 THERMAL_NO_LIMIT>;
134 /* on-board eMMC - U9 */
136 pinctrl-names = "default";
149 cp0_nbaset_phy0: ethernet-phy@0 {
150 compatible = "ethernet-phy-ieee802.3-c45";
153 cp0_nbaset_phy1: ethernet-phy@1 {
154 compatible = "ethernet-phy-ieee802.3-c45";
157 cp0_nbaset_phy2: ethernet-phy@2 {
158 compatible = "ethernet-phy-ieee802.3-c45";
167 /* SLM-1521-V2, CON9 */
170 phy-mode = "2500base-x";
171 phys = <&cp0_comphy2 0>;
172 phy = <&cp0_nbaset_phy0>;
177 phy-mode = "2500base-x";
178 phys = <&cp0_comphy4 1>;
179 phy = <&cp0_nbaset_phy1>;
184 phy-mode = "2500base-x";
185 phys = <&cp0_comphy5 2>;
186 phy = <&cp0_nbaset_phy2>;
198 pinctrl-names = "default";
199 pinctrl-0 = <&cp0_i2c0_pins>;
201 clock-frequency = <100000>;
203 compatible = "epson,rx8130";
209 /* SLM-1521-V2, CON6 */
214 phys = <&cp0_comphy0 0>, <&cp0_comphy1 0>;
219 pinctrl-names = "default";
220 pinctrl-0 = <&cp0_spi0_pins>;
221 reg = <0x700680 0x50>, /* control */
222 <0x2000000 0x1000000>; /* CS0 */
225 #address-cells = <0x1>;
227 compatible = "jedec,spi-nor";
229 spi-max-frequency = <40000000>;
231 compatible = "fixed-partitions";
232 #address-cells = <1>;
236 reg = <0x0 0x1f0000>;
239 label = "U-Boot ENV Factory";
240 reg = <0x1f0000 0x10000>;
244 reg = <0x200000 0x1f0000>;
247 label = "U-Boot ENV";
248 reg = <0x3f0000 0x10000>;
255 cp0_pinctrl: pinctrl {
256 compatible = "marvell,cp115-standalone-pinctrl";
257 cp0_i2c0_pins: cp0-i2c-pins-0 {
258 marvell,pins = "mpp37", "mpp38";
259 marvell,function = "i2c0";
261 cp0_i2c1_pins: cp0-i2c-pins-1 {
262 marvell,pins = "mpp35", "mpp36";
263 marvell,function = "i2c1";
265 cp0_ge1_rgmii_pins: cp0-ge-rgmii-pins-0 {
266 marvell,pins = "mpp0", "mpp1", "mpp2",
267 "mpp3", "mpp4", "mpp5",
268 "mpp6", "mpp7", "mpp8",
269 "mpp9", "mpp10", "mpp11";
270 marvell,function = "ge0";
272 cp0_ge2_rgmii_pins: cp0-ge-rgmii-pins-1 {
273 marvell,pins = "mpp44", "mpp45", "mpp46",
274 "mpp47", "mpp48", "mpp49",
275 "mpp50", "mpp51", "mpp52",
276 "mpp53", "mpp54", "mpp55";
277 marvell,function = "ge1";
279 cp0_spi0_pins: cp0-spi-pins-0 {
280 marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
281 marvell,function = "spi1";
287 * Instantiate the first connected CP115
290 #define CP11X_NAME cp1
291 #define CP11X_BASE f6000000
292 #define CP11X_PCIEx_MEM_BASE(iface) (0xe2000000 + (iface * 0x1000000))
293 #define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000
294 #define CP11X_PCIE0_BASE f6600000
295 #define CP11X_PCIE1_BASE f6620000
296 #define CP11X_PCIE2_BASE f6640000
298 #include "armada-cp115.dtsi"
302 #undef CP11X_PCIEx_MEM_BASE
303 #undef CP11X_PCIEx_MEM_SIZE
304 #undef CP11X_PCIE0_BASE
305 #undef CP11X_PCIE1_BASE
306 #undef CP11X_PCIE2_BASE
314 cp1_nbaset_phy0: ethernet-phy@3 {
315 compatible = "ethernet-phy-ieee802.3-c45";
318 cp1_nbaset_phy1: ethernet-phy@4 {
319 compatible = "ethernet-phy-ieee802.3-c45";
322 cp1_nbaset_phy2: ethernet-phy@5 {
323 compatible = "ethernet-phy-ieee802.3-c45";
335 phy-mode = "2500base-x";
336 phys = <&cp1_comphy2 0>;
337 phy = <&cp1_nbaset_phy0>;
342 phy-mode = "2500base-x";
343 phys = <&cp1_comphy4 1>;
344 phy = <&cp1_nbaset_phy1>;
349 phy-mode = "2500base-x";
350 phys = <&cp1_comphy5 2>;
351 phy = <&cp1_nbaset_phy2>;
358 phys = <&cp1_comphy0 1>;
372 pinctrl-names = "default";
373 pinctrl-0 = <&cp1_i2c0_pins>;
374 clock-frequency = <100000>;
378 cp1_pinctrl: pinctrl {
379 compatible = "marvell,cp115-standalone-pinctrl";
380 cp1_i2c0_pins: cp1-i2c-pins-0 {
381 marvell,pins = "mpp37", "mpp38";
382 marvell,function = "i2c0";
384 cp1_spi0_pins: cp1-spi-pins-0 {
385 marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
386 marvell,function = "spi1";
388 cp1_xhci0_vbus_pins: cp1-xhci0-vbus-pins {
389 marvell,pins = "mpp3";
390 marvell,function = "gpio";
392 cp1_sfp_pins: sfp-pins {
393 marvell,pins = "mpp8", "mpp9", "mpp10", "mpp11";
394 marvell,function = "gpio";
401 phys = <&cp1_comphy3 1>;