arm-trusted-firmware/fdts/tc4.dts
Jackson Cooper-Driver 99f6790cb9 feat(tc): add SLC MSC nodes to TC4 DT
These specify the addresses of the MPAM registers in the MCN block. Note
that these are enabled for TC4 FPGA only as the MPAM devices are not
available on FVP.

Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>
Change-Id: I105cd21952c2bd4fac5a06c84c0a93217b5e1312
2025-01-29 08:13:42 +00:00

149 lines
3.1 KiB
Text

/*
* Copyright (c) 2020-2024, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
/dts-v1/;
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <platform_def.h>
#define MHU_TX_ADDR 46240000 /* hex */
#define MHU_RX_ADDR 46250000 /* hex */
#define LIT_CPU_PMU_COMPATIBLE "arm,armv8-pmuv3"
#define MID_CPU_PMU_COMPATIBLE "arm,armv8-pmuv3"
#define BIG_CPU_PMU_COMPATIBLE "arm,armv8-pmuv3"
#define RSE_MHU_TX_ADDR 49020000 /* hex */
#define RSE_MHU_RX_ADDR 49030000 /* hex */
#if TARGET_FLAVOUR_FVP
#define ETHERNET_ADDR 64000000
#define ETHERNET_INT 799
#define SYS_REGS_ADDR 60080000
#define MMC_ADDR 600b0000
#define MMC_INT_0 778
#define MMC_INT_1 779
#else /* TARGET_FLAVOUR_FPGA */
#define ETHERNET_ADDR 18000000
#define ETHERNET_INT 109
#define SYS_REGS_ADDR 1c010000
#define MMC_ADDR 1c050000
#define MMC_INT_0 107
#define MMC_INT_1 108
#endif /* TARGET_FLAVOUR_FVP */
#define RTC_ADDR 600a0000
#define RTC_INT 777
#define KMI_0_ADDR 60100000
#define KMI_0_INT 784
#define KMI_1_ADDR 60110000
#define KMI_1_INT 785
#define VIRTIO_BLOCK_ADDR 60020000
#define VIRTIO_BLOCK_INT 769
#if TARGET_FLAVOUR_FPGA
#define DPU_ADDR 4000000000
#define DPU_IRQ 579
#endif
#include "tc-common.dtsi"
#if TARGET_FLAVOUR_FVP
#include "tc-fvp.dtsi"
#else
#include "tc-fpga.dtsi"
#endif /* TARGET_FLAVOUR_FVP */
#include "tc3-4-base.dtsi"
/ {
smmu_700: iommu@3f000000 {
status = "okay";
};
smmu_700_dpu: iommu@4002a00000 {
status = "okay";
};
dp0: display@DPU_ADDR {
iommus = <&smmu_700_dpu 0x000>, <&smmu_700_dpu 0x100>,
<&smmu_700_dpu 0x200>, <&smmu_700_dpu 0x600>;
};
gpu: gpu@2d000000 {
interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH 0>;
interrupt-names = "IRQAW";
iommus = <&smmu_700 0x0>;
system-coherency = <0x0>;
};
dsu-pmu {
interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
};
cs-pmu@4 {
compatible = "arm,coresight-pmu";
reg = <0x0 MCN_PMU_ADDR(4) 0x0 0xffc>;
};
cs-pmu@5 {
compatible = "arm,coresight-pmu";
reg = <0x0 MCN_PMU_ADDR(5) 0x0 0xffc>;
};
cs-pmu@6 {
compatible = "arm,coresight-pmu";
reg = <0x0 MCN_PMU_ADDR(6) 0x0 0xffc>;
};
cs-pmu@7 {
compatible = "arm,coresight-pmu";
reg = <0x0 MCN_PMU_ADDR(7) 0x0 0xffc>;
};
#if defined(TARGET_FLAVOUR_FPGA)
slc-msc@0 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(0) 0x0 0x4000>;
};
slc-msc@1 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(1) 0x0 0x4000>;
};
slc-msc@2 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(2) 0x0 0x4000>;
};
slc-msc@3 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(3) 0x0 0x4000>;
};
slc-msc@4 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(4) 0x0 0x4000>;
};
slc-msc@5 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(5) 0x0 0x4000>;
};
slc-msc@6 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(6) 0x0 0x4000>;
};
slc-msc@7 {
compatible = "arm,mpam-msc";
reg = <0x0 MCN_MPAM_NS_BASE_ADDR(7) 0x0 0x4000>;
};
#endif /* TARGET_FLAVOUR_FPGA */
};