Skip to content

Commit f182d03

Browse files
Kernel changes for support of elba DSS (sonic-net#389)
This patchset adds support for AMD-Pensando DPU on MtFuji DSS. MtFuji is a DSS being developed in collaboration with AMD-Pensando and Cisco for data center applications. MtFuji mounts elba based nic which is an AMD-Pensando PCI Distributed Services Card (DSC) whose support has been added in SONiC. The changes are verified on Pensando DSS-MTFUJI card. There is one 200G uplink port and no management port. The link and traffic has been tested on the port. Signed-off-by: Shantanu Shrivastava <[email protected]> Signed-off-by: Sahil Chaudhari <[email protected]> Co-authored-by: Saikrishna Arcot <[email protected]>
1 parent b0dec2c commit f182d03

8 files changed

+637
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
From d7e9aa21a1554e5d7d02ef56d162fc238bf9ef4a Mon Sep 17 00:00:00 2001
2+
From: Shantanu Shrivastava <[email protected]>
3+
Date: Wed, 27 Mar 2024 16:03:00 +0000
4+
Subject: [PATCH] dts changes for mtfuji and lipari
5+
6+
Bringup changes for mtfuji and lipari. Both are distributed
7+
smart switches.
8+
9+
Signed-off-by: Hiren Mehta <[email protected]>
10+
Signed-off-by: Shantanu Shrivastava <[email protected]>
11+
---
12+
arch/arm64/boot/dts/pensando/Makefile | 5 +-
13+
.../dts/pensando/elba-asic-psci-lipari.dts | 26 +++++
14+
.../dts/pensando/elba-asic-psci-mtfuji.dts | 26 +++++
15+
.../boot/dts/pensando/elba-asic-psci.dts | 26 +++++
16+
.../dts/pensando/elba-flash128-parts.dtsi | 101 ++++++++++++++++++
17+
5 files changed, 182 insertions(+), 2 deletions(-)
18+
create mode 100644 arch/arm64/boot/dts/pensando/elba-asic-psci-lipari.dts
19+
create mode 100644 arch/arm64/boot/dts/pensando/elba-asic-psci-mtfuji.dts
20+
create mode 100644 arch/arm64/boot/dts/pensando/elba-asic-psci.dts
21+
create mode 100644 arch/arm64/boot/dts/pensando/elba-flash128-parts.dtsi
22+
23+
diff --git a/arch/arm64/boot/dts/pensando/Makefile b/arch/arm64/boot/dts/pensando/Makefile
24+
index 8971be416..b13afe86d 100644
25+
--- a/arch/arm64/boot/dts/pensando/Makefile
26+
+++ b/arch/arm64/boot/dts/pensando/Makefile
27+
@@ -1,6 +1,7 @@
28+
# SPDX-License-Identifier: GPL-2.0
29+
-dtb-$(CONFIG_ARCH_PENSANDO_ELBA_SOC) += \
30+
- elba-asic.dtb
31+
+dtb-$(CONFIG_ARCH_PENSANDO_ELBA_SOC) += elba-asic-psci.dtb \
32+
+ elba-asic-psci-mtfuji.dtb elba-asic-psci-lipari.dtb \
33+
+ elba-asic.dtb
34+
35+
always-y := $(dtb-y)
36+
subdir-y := $(dts-dirs)
37+
diff --git a/arch/arm64/boot/dts/pensando/elba-asic-psci-lipari.dts b/arch/arm64/boot/dts/pensando/elba-asic-psci-lipari.dts
38+
new file mode 100644
39+
index 000000000..dfa6deaa0
40+
--- /dev/null
41+
+++ b/arch/arm64/boot/dts/pensando/elba-asic-psci-lipari.dts
42+
@@ -0,0 +1,26 @@
43+
+// SPDX-License-Identifier: GPL-2.0
44+
+
45+
+/dts-v1/;
46+
+
47+
+/ {
48+
+ model = "Elba ASIC Board";
49+
+ compatible = "pensando,elba";
50+
+
51+
+ aliases {
52+
+ serial0 = &uart0;
53+
+ spi0 = &spi0;
54+
+ spi1 = &qspi;
55+
+ };
56+
+
57+
+ chosen {
58+
+ stdout-path = "serial0:115200n8";
59+
+ };
60+
+};
61+
+
62+
+#include "elba.dtsi"
63+
+#include "elba-16core.dtsi"
64+
+#include "elba-16core-psci.dtsi"
65+
+#include "elba-asic-common.dtsi"
66+
+#include "elba-flash-parts.dtsi"
67+
+#include "elba-asic-memory.dtsi"
68+
+#include "elba-mdev.dtsi"
69+
diff --git a/arch/arm64/boot/dts/pensando/elba-asic-psci-mtfuji.dts b/arch/arm64/boot/dts/pensando/elba-asic-psci-mtfuji.dts
70+
new file mode 100644
71+
index 000000000..714094b57
72+
--- /dev/null
73+
+++ b/arch/arm64/boot/dts/pensando/elba-asic-psci-mtfuji.dts
74+
@@ -0,0 +1,26 @@
75+
+// SPDX-License-Identifier: GPL-2.0
76+
+
77+
+/dts-v1/;
78+
+
79+
+/ {
80+
+ model = "Elba ASIC Board";
81+
+ compatible = "pensando,elba";
82+
+
83+
+ aliases {
84+
+ serial0 = &uart0;
85+
+ spi0 = &spi0;
86+
+ spi1 = &qspi;
87+
+ };
88+
+
89+
+ chosen {
90+
+ stdout-path = "serial0:115200n8";
91+
+ };
92+
+};
93+
+
94+
+#include "elba.dtsi"
95+
+#include "elba-16core.dtsi"
96+
+#include "elba-16core-psci.dtsi"
97+
+#include "elba-asic-common.dtsi"
98+
+#include "elba-flash128-parts.dtsi"
99+
+#include "elba-asic-memory.dtsi"
100+
+#include "elba-mdev.dtsi"
101+
diff --git a/arch/arm64/boot/dts/pensando/elba-asic-psci.dts b/arch/arm64/boot/dts/pensando/elba-asic-psci.dts
102+
new file mode 100644
103+
index 000000000..dfa6deaa0
104+
--- /dev/null
105+
+++ b/arch/arm64/boot/dts/pensando/elba-asic-psci.dts
106+
@@ -0,0 +1,26 @@
107+
+// SPDX-License-Identifier: GPL-2.0
108+
+
109+
+/dts-v1/;
110+
+
111+
+/ {
112+
+ model = "Elba ASIC Board";
113+
+ compatible = "pensando,elba";
114+
+
115+
+ aliases {
116+
+ serial0 = &uart0;
117+
+ spi0 = &spi0;
118+
+ spi1 = &qspi;
119+
+ };
120+
+
121+
+ chosen {
122+
+ stdout-path = "serial0:115200n8";
123+
+ };
124+
+};
125+
+
126+
+#include "elba.dtsi"
127+
+#include "elba-16core.dtsi"
128+
+#include "elba-16core-psci.dtsi"
129+
+#include "elba-asic-common.dtsi"
130+
+#include "elba-flash-parts.dtsi"
131+
+#include "elba-asic-memory.dtsi"
132+
+#include "elba-mdev.dtsi"
133+
diff --git a/arch/arm64/boot/dts/pensando/elba-flash128-parts.dtsi b/arch/arm64/boot/dts/pensando/elba-flash128-parts.dtsi
134+
new file mode 100644
135+
index 000000000..ddb961b79
136+
--- /dev/null
137+
+++ b/arch/arm64/boot/dts/pensando/elba-flash128-parts.dtsi
138+
@@ -0,0 +1,101 @@
139+
+// SPDX-License-Identifier: GPL-2.0
140+
+
141+
+&flash0 {
142+
+ partitions {
143+
+ compatible = "fixed-partitions";
144+
+ #address-cells = <1>;
145+
+ #size-cells = <1>;
146+
+ partition@0 {
147+
+ label = "flash";
148+
+ reg = <0x10000 0x7ff0000>;
149+
+ };
150+
+
151+
+ partition@f0000 {
152+
+ label = "golduenv";
153+
+ reg = <0xf0000 0x10000>;
154+
+ };
155+
+
156+
+ partition@100000 {
157+
+ label = "boot0";
158+
+ reg = <0x100000 0x80000>;
159+
+ };
160+
+
161+
+ partition@180000 {
162+
+ label = "golduboot";
163+
+ reg = <0x180000 0x200000>;
164+
+ };
165+
+
166+
+ partition@380000 {
167+
+ label = "brdcfg0";
168+
+ reg = <0x380000 0x10000>;
169+
+ };
170+
+
171+
+ partition@390000 {
172+
+ label = "brdcfg1";
173+
+ reg = <0x390000 0x10000>;
174+
+ };
175+
+
176+
+ partition@400000 {
177+
+ label = "goldfw";
178+
+ reg = <0x400000 0x3c00000>;
179+
+ };
180+
+
181+
+ partition@4010000 {
182+
+ label = "fwmap";
183+
+ reg = <0x4010000 0x20000>;
184+
+ };
185+
+
186+
+ partition@4030000 {
187+
+ label = "fwsel";
188+
+ reg = <0x4030000 0x20000>;
189+
+ };
190+
+
191+
+ partition@4090000 {
192+
+ label = "bootlog";
193+
+ reg = <0x4090000 0x20000>;
194+
+ };
195+
+
196+
+ partition@40b0000 {
197+
+ label = "panicbuf";
198+
+ reg = <0x40b0000 0x20000>;
199+
+ };
200+
+
201+
+ partition@40d0000 {
202+
+ label = "uservars";
203+
+ reg = <0x40d0000 0x20000>;
204+
+ };
205+
+
206+
+ partition@4200000 {
207+
+ label = "uboota";
208+
+ reg = <0x4200000 0x400000>;
209+
+ };
210+
+
211+
+ partition@4600000 {
212+
+ label = "ubootb";
213+
+ reg = <0x4600000 0x400000>;
214+
+ };
215+
+
216+
+ partition@4a00000 {
217+
+ label = "mainfwa";
218+
+ reg = <0x4a00000 0x1000000>;
219+
+ };
220+
+
221+
+ partition@5a00000 {
222+
+ label = "mainfwb";
223+
+ reg = <0x5a00000 0x1000000>;
224+
+ };
225+
+
226+
+ partition@7fe0000 {
227+
+ label = "ubootenv";
228+
+ reg = <0x7fe0000 0x10000>;
229+
+ };
230+
+ };
231+
+};
232+
+
233+
+&soc {
234+
+ panicdump@740b0000 {
235+
+ compatible = "pensando,capri-crash";
236+
+ pensando,crash-ctrl = <&qspi>;
237+
+ reg = <0x0 0x740b0000 0x0 0x20000>;
238+
+ };
239+
+};
240+
--
241+
2.25.1
242+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
From b0a9046ed50928c3dd41a8b9b6f998d5e74c32ac Mon Sep 17 00:00:00 2001
2+
From: Shantanu Shrivastava <[email protected]>
3+
Date: Mon, 5 Feb 2024 15:25:58 +0000
4+
Subject: [PATCH] Add support for new qspi macronix flash - mx66u1g45g
5+
6+
Changes for supporting new qspi macronix flash mx66u1g45g
7+
8+
Signed-off-by: Shantanu Shrivastava <[email protected]>
9+
---
10+
drivers/mtd/spi-nor/macronix.c | 3 +++
11+
1 file changed, 3 insertions(+)
12+
13+
diff --git a/drivers/mtd/spi-nor/macronix.c b/drivers/mtd/spi-nor/macronix.c
14+
index d81a4cb28..9b7f0d86c 100644
15+
--- a/drivers/mtd/spi-nor/macronix.c
16+
+++ b/drivers/mtd/spi-nor/macronix.c
17+
@@ -100,6 +100,9 @@ static const struct flash_info macronix_nor_parts[] = {
18+
{ "mx66u2g45g", INFO(0xc2253c, 0, 64 * 1024, 4096)
19+
NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
20+
FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
21+
+ { "mx66u1g45g", INFO(0xc2253b, 0, 64 * 1024, 2048)
22+
+ NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
23+
+ FIXUP_FLAGS(SPI_NOR_4B_OPCODES) },
24+
};
25+
26+
static void macronix_nor_default_init(struct spi_nor *nor)
27+
--
28+
2.25.1
29+

0 commit comments

Comments
 (0)