Skip to content

Commit 46a51db

Browse files
committed
Merge tag 'mvebu-dt64-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt
mvebu dt64 for 6.8 (part 1) Add devices tree for CN9130 and CN9131 COM Express Boards Fix device tree for Turris Mox and for switch nodes * tag 'mvebu-dt64-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu: arm64: dts: cn913x: add device trees for COM Express boards dt-bindings: arm64: add Marvell COM Express boards MAINTAINERS: add ac5 to list of maintained Marvell dts files arm64: dts: armada-3720-turris-mox: set irq type for RTC ARM64: dts: Add special compatibles for the Turris Mox ARM64: dts: marvell: Fix some common switch mistakes Link: https://lore.kernel.org/r/87le9obypx.fsf@BL-laptop Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 37782cc + c11e773 commit 46a51db

14 files changed

Lines changed: 428 additions & 121 deletions

Documentation/devicetree/bindings/arm/marvell/armada-7k-8k.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,26 @@ properties:
6060
- const: marvell,armada-ap807-quad
6161
- const: marvell,armada-ap807
6262

63+
- description:
64+
Alleycat5X (98DX35xx) Reference Design as COM Express Carrier plus
65+
Armada CN9130 COM Express CPU module
66+
items:
67+
- const: marvell,cn9130-ac5x-carrier
68+
- const: marvell,rd-ac5x-carrier
69+
- const: marvell,cn9130-cpu-module
70+
- const: marvell,cn9130
71+
- const: marvell,armada-ap807-quad
72+
- const: marvell,armada-ap807
73+
74+
- description:
75+
Alleycat5X (98DX35xx) Reference Design as COM Express Carrier plus
76+
Armada CN9131 COM Express CPU module
77+
items:
78+
- const: marvell,cn9131-ac5x-carrier
79+
- const: marvell,rd-ac5x-carrier
80+
- const: marvell,cn9131-cpu-module
81+
- const: marvell,cn9131
82+
- const: marvell,armada-ap807-quad
83+
- const: marvell,armada-ap807
84+
6385
additionalProperties: true

MAINTAINERS

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2332,8 +2332,7 @@ F: arch/arm/boot/dts/marvell/armada*
23322332
F: arch/arm/boot/dts/marvell/kirkwood*
23332333
F: arch/arm/configs/mvebu_*_defconfig
23342334
F: arch/arm/mach-mvebu/
2335-
F: arch/arm64/boot/dts/marvell/armada*
2336-
F: arch/arm64/boot/dts/marvell/cn913*
2335+
F: arch/arm64/boot/dts/marvell/
23372336
F: drivers/clk/mvebu/
23382337
F: drivers/cpufreq/armada-37xx-cpufreq.c
23392338
F: drivers/cpufreq/armada-8k-cpufreq.c

arch/arm64/boot/dts/marvell/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,5 @@ dtb-$(CONFIG_ARCH_MVEBU) += cn9132-db.dtb
2626
dtb-$(CONFIG_ARCH_MVEBU) += cn9132-db-B.dtb
2727
dtb-$(CONFIG_ARCH_MVEBU) += cn9130-crb-A.dtb
2828
dtb-$(CONFIG_ARCH_MVEBU) += cn9130-crb-B.dtb
29+
dtb-$(CONFIG_ARCH_MVEBU) += ac5x-rd-carrier-cn9131.dtb
2930
dtb-$(CONFIG_ARCH_MVEBU) += ac5-98dx35xx-rd.dtb
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (C) 2023 Marvell International Ltd.
4+
*
5+
* Device tree for the AC5X RD Type 7 Com Express carrier board,
6+
* Utilizing the CN913x COM Express CPU module board.
7+
* This specific carrier board in this mode of operation (external)
8+
* only maintains a PCIe link with the CPU module,
9+
* which does not require any special DTS definitions.
10+
*
11+
* AC5X RD works here in external mode (switch selectable at the back of the
12+
* board), and connect via an external cable a kit
13+
* which would allow it to use an external CN9131 CPU COM Express module,
14+
* mounted on top of an interposer kit.
15+
*
16+
* So in this case, once the switch is set to external mode as explained above,
17+
* the AC5X RD becomes part of the carrier solution.
18+
*
19+
* When the board boots in the external CPU mode, the internal CPU is disabled,
20+
* and only the switch portion of the SOC acts as a PCIe end-point, Hence there
21+
* is no need to describe this internal (disabled CPU) in the device tree.
22+
*
23+
* There is no CPU booting in this mode on the carrier, only on the
24+
* CN9131 COM Express CPU module.
25+
* What runs the Linux is the CN9131 on the COM Express CPU module,
26+
* And it accesses the switch end-point on the AC5X RD portion of the carrier
27+
* via PCIe.
28+
*/
29+
30+
#include "cn9131-db-comexpress.dtsi"
31+
#include "ac5x-rd-carrier.dtsi"
32+
33+
/ {
34+
model = "Marvell Armada AC5X RD COM EXPRESS type 7 carrier board with CN9131 CPU module";
35+
compatible = "marvell,cn9131-ac5x-carrier", "marvell,rd-ac5x-carrier",
36+
"marvell,cn9131-cpu-module", "marvell,cn9131",
37+
"marvell,armada-ap807-quad", "marvell,armada-ap807";
38+
39+
memory@0 {
40+
device_type = "memory";
41+
reg = <0x0 0x0 0x2 0x00000000>;
42+
};
43+
44+
};
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (C) 2023 Marvell International Ltd.
4+
*
5+
* Device tree for the AC5X RD Type 7 Com Express carrier board,
6+
* This specific board in external mode (see below) only maintains
7+
* a PCIe link with the COM Express CPU module, which does not
8+
* require any special DTS definitions.
9+
*
10+
* AC5X RD can either work as you would expect, as a complete standalone
11+
* box using the internal CPU, or you can move the switch on the back of
12+
* the box to "external" mode, and connect via an external cable a kit
13+
* which would allow it to use an external CPU COM Express module,
14+
* mounted on top of an interposer kit.
15+
*
16+
* So in this case, once the switch is set to external mode as explained above,
17+
* the AC5X RD becomes part of the carrier solution.
18+
* This is a development/reference solution, not a full commercial solution,
19+
* hence it was designed with the flexibility to be configured in different
20+
* modes of operation.
21+
*
22+
* When the board boots in the external CPU mode, the internal CPU is disabled,
23+
* and only the switch portion of the SOC acts as a PCIe end-point, Hence there
24+
* is no need to describe this internal (disabled CPU) in the device tree.
25+
*
26+
* There is no CPU booting in this mode on the carrier,
27+
* only on the COM Express CPU module.
28+
*/
29+
30+
/ {
31+
model = "Marvell Armada AC5X RD COM EXPRESS type 7 carrier board";
32+
compatible = "marvell,rd-ac5x-carrier";
33+
34+
};

arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,32 +126,32 @@
126126

127127
reset-gpios = <&gpiosb 23 GPIO_ACTIVE_LOW>;
128128

129-
ports {
130-
switch0port1: port@1 {
129+
ethernet-ports {
130+
switch0port1: ethernet-port@1 {
131131
reg = <1>;
132132
label = "lan0";
133133
phy-handle = <&switch0phy0>;
134134
};
135135

136-
switch0port2: port@2 {
136+
switch0port2: ethernet-port@2 {
137137
reg = <2>;
138138
label = "lan1";
139139
phy-handle = <&switch0phy1>;
140140
};
141141

142-
switch0port3: port@3 {
142+
switch0port3: ethernet-port@3 {
143143
reg = <3>;
144144
label = "lan2";
145145
phy-handle = <&switch0phy2>;
146146
};
147147

148-
switch0port4: port@4 {
148+
switch0port4: ethernet-port@4 {
149149
reg = <4>;
150150
label = "lan3";
151151
phy-handle = <&switch0phy3>;
152152
};
153153

154-
switch0port5: port@5 {
154+
switch0port5: ethernet-port@5 {
155155
reg = <5>;
156156
label = "wan";
157157
phy-handle = <&extphy>;
@@ -160,7 +160,7 @@
160160
};
161161

162162
mdio {
163-
switch0phy3: switch0phy3@14 {
163+
switch0phy3: ethernet-phy@14 {
164164
reg = <0x14>;
165165
};
166166
};

arch/arm64/boot/dts/marvell/armada-3720-espressobin.dtsi

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -145,19 +145,17 @@
145145
};
146146

147147
&mdio {
148-
switch0: switch0@1 {
148+
switch0: ethernet-switch@1 {
149149
compatible = "marvell,mv88e6085";
150-
#address-cells = <1>;
151-
#size-cells = <0>;
152150
reg = <1>;
153151

154152
dsa,member = <0 0>;
155153

156-
ports {
154+
ethernet-ports {
157155
#address-cells = <1>;
158156
#size-cells = <0>;
159157

160-
switch0port0: port@0 {
158+
switch0port0: ethernet-port@0 {
161159
reg = <0>;
162160
label = "cpu";
163161
ethernet = <&eth0>;
@@ -168,19 +166,19 @@
168166
};
169167
};
170168

171-
switch0port1: port@1 {
169+
switch0port1: ethernet-port@1 {
172170
reg = <1>;
173171
label = "wan";
174172
phy-handle = <&switch0phy0>;
175173
};
176174

177-
switch0port2: port@2 {
175+
switch0port2: ethernet-port@2 {
178176
reg = <2>;
179177
label = "lan0";
180178
phy-handle = <&switch0phy1>;
181179
};
182180

183-
switch0port3: port@3 {
181+
switch0port3: ethernet-port@3 {
184182
reg = <3>;
185183
label = "lan1";
186184
phy-handle = <&switch0phy2>;
@@ -192,13 +190,13 @@
192190
#address-cells = <1>;
193191
#size-cells = <0>;
194192

195-
switch0phy0: switch0phy0@11 {
193+
switch0phy0: ethernet-phy@11 {
196194
reg = <0x11>;
197195
};
198-
switch0phy1: switch0phy1@12 {
196+
switch0phy1: ethernet-phy@12 {
199197
reg = <0x12>;
200198
};
201-
switch0phy2: switch0phy2@13 {
199+
switch0phy2: ethernet-phy@13 {
202200
reg = <0x13>;
203201
};
204202
};

arch/arm64/boot/dts/marvell/armada-3720-gl-mv1000.dts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -152,31 +152,29 @@
152152
};
153153

154154
&mdio {
155-
switch0: switch0@1 {
155+
switch0: ethernet-switch@1 {
156156
compatible = "marvell,mv88e6085";
157-
#address-cells = <1>;
158-
#size-cells = <0>;
159157
reg = <1>;
160158

161159
dsa,member = <0 0>;
162160

163-
ports: ports {
161+
ports: ethernet-ports {
164162
#address-cells = <1>;
165163
#size-cells = <0>;
166164

167-
port@0 {
165+
ethernet-port@0 {
168166
reg = <0>;
169167
label = "cpu";
170168
ethernet = <&eth0>;
171169
};
172170

173-
port@1 {
171+
ethernet-port@1 {
174172
reg = <1>;
175173
label = "wan";
176174
phy-handle = <&switch0phy0>;
177175
};
178176

179-
port@2 {
177+
ethernet-port@2 {
180178
reg = <2>;
181179
label = "lan0";
182180
phy-handle = <&switch0phy1>;
@@ -185,7 +183,7 @@
185183
nvmem-cell-names = "mac-address";
186184
};
187185

188-
port@3 {
186+
ethernet-port@3 {
189187
reg = <3>;
190188
label = "lan1";
191189
phy-handle = <&switch0phy2>;
@@ -199,13 +197,13 @@
199197
#address-cells = <1>;
200198
#size-cells = <0>;
201199

202-
switch0phy0: switch0phy0@11 {
200+
switch0phy0: ethernet-phy@11 {
203201
reg = <0x11>;
204202
};
205-
switch0phy1: switch0phy1@12 {
203+
switch0phy1: ethernet-phy@12 {
206204
reg = <0x12>;
207205
};
208-
switch0phy2: switch0phy2@13 {
206+
switch0phy2: ethernet-phy@13 {
209207
reg = <0x13>;
210208
};
211209
};

0 commit comments

Comments
 (0)