* [PATCH 0/4] Add AMD Pensando Elba Device Tree
@ 2023-09-25 19:56 Brad Larson
2023-09-25 19:56 ` [PATCH 1/4] dt-bindings: arm: add AMD Pensando boards Brad Larson
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Brad Larson @ 2023-09-25 19:56 UTC (permalink / raw)
To: soc
Cc: linux-arm-kernel, adrian.hunter, alcooperx, andy.shevchenko,
arnd, blarson, brendan.higgins, briannorris, catalin.marinas,
conor+dt, davidgow, gsomlo, gerg, hal.feng, hasegawa-hitomi,
j.neuschaefer, joel, kernel, krzk, krzysztof.kozlowski+dt, lee,
lee.jones, broonie, p.zabel, rdunlap, robh+dt, samuel,
fancer.lancer, skhan, suravee.suthikulpanit, thomas.lendacky,
tonyhuang.sunplus, ulf.hansson, vaishnav.a, walker.chen, will,
zhuyinbo, devicetree
The Elba System Controller is dropped from this patch series. The
following Elba enablement patches have been merged.
f2156989bf30 spi: cdns: Add compatible for AMD Pensando Elba SoC
f5c2f9f95843 spi: cadence-quadspi: Add compatible for AMD Pensando Elba SoC
2c8606040a80 spi: dw: Add support for AMD Pensando Elba SoC
6282a6ceef62 spi: dw: Add AMD Pensando Elba SoC SPI Controller
aad53d4ee756 mmc: sdhci-cadence: Support mmc hardware reset
b5dbcf1f1d1a mmc: sdhci-cadence: Add AMD Pensando Elba SoC support
e095b78ef2db mmc: sdhci-cadence: Support device specific init during probe
d3e32f847891 mmc: sdhci-cadence: Enable device specific override of writel()
82e4726b00e9 dt-bindings: mmc: cdns: Add AMD Pensando Elba SoC
8e993c5888fa dt-bindings: mfd: syscon: Add amd,pensando-elba-syscon compatible
The relevant DT changes from the previous series is below. That series is
being split into two. The first is this series with the device tree and
what is missing for enablement. The second for TBD Elba system controller
support.
v15-0006-arm64-dts-Add-AMD-Pensando-Elba-SoC-support.patch
- The first cell in the cpu reg property is always zero. Change
address-cells to <1> and dropped the leading zero from all cpu* reg<>
- Added read-only and spare partitions to flash0
v14-0006-arm64-dts-Add-AMD-Pensando-Elba-SoC-support.patch
- Fix dtbs_check l2-cache* property issue by adding required
cache-level and cache-unified properties
- Observed the issue after updating dtschema from 2023.1 to 2023.4
and yamllint from 1.26.3 to 1.30.0
v6-0010-arm64-dts-Add-AMD-Pensando-Elba-SoC-support
- Update node names and add amd,pensando-elba-syscon
Brad Larson (4):
dt-bindings: arm: add AMD Pensando boards
MAINTAINERS: Add entry for AMD PENSANDO
arm64: Add config for AMD Pensando SoC platforms
arm64: dts: Add AMD Pensando Elba SoC support
.../devicetree/bindings/arm/amd,pensando.yaml | 26 +++
MAINTAINERS | 7 +
arch/arm64/Kconfig.platforms | 12 ++
arch/arm64/boot/dts/amd/Makefile | 1 +
arch/arm64/boot/dts/amd/elba-16core.dtsi | 197 ++++++++++++++++++
arch/arm64/boot/dts/amd/elba-asic-common.dtsi | 70 +++++++
arch/arm64/boot/dts/amd/elba-asic.dts | 28 +++
arch/arm64/boot/dts/amd/elba-flash-parts.dtsi | 117 +++++++++++
arch/arm64/boot/dts/amd/elba.dtsi | 191 +++++++++++++++++
9 files changed, 649 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/amd,pensando.yaml
create mode 100644 arch/arm64/boot/dts/amd/elba-16core.dtsi
create mode 100644 arch/arm64/boot/dts/amd/elba-asic-common.dtsi
create mode 100644 arch/arm64/boot/dts/amd/elba-asic.dts
create mode 100644 arch/arm64/boot/dts/amd/elba-flash-parts.dtsi
create mode 100644 arch/arm64/boot/dts/amd/elba.dtsi
base-commit: 7bc675554773f09d88101bf1ccfc8537dc7c0be9
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/4] dt-bindings: arm: add AMD Pensando boards
2023-09-25 19:56 [PATCH 0/4] Add AMD Pensando Elba Device Tree Brad Larson
@ 2023-09-25 19:56 ` Brad Larson
2023-09-25 19:56 ` [PATCH 2/4] MAINTAINERS: Add entry for AMD PENSANDO Brad Larson
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Brad Larson @ 2023-09-25 19:56 UTC (permalink / raw)
To: soc
Cc: linux-arm-kernel, adrian.hunter, alcooperx, andy.shevchenko,
arnd, blarson, brendan.higgins, briannorris, catalin.marinas,
conor+dt, davidgow, gsomlo, gerg, hal.feng, hasegawa-hitomi,
j.neuschaefer, joel, kernel, krzk, krzysztof.kozlowski+dt, lee,
lee.jones, broonie, p.zabel, rdunlap, robh+dt, samuel,
fancer.lancer, skhan, suravee.suthikulpanit, thomas.lendacky,
tonyhuang.sunplus, ulf.hansson, vaishnav.a, walker.chen, will,
zhuyinbo, devicetree
Document the compatible for AMD Pensando Elba SoC boards.
Signed-off-by: Brad Larson <blarson@amd.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
.../devicetree/bindings/arm/amd,pensando.yaml | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/amd,pensando.yaml
diff --git a/Documentation/devicetree/bindings/arm/amd,pensando.yaml b/Documentation/devicetree/bindings/arm/amd,pensando.yaml
new file mode 100644
index 000000000000..e5c2591834a8
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/amd,pensando.yaml
@@ -0,0 +1,26 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/amd,pensando.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: AMD Pensando SoC Platforms
+
+maintainers:
+ - Brad Larson <blarson@amd.com>
+
+properties:
+ $nodename:
+ const: "/"
+ compatible:
+ oneOf:
+
+ - description: Boards with Pensando Elba SoC
+ items:
+ - enum:
+ - amd,pensando-elba-ortano
+ - const: amd,pensando-elba
+
+additionalProperties: true
+
+...
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] MAINTAINERS: Add entry for AMD PENSANDO
2023-09-25 19:56 [PATCH 0/4] Add AMD Pensando Elba Device Tree Brad Larson
2023-09-25 19:56 ` [PATCH 1/4] dt-bindings: arm: add AMD Pensando boards Brad Larson
@ 2023-09-25 19:56 ` Brad Larson
2023-09-25 19:56 ` [PATCH 3/4] arm64: Add config for AMD Pensando SoC platforms Brad Larson
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Brad Larson @ 2023-09-25 19:56 UTC (permalink / raw)
To: soc
Cc: linux-arm-kernel, adrian.hunter, alcooperx, andy.shevchenko,
arnd, blarson, brendan.higgins, briannorris, catalin.marinas,
conor+dt, davidgow, gsomlo, gerg, hal.feng, hasegawa-hitomi,
j.neuschaefer, joel, kernel, krzk, krzysztof.kozlowski+dt, lee,
lee.jones, broonie, p.zabel, rdunlap, robh+dt, samuel,
fancer.lancer, skhan, suravee.suthikulpanit, thomas.lendacky,
tonyhuang.sunplus, ulf.hansson, vaishnav.a, walker.chen, will,
zhuyinbo, devicetree
Add entry for AMD PENSANDO maintainer and files
Signed-off-by: Brad Larson <blarson@amd.com>
---
MAINTAINERS | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 2833e2da63e0..a58f7b15e84c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1815,6 +1815,13 @@ N: allwinner
N: sun[x456789]i
N: sun[25]0i
+ARM/AMD PENSANDO ARM64 ARCHITECTURE
+M: Brad Larson <blarson@amd.com>
+L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+S: Supported
+F: Documentation/devicetree/bindings/*/amd,pensando*
+F: arch/arm64/boot/dts/amd/elba*
+
ARM/Amlogic Meson SoC CLOCK FRAMEWORK
M: Neil Armstrong <neil.armstrong@linaro.org>
M: Jerome Brunet <jbrunet@baylibre.com>
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] arm64: Add config for AMD Pensando SoC platforms
2023-09-25 19:56 [PATCH 0/4] Add AMD Pensando Elba Device Tree Brad Larson
2023-09-25 19:56 ` [PATCH 1/4] dt-bindings: arm: add AMD Pensando boards Brad Larson
2023-09-25 19:56 ` [PATCH 2/4] MAINTAINERS: Add entry for AMD PENSANDO Brad Larson
@ 2023-09-25 19:56 ` Brad Larson
2023-09-25 19:56 ` [PATCH 4/4] arm64: dts: Add AMD Pensando Elba SoC support Brad Larson
2023-09-28 8:01 ` [PATCH 0/4] Add AMD Pensando Elba Device Tree patchwork-bot+linux-soc
4 siblings, 0 replies; 6+ messages in thread
From: Brad Larson @ 2023-09-25 19:56 UTC (permalink / raw)
To: soc
Cc: linux-arm-kernel, adrian.hunter, alcooperx, andy.shevchenko,
arnd, blarson, brendan.higgins, briannorris, catalin.marinas,
conor+dt, davidgow, gsomlo, gerg, hal.feng, hasegawa-hitomi,
j.neuschaefer, joel, kernel, krzk, krzysztof.kozlowski+dt, lee,
lee.jones, broonie, p.zabel, rdunlap, robh+dt, samuel,
fancer.lancer, skhan, suravee.suthikulpanit, thomas.lendacky,
tonyhuang.sunplus, ulf.hansson, vaishnav.a, walker.chen, will,
zhuyinbo, devicetree
Add ARCH_PENSANDO configuration option for AMD Pensando SoC
based platforms.
Signed-off-by: Brad Larson <blarson@amd.com>
---
arch/arm64/Kconfig.platforms | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index 6069120199bb..24335565bad5 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -244,6 +244,18 @@ config ARCH_NPCM
General support for NPCM8xx BMC (Arbel).
Nuvoton NPCM8xx BMC based on the Cortex A35.
+config ARCH_PENSANDO
+ bool "AMD Pensando Platforms"
+ help
+ This enables support for the ARMv8 based AMD Pensando SoC
+ family to include the Elba SoC.
+
+ AMD Pensando SoCs support a range of Distributed Services
+ Cards in PCIe format installed into servers. The Elba
+ SoC includes 16 Cortex A-72 CPU cores, 144 P4-programmable
+ cores for a minimal latency/jitter datapath, and network
+ interfaces up to 200 Gb/s.
+
config ARCH_QCOM
bool "Qualcomm Platforms"
select GPIOLIB
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] arm64: dts: Add AMD Pensando Elba SoC support
2023-09-25 19:56 [PATCH 0/4] Add AMD Pensando Elba Device Tree Brad Larson
` (2 preceding siblings ...)
2023-09-25 19:56 ` [PATCH 3/4] arm64: Add config for AMD Pensando SoC platforms Brad Larson
@ 2023-09-25 19:56 ` Brad Larson
2023-09-28 8:01 ` [PATCH 0/4] Add AMD Pensando Elba Device Tree patchwork-bot+linux-soc
4 siblings, 0 replies; 6+ messages in thread
From: Brad Larson @ 2023-09-25 19:56 UTC (permalink / raw)
To: soc
Cc: linux-arm-kernel, adrian.hunter, alcooperx, andy.shevchenko,
arnd, blarson, brendan.higgins, briannorris, catalin.marinas,
conor+dt, davidgow, gsomlo, gerg, hal.feng, hasegawa-hitomi,
j.neuschaefer, joel, kernel, krzk, krzysztof.kozlowski+dt, lee,
lee.jones, broonie, p.zabel, rdunlap, robh+dt, samuel,
fancer.lancer, skhan, suravee.suthikulpanit, thomas.lendacky,
tonyhuang.sunplus, ulf.hansson, vaishnav.a, walker.chen, will,
zhuyinbo, devicetree
Add AMD Pensando common and Elba SoC specific device nodes
Signed-off-by: Brad Larson <blarson@amd.com>
---
New series baseline:
- Remove references to system controller
Old series history:
v15 changes:
- The first cell in the cpu reg property is always zero. Change
address-cells to <1> and dropped the leading zero from all cpu* reg<>
- Added read-only and spare partitions to flash0
v14 changes:
- Fix dtbs_check l2-cache* property issue by adding required
cache-level and cache-unified properties
- Observed the issue after updating dtschema from 2023.1 to 2023.4
and yamllint from 1.26.3 to 1.30.0
v11 changes:
- Delete reset-names
- Fix spi0 compatible to be specific 'amd,pensando-elba-ctrl'
v9 changes:
- Single node for spi0 system-controller and squash
the reset-controller child into parent
---
arch/arm64/boot/dts/amd/Makefile | 1 +
arch/arm64/boot/dts/amd/elba-16core.dtsi | 197 ++++++++++++++++++
arch/arm64/boot/dts/amd/elba-asic-common.dtsi | 70 +++++++
arch/arm64/boot/dts/amd/elba-asic.dts | 28 +++
arch/arm64/boot/dts/amd/elba-flash-parts.dtsi | 117 +++++++++++
arch/arm64/boot/dts/amd/elba.dtsi | 191 +++++++++++++++++
6 files changed, 604 insertions(+)
create mode 100644 arch/arm64/boot/dts/amd/elba-16core.dtsi
create mode 100644 arch/arm64/boot/dts/amd/elba-asic-common.dtsi
create mode 100644 arch/arm64/boot/dts/amd/elba-asic.dts
create mode 100644 arch/arm64/boot/dts/amd/elba-flash-parts.dtsi
create mode 100644 arch/arm64/boot/dts/amd/elba.dtsi
diff --git a/arch/arm64/boot/dts/amd/Makefile b/arch/arm64/boot/dts/amd/Makefile
index 68103a8b0ef5..8502cc2afbc5 100644
--- a/arch/arm64/boot/dts/amd/Makefile
+++ b/arch/arm64/boot/dts/amd/Makefile
@@ -1,2 +1,3 @@
# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_PENSANDO) += elba-asic.dtb
dtb-$(CONFIG_ARCH_SEATTLE) += amd-overdrive-rev-b0.dtb amd-overdrive-rev-b1.dtb
diff --git a/arch/arm64/boot/dts/amd/elba-16core.dtsi b/arch/arm64/boot/dts/amd/elba-16core.dtsi
new file mode 100644
index 000000000000..568bcc39ce9f
--- /dev/null
+++ b/arch/arm64/boot/dts/amd/elba-16core.dtsi
@@ -0,0 +1,197 @@
+// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
+/*
+ * Copyright 2020-2023 Advanced Micro Devices, Inc.
+ */
+
+/ {
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpu-map {
+ cluster0 {
+ core0 { cpu = <&cpu0>; };
+ core1 { cpu = <&cpu1>; };
+ core2 { cpu = <&cpu2>; };
+ core3 { cpu = <&cpu3>; };
+ };
+
+ cluster1 {
+ core0 { cpu = <&cpu4>; };
+ core1 { cpu = <&cpu5>; };
+ core2 { cpu = <&cpu6>; };
+ core3 { cpu = <&cpu7>; };
+ };
+
+ cluster2 {
+ core0 { cpu = <&cpu8>; };
+ core1 { cpu = <&cpu9>; };
+ core2 { cpu = <&cpu10>; };
+ core3 { cpu = <&cpu11>; };
+ };
+
+ cluster3 {
+ core0 { cpu = <&cpu12>; };
+ core1 { cpu = <&cpu13>; };
+ core2 { cpu = <&cpu14>; };
+ core3 { cpu = <&cpu15>; };
+ };
+ };
+
+ /* CLUSTER 0 */
+ cpu0: cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x0>;
+ next-level-cache = <&l2_0>;
+ enable-method = "psci";
+ };
+
+ cpu1: cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x1>;
+ next-level-cache = <&l2_0>;
+ enable-method = "psci";
+ };
+
+ cpu2: cpu@2 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x2>;
+ next-level-cache = <&l2_0>;
+ enable-method = "psci";
+ };
+
+ cpu3: cpu@3 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x3>;
+ next-level-cache = <&l2_0>;
+ enable-method = "psci";
+ };
+
+ l2_0: l2-cache0 {
+ compatible = "cache";
+ cache-unified;
+ cache-level = <2>;
+ };
+
+ /* CLUSTER 1 */
+ cpu4: cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x100>;
+ next-level-cache = <&l2_1>;
+ enable-method = "psci";
+ };
+
+ cpu5: cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x101>;
+ next-level-cache = <&l2_1>;
+ enable-method = "psci";
+ };
+
+ cpu6: cpu@102 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x102>;
+ next-level-cache = <&l2_1>;
+ enable-method = "psci";
+ };
+
+ cpu7: cpu@103 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x103>;
+ next-level-cache = <&l2_1>;
+ enable-method = "psci";
+ };
+
+ l2_1: l2-cache1 {
+ compatible = "cache";
+ cache-unified;
+ cache-level = <2>;
+ };
+
+ /* CLUSTER 2 */
+ cpu8: cpu@200 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x200>;
+ next-level-cache = <&l2_2>;
+ enable-method = "psci";
+ };
+
+ cpu9: cpu@201 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x201>;
+ next-level-cache = <&l2_2>;
+ enable-method = "psci";
+ };
+
+ cpu10: cpu@202 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x202>;
+ next-level-cache = <&l2_2>;
+ enable-method = "psci";
+ };
+
+ cpu11: cpu@203 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x203>;
+ next-level-cache = <&l2_2>;
+ enable-method = "psci";
+ };
+
+ l2_2: l2-cache2 {
+ compatible = "cache";
+ cache-unified;
+ cache-level = <2>;
+ };
+
+ /* CLUSTER 3 */
+ cpu12: cpu@300 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x300>;
+ next-level-cache = <&l2_3>;
+ enable-method = "psci";
+ };
+
+ cpu13: cpu@301 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x301>;
+ next-level-cache = <&l2_3>;
+ enable-method = "psci";
+ };
+
+ cpu14: cpu@302 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x302>;
+ next-level-cache = <&l2_3>;
+ enable-method = "psci";
+ };
+
+ cpu15: cpu@303 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a72";
+ reg = <0x303>;
+ next-level-cache = <&l2_3>;
+ enable-method = "psci";
+ };
+
+ l2_3: l2-cache3 {
+ compatible = "cache";
+ cache-unified;
+ cache-level = <2>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/amd/elba-asic-common.dtsi b/arch/arm64/boot/dts/amd/elba-asic-common.dtsi
new file mode 100644
index 000000000000..46b6c6783f58
--- /dev/null
+++ b/arch/arm64/boot/dts/amd/elba-asic-common.dtsi
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
+/*
+ * Copyright 2020-2022 Advanced Micro Devices, Inc.
+ */
+
+&ahb_clk {
+ clock-frequency = <400000000>;
+};
+
+&emmc_clk {
+ clock-frequency = <200000000>;
+};
+
+&flash_clk {
+ clock-frequency = <400000000>;
+};
+
+&ref_clk {
+ clock-frequency = <156250000>;
+};
+
+&qspi {
+ status = "okay";
+
+ flash0: flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <40000000>;
+ spi-rx-bus-width = <2>;
+ m25p,fast-read;
+ cdns,read-delay = <0>;
+ cdns,tshsl-ns = <0>;
+ cdns,tsd2d-ns = <0>;
+ cdns,tchsh-ns = <0>;
+ cdns,tslch-ns = <0>;
+ };
+};
+
+&gpio0 {
+ status = "okay";
+};
+
+&emmc {
+ bus-width = <8>;
+ cap-mmc-hw-reset;
+ status = "okay";
+};
+
+&wdt0 {
+ status = "okay";
+};
+
+&i2c0 {
+ clock-frequency = <100000>;
+ status = "okay";
+
+ rtc@51 {
+ compatible = "nxp,pcf85263";
+ reg = <0x51>;
+ };
+};
+
+&spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ num-cs = <4>;
+ cs-gpios = <0>, <0>, <&porta 1 GPIO_ACTIVE_LOW>,
+ <&porta 7 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/amd/elba-asic.dts b/arch/arm64/boot/dts/amd/elba-asic.dts
new file mode 100644
index 000000000000..c3f4da2f7449
--- /dev/null
+++ b/arch/arm64/boot/dts/amd/elba-asic.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
+/*
+ * Device Tree file for AMD Pensando Elba Board.
+ *
+ * Copyright 2020-2022 Advanced Micro Devices, Inc.
+ */
+
+/dts-v1/;
+
+#include "elba.dtsi"
+#include "elba-16core.dtsi"
+#include "elba-asic-common.dtsi"
+#include "elba-flash-parts.dtsi"
+
+/ {
+ model = "AMD Pensando Elba Board";
+ compatible = "amd,pensando-elba-ortano", "amd,pensando-elba";
+
+ aliases {
+ serial0 = &uart0;
+ spi0 = &spi0;
+ spi1 = &qspi;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+};
diff --git a/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi b/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi
new file mode 100644
index 000000000000..cf761a05a81f
--- /dev/null
+++ b/arch/arm64/boot/dts/amd/elba-flash-parts.dtsi
@@ -0,0 +1,117 @@
+// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
+/*
+ * Copyright 2020-2023 Advanced Micro Devices, Inc.
+ */
+
+&flash0 {
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ partition@0 {
+ label = "rsvd";
+ reg = <0x0 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "flash";
+ reg = <0x10000 0xfff0000>;
+ };
+
+ partition@f0000 {
+ label = "golduenv";
+ reg = <0xf0000 0x10000>;
+ };
+
+ partition@100000 {
+ label = "boot0";
+ reg = <0x100000 0x80000>;
+ };
+
+ partition@180000 {
+ label = "golduboot";
+ reg = <0x180000 0x200000>;
+ };
+
+ partition@380000 {
+ label = "brdcfg0";
+ reg = <0x380000 0x10000>;
+ };
+
+ partition@390000 {
+ label = "brdcfg1";
+ reg = <0x390000 0x10000>;
+ };
+
+ partition@400000 {
+ label = "goldfw";
+ reg = <0x400000 0x3c00000>;
+ };
+
+ partition@4010000 {
+ label = "fwmap";
+ reg = <0x4010000 0x20000>;
+ };
+
+ partition@4030000 {
+ label = "fwsel";
+ reg = <0x4030000 0x20000>;
+ };
+
+ partition@4090000 {
+ label = "bootlog";
+ reg = <0x4090000 0x20000>;
+ };
+
+ partition@40b0000 {
+ label = "panicbuf";
+ reg = <0x40b0000 0x20000>;
+ };
+
+ partition@40d0000 {
+ label = "uservars";
+ reg = <0x40d0000 0x20000>;
+ };
+
+ partition@4200000 {
+ label = "uboota";
+ reg = <0x4200000 0x400000>;
+ };
+
+ partition@4600000 {
+ label = "ubootb";
+ reg = <0x4600000 0x400000>;
+ };
+
+ partition@4a00000 {
+ label = "mainfwa";
+ reg = <0x4a00000 0x1000000>;
+ };
+
+ partition@5a00000 {
+ label = "mainfwb";
+ reg = <0x5a00000 0x1000000>;
+ };
+
+ partition@6a00000 {
+ label = "diaguboot";
+ reg = <0x6a00000 0x400000>;
+ };
+
+ partition@6e00000 {
+ label = "spare";
+ reg = <0x6e00000 0x1200000>;
+ };
+
+ partition@8000000 {
+ label = "diagfw";
+ reg = <0x8000000 0x7fe0000>;
+ };
+
+ partition@ffe0000 {
+ label = "ubootenv";
+ reg = <0xffe0000 0x10000>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/amd/elba.dtsi b/arch/arm64/boot/dts/amd/elba.dtsi
new file mode 100644
index 000000000000..674890cf2a34
--- /dev/null
+++ b/arch/arm64/boot/dts/amd/elba.dtsi
@@ -0,0 +1,191 @@
+// SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
+/*
+ * Copyright 2020-2022 Advanced Micro Devices, Inc.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include "dt-bindings/interrupt-controller/arm-gic.h"
+
+/ {
+ model = "Elba ASIC Board";
+ compatible = "amd,pensando-elba";
+ interrupt-parent = <&gic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ dma-coherent;
+
+ ahb_clk: oscillator0 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ };
+
+ emmc_clk: oscillator2 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ };
+
+ flash_clk: oscillator3 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ };
+
+ ref_clk: oscillator4 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
+ };
+
+ pmu {
+ compatible = "arm,cortex-a72-pmu";
+ interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
+ };
+
+ soc: soc {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ i2c0: i2c@400 {
+ compatible = "snps,designware-i2c";
+ reg = <0x0 0x400 0x0 0x100>;
+ clocks = <&ahb_clk>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2c-sda-hold-time-ns = <480>;
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ wdt0: watchdog@1400 {
+ compatible = "snps,dw-wdt";
+ reg = <0x0 0x1400 0x0 0x100>;
+ clocks = <&ahb_clk>;
+ interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ qspi: spi@2400 {
+ compatible = "amd,pensando-elba-qspi", "cdns,qspi-nor";
+ reg = <0x0 0x2400 0x0 0x400>,
+ <0x0 0x7fff0000 0x0 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&flash_clk>;
+ cdns,fifo-depth = <1024>;
+ cdns,fifo-width = <4>;
+ cdns,trigger-address = <0x7fff0000>;
+ status = "disabled";
+ };
+
+ spi0: spi@2800 {
+ compatible = "amd,pensando-elba-spi";
+ reg = <0x0 0x2800 0x0 0x100>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ amd,pensando-elba-syscon = <&syscon>;
+ clocks = <&ahb_clk>;
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+ num-cs = <2>;
+ status = "disabled";
+ };
+
+ gpio0: gpio@4000 {
+ compatible = "snps,dw-apb-gpio";
+ reg = <0x0 0x4000 0x0 0x78>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+
+ porta: gpio-port@0 {
+ compatible = "snps,dw-apb-gpio-port";
+ reg = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ ngpios = <8>;
+ interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ interrupt-parent = <&gic>;
+ #interrupt-cells = <2>;
+ };
+
+ portb: gpio-port@1 {
+ compatible = "snps,dw-apb-gpio-port";
+ reg = <1>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ ngpios = <8>;
+ };
+ };
+
+ uart0: serial@4800 {
+ compatible = "ns16550a";
+ reg = <0x0 0x4800 0x0 0x100>;
+ clocks = <&ref_clk>;
+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ reg-io-width = <4>;
+ };
+
+ gic: interrupt-controller@800000 {
+ compatible = "arm,gic-v3";
+ reg = <0x0 0x800000 0x0 0x200000>, /* GICD */
+ <0x0 0xa00000 0x0 0x200000>, /* GICR */
+ <0x0 0x60000000 0x0 0x2000>, /* GICC */
+ <0x0 0x60010000 0x0 0x1000>, /* GICH */
+ <0x0 0x60020000 0x0 0x2000>; /* GICV */
+ #address-cells = <2>;
+ #size-cells = <2>;
+ #interrupt-cells = <3>;
+ ranges;
+ interrupt-controller;
+ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+
+ /*
+ * Elba specific pre-ITS is enabled using the
+ * existing property socionext,synquacer-pre-its
+ */
+ gic_its: msi-controller@820000 {
+ compatible = "arm,gic-v3-its";
+ reg = <0x0 0x820000 0x0 0x10000>;
+ msi-controller;
+ #msi-cells = <1>;
+ socionext,synquacer-pre-its =
+ <0xc00000 0x1000000>;
+ };
+ };
+
+ emmc: mmc@30440000 {
+ compatible = "amd,pensando-elba-sd4hc", "cdns,sd4hc";
+ reg = <0x0 0x30440000 0x0 0x10000>,
+ <0x0 0x30480044 0x0 0x4>; /* byte-lane ctrl */
+ clocks = <&emmc_clk>;
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+ cdns,phy-input-delay-sd-highspeed = <0x4>;
+ cdns,phy-input-delay-legacy = <0x4>;
+ cdns,phy-input-delay-sd-uhs-sdr50 = <0x6>;
+ cdns,phy-input-delay-sd-uhs-ddr50 = <0x16>;
+ mmc-ddr-1_8v;
+ status = "disabled";
+ };
+
+ syscon: syscon@307c0000 {
+ compatible = "amd,pensando-elba-syscon", "syscon";
+ reg = <0x0 0x307c0000 0x0 0x3000>;
+ };
+ };
+};
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/4] Add AMD Pensando Elba Device Tree
2023-09-25 19:56 [PATCH 0/4] Add AMD Pensando Elba Device Tree Brad Larson
` (3 preceding siblings ...)
2023-09-25 19:56 ` [PATCH 4/4] arm64: dts: Add AMD Pensando Elba SoC support Brad Larson
@ 2023-09-28 8:01 ` patchwork-bot+linux-soc
4 siblings, 0 replies; 6+ messages in thread
From: patchwork-bot+linux-soc @ 2023-09-28 8:01 UTC (permalink / raw)
To: Brad Larson; +Cc: soc
Hello:
This series was applied to soc/soc.git (for-next)
by Arnd Bergmann <arnd@arndb.de>:
On Mon, 25 Sep 2023 12:56:06 -0700 you wrote:
> The Elba System Controller is dropped from this patch series. The
> following Elba enablement patches have been merged.
>
> f2156989bf30 spi: cdns: Add compatible for AMD Pensando Elba SoC
> f5c2f9f95843 spi: cadence-quadspi: Add compatible for AMD Pensando Elba SoC
> 2c8606040a80 spi: dw: Add support for AMD Pensando Elba SoC
> 6282a6ceef62 spi: dw: Add AMD Pensando Elba SoC SPI Controller
> aad53d4ee756 mmc: sdhci-cadence: Support mmc hardware reset
> b5dbcf1f1d1a mmc: sdhci-cadence: Add AMD Pensando Elba SoC support
> e095b78ef2db mmc: sdhci-cadence: Support device specific init during probe
> d3e32f847891 mmc: sdhci-cadence: Enable device specific override of writel()
> 82e4726b00e9 dt-bindings: mmc: cdns: Add AMD Pensando Elba SoC
> 8e993c5888fa dt-bindings: mfd: syscon: Add amd,pensando-elba-syscon compatible
>
> [...]
Here is the summary with links:
- [1/4] dt-bindings: arm: add AMD Pensando boards
https://git.kernel.org/soc/soc/c/b0292fd8be37
- [2/4] MAINTAINERS: Add entry for AMD PENSANDO
https://git.kernel.org/soc/soc/c/fbf37376f8ac
- [3/4] arm64: Add config for AMD Pensando SoC platforms
https://git.kernel.org/soc/soc/c/646fe2e4b390
- [4/4] arm64: dts: Add AMD Pensando Elba SoC support
https://git.kernel.org/soc/soc/c/34dc1baba215
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-09-28 8:01 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-25 19:56 [PATCH 0/4] Add AMD Pensando Elba Device Tree Brad Larson
2023-09-25 19:56 ` [PATCH 1/4] dt-bindings: arm: add AMD Pensando boards Brad Larson
2023-09-25 19:56 ` [PATCH 2/4] MAINTAINERS: Add entry for AMD PENSANDO Brad Larson
2023-09-25 19:56 ` [PATCH 3/4] arm64: Add config for AMD Pensando SoC platforms Brad Larson
2023-09-25 19:56 ` [PATCH 4/4] arm64: dts: Add AMD Pensando Elba SoC support Brad Larson
2023-09-28 8:01 ` [PATCH 0/4] Add AMD Pensando Elba Device Tree patchwork-bot+linux-soc
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).