blob: 09bf2e6d4ed06b81d7e8ebe40bb0ddf65ed44d85 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Device Tree file for SolidRun Clearfog Pro revision A1 rev 2.0 (88F6828)
4 *
5 * Copyright (C) 2015 Russell King
6 */
7
8/dts-v1/;
9#include "armada-388-clearfog.dtsi"
10
11/ {
12 model = "SolidRun Clearfog A1";
Tom Rini6bb92fc2024-05-20 09:54:58 -060013 compatible = "solidrun,clearfog-pro-a1", "solidrun,clearfog-a1",
14 "marvell,armada388", "marvell,armada385",
15 "marvell,armada380";
Tom Rini53633a82024-02-29 12:33:36 -050016
17 soc {
18 internal-regs {
19 usb3@f0000 {
20 /* CON2, nearest CPU, USB2 only. */
21 status = "okay";
22 };
23 };
24
25 pcie {
26 pcie@3,0 {
27 /* Port 2, Lane 0. CON2, nearest CPU. */
28 reset-gpios = <&expander0 2 GPIO_ACTIVE_LOW>;
29 status = "okay";
30 };
31 };
32 };
33
34 gpio-keys {
35 compatible = "gpio-keys";
36 pinctrl-0 = <&rear_button_pins>;
37 pinctrl-names = "default";
38
39 button-0 {
40 /* The rear SW3 button */
41 label = "Rear Button";
42 gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
43 linux,can-disable;
44 linux,code = <BTN_0>;
45 };
46 };
47};
48
49&eth1 {
50 /* ethernet@30000 */
51 phy-mode = "1000base-x";
52
53 fixed-link {
54 speed = <1000>;
55 full-duplex;
56 };
57};
58
59&expander0 {
60 /*
61 * PCA9655 GPIO expander:
62 * 0-CON3 CLKREQ#
63 * 1-CON3 PERST#
64 * 2-CON2 PERST#
65 * 3-CON3 W_DISABLE
66 * 4-CON2 CLKREQ#
67 * 5-USB3 overcurrent
68 * 6-USB3 power
69 * 7-CON2 W_DISABLE
70 * 8-JP4 P1
71 * 9-JP4 P4
72 * 10-JP4 P5
73 * 11-m.2 DEVSLP
74 * 12-SFP_LOS
75 * 13-SFP_TX_FAULT
76 * 14-SFP_TX_DISABLE
77 * 15-SFP_MOD_DEF0
78 */
79 pcie2-0-clkreq-hog {
80 gpio-hog;
81 gpios = <4 GPIO_ACTIVE_LOW>;
82 input;
83 line-name = "pcie2.0-clkreq";
84 };
85 pcie2-0-w-disable-hog {
86 gpio-hog;
87 gpios = <7 GPIO_ACTIVE_LOW>;
88 output-low;
89 line-name = "pcie2.0-w-disable";
90 };
91};
92
93&mdio {
94 status = "okay";
95
Tom Rini93743d22024-04-01 09:08:13 -040096 ethernet-switch@4 {
Tom Rini53633a82024-02-29 12:33:36 -050097 compatible = "marvell,mv88e6085";
Tom Rini53633a82024-02-29 12:33:36 -050098 reg = <4>;
99 pinctrl-0 = <&clearfog_dsa0_clk_pins &clearfog_dsa0_pins>;
100 pinctrl-names = "default";
101
Tom Rini93743d22024-04-01 09:08:13 -0400102 ethernet-ports {
Tom Rini53633a82024-02-29 12:33:36 -0500103 #address-cells = <1>;
104 #size-cells = <0>;
105
Tom Rini93743d22024-04-01 09:08:13 -0400106 ethernet-port@0 {
Tom Rini53633a82024-02-29 12:33:36 -0500107 reg = <0>;
108 label = "lan5";
109 };
110
Tom Rini93743d22024-04-01 09:08:13 -0400111 ethernet-port@1 {
Tom Rini53633a82024-02-29 12:33:36 -0500112 reg = <1>;
113 label = "lan4";
114 };
115
Tom Rini93743d22024-04-01 09:08:13 -0400116 ethernet-port@2 {
Tom Rini53633a82024-02-29 12:33:36 -0500117 reg = <2>;
118 label = "lan3";
119 };
120
Tom Rini93743d22024-04-01 09:08:13 -0400121 ethernet-port@3 {
Tom Rini53633a82024-02-29 12:33:36 -0500122 reg = <3>;
123 label = "lan2";
124 };
125
Tom Rini93743d22024-04-01 09:08:13 -0400126 ethernet-port@4 {
Tom Rini53633a82024-02-29 12:33:36 -0500127 reg = <4>;
128 label = "lan1";
129 };
130
Tom Rini93743d22024-04-01 09:08:13 -0400131 ethernet-port@5 {
Tom Rini53633a82024-02-29 12:33:36 -0500132 reg = <5>;
133 ethernet = <&eth1>;
134 phy-mode = "1000base-x";
135
136 fixed-link {
137 speed = <1000>;
138 full-duplex;
139 };
140 };
141
Tom Rini93743d22024-04-01 09:08:13 -0400142 ethernet-port@6 {
Tom Rini53633a82024-02-29 12:33:36 -0500143 /* 88E1512 external phy */
144 reg = <6>;
145 label = "lan6";
146 phy-mode = "rgmii-id";
147
148 fixed-link {
149 speed = <1000>;
150 full-duplex;
151 };
152 };
153 };
154 };
155};
156
157&pinctrl {
158 clearfog_dsa0_clk_pins: clearfog-dsa0-clk-pins {
159 marvell,pins = "mpp46";
160 marvell,function = "ref";
161 };
162 clearfog_dsa0_pins: clearfog-dsa0-pins {
163 marvell,pins = "mpp23", "mpp41";
164 marvell,function = "gpio";
165 };
166 clearfog_spi1_cs_pins: spi1-cs-pins {
167 marvell,pins = "mpp55";
168 marvell,function = "spi1";
169 };
170 rear_button_pins: rear-button-pins {
171 marvell,pins = "mpp34";
172 marvell,function = "gpio";
173 };
174};
175
176&spi1 {
177 /*
178 * Add SPI CS pins for clearfog:
179 * CS0: W25Q32
180 * CS1:
181 * CS2: mikrobus
182 */
183 pinctrl-0 = <&spi1_pins &clearfog_spi1_cs_pins &mikro_spi_pins>;
184};