xref: /rk3399_ARM-atf/fdts/tc4.dts (revision 2b6ae948ddc61dfcf940dcb4b5cd9287b3482cfd)
13cedc47bSLeo Yan/*
2*8de6021bSRyan Everett * Copyright (c) 2020-2025, Arm Limited. All rights reserved.
33cedc47bSLeo Yan *
43cedc47bSLeo Yan * SPDX-License-Identifier: BSD-3-Clause
53cedc47bSLeo Yan */
63cedc47bSLeo Yan
73cedc47bSLeo Yan/dts-v1/;
83cedc47bSLeo Yan
93cedc47bSLeo Yan#include <dt-bindings/interrupt-controller/arm-gic.h>
103cedc47bSLeo Yan#include <dt-bindings/interrupt-controller/irq.h>
113cedc47bSLeo Yan#include <platform_def.h>
123cedc47bSLeo Yan
133cedc47bSLeo Yan#define MHU_TX_ADDR			46240000 /* hex */
143cedc47bSLeo Yan#define MHU_RX_ADDR			46250000 /* hex */
153cedc47bSLeo Yan
167dae0451SMin Yao Ng#define LIT_CPU_PMU_COMPATIBLE		"arm,c1-nano-pmu"
177dae0451SMin Yao Ng#define MID_CPU_PMU_COMPATIBLE		"arm,c1-pro-pmu"
187dae0451SMin Yao Ng#define BIG_CPU_PMU_COMPATIBLE		"arm,c1-ultra-pmu"
193cedc47bSLeo Yan
2006fa4c4dSYu Shihai#define RSE_MHU_TX_ADDR			49020000 /* hex */
2106fa4c4dSYu Shihai#define RSE_MHU_RX_ADDR			49030000 /* hex */
2206fa4c4dSYu Shihai
238dec6303SJagdish Gediya#if TARGET_FLAVOUR_FVP
24e9e83e96SJackson Cooper-Driver#define ETHERNET_ADDR			64000000
25e9e83e96SJackson Cooper-Driver#define ETHERNET_INT			799
265de9d79bSJagdish Gediya#define SYS_REGS_ADDR			60080000
27e9e83e96SJackson Cooper-Driver#define MMC_ADDR			600b0000
28e9e83e96SJackson Cooper-Driver#define MMC_INT_0			778
29e9e83e96SJackson Cooper-Driver#define MMC_INT_1			779
30ba1faaf1SJagdish Gediya#else /* TARGET_FLAVOUR_FPGA */
318dec6303SJagdish Gediya#define ETHERNET_ADDR			18000000
328dec6303SJagdish Gediya#define ETHERNET_INT			109
335de9d79bSJagdish Gediya#define SYS_REGS_ADDR			1c010000
34ba1faaf1SJagdish Gediya#define MMC_ADDR			1c050000
35ba1faaf1SJagdish Gediya#define MMC_INT_0			107
36ba1faaf1SJagdish Gediya#define MMC_INT_1			108
37ba1faaf1SJagdish Gediya#endif /* TARGET_FLAVOUR_FVP */
38e9e83e96SJackson Cooper-Driver
39e9e83e96SJackson Cooper-Driver#define RTC_ADDR			600a0000
40e9e83e96SJackson Cooper-Driver#define RTC_INT				777
41e9e83e96SJackson Cooper-Driver
42e9e83e96SJackson Cooper-Driver#define KMI_0_ADDR			60100000
43e9e83e96SJackson Cooper-Driver#define KMI_0_INT			784
44e9e83e96SJackson Cooper-Driver#define KMI_1_ADDR			60110000
45e9e83e96SJackson Cooper-Driver#define KMI_1_INT			785
46e9e83e96SJackson Cooper-Driver
47e9e83e96SJackson Cooper-Driver#define VIRTIO_BLOCK_ADDR		60020000
48e9e83e96SJackson Cooper-Driver#define VIRTIO_BLOCK_INT		769
49e9e83e96SJackson Cooper-Driver
50bb9b8936SJagdish Gediya#if TARGET_FLAVOUR_FPGA
51bb9b8936SJagdish Gediya#define DPU_ADDR			4000000000
52bb9b8936SJagdish Gediya#define DPU_IRQ				579
53bb9b8936SJagdish Gediya#endif
54bb9b8936SJagdish Gediya
553cedc47bSLeo Yan#include "tc-common.dtsi"
563cedc47bSLeo Yan#if TARGET_FLAVOUR_FVP
573cedc47bSLeo Yan#include "tc-fvp.dtsi"
583cedc47bSLeo Yan#else
593cedc47bSLeo Yan#include "tc-fpga.dtsi"
603cedc47bSLeo Yan#endif /* TARGET_FLAVOUR_FVP */
61*8de6021bSRyan Everett#include "tc-base.dtsi"
62b3a4f8cfSLeo Yan
63b3a4f8cfSLeo Yan/ {
64cea55c83SLeo Yan	spe-pmu-mid {
65cea55c83SLeo Yan		status = "okay";
66cea55c83SLeo Yan	};
67cea55c83SLeo Yan
68cea55c83SLeo Yan	spe-pmu-big {
69cea55c83SLeo Yan		status = "okay";
70cea55c83SLeo Yan	};
71cea55c83SLeo Yan
7211ec5de6SLeo Yan	smmu_700: iommu@3f000000 {
7311ec5de6SLeo Yan		status = "okay";
7411ec5de6SLeo Yan	};
7511ec5de6SLeo Yan
76e365479dSJackson Cooper-Driver	smmu_700_dpu: iommu@4002a00000 {
77e365479dSJackson Cooper-Driver		status = "okay";
78e365479dSJackson Cooper-Driver	};
79e365479dSJackson Cooper-Driver
80e365479dSJackson Cooper-Driver	dp0: display@DPU_ADDR {
81e365479dSJackson Cooper-Driver		iommus = <&smmu_700_dpu 0x000>, <&smmu_700_dpu 0x100>,
82e365479dSJackson Cooper-Driver			 <&smmu_700_dpu 0x200>, <&smmu_700_dpu 0x600>;
83e365479dSJackson Cooper-Driver	};
84e365479dSJackson Cooper-Driver
85b3a4f8cfSLeo Yan	gpu: gpu@2d000000 {
86b3a4f8cfSLeo Yan		interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH 0>;
87b3a4f8cfSLeo Yan		interrupt-names = "IRQAW";
88bf223c79SJagdish Gediya		iommus = <&smmu_700 0x0>;
89cada6ca3SJagdish Gediya		system-coherency = <0x0>;
90b3a4f8cfSLeo Yan	};
9150ad0cfdSJagdish Gediya
9250ad0cfdSJagdish Gediya	dsu-pmu {
9350ad0cfdSJagdish Gediya		interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
9450ad0cfdSJagdish Gediya	};
95624deb08SJagdish Gediya
96624deb08SJagdish Gediya	cs-pmu@4 {
97624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
98624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(4) 0x0 0xffc>;
99624deb08SJagdish Gediya	};
100624deb08SJagdish Gediya
101624deb08SJagdish Gediya	cs-pmu@5 {
102624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
103624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(5) 0x0 0xffc>;
104624deb08SJagdish Gediya	};
105624deb08SJagdish Gediya
106624deb08SJagdish Gediya	cs-pmu@6 {
107624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
108624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(6) 0x0 0xffc>;
109624deb08SJagdish Gediya	};
110624deb08SJagdish Gediya
111624deb08SJagdish Gediya	cs-pmu@7 {
112624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
113624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(7) 0x0 0xffc>;
114624deb08SJagdish Gediya	};
11599f6790cSJackson Cooper-Driver
11699f6790cSJackson Cooper-Driver#if defined(TARGET_FLAVOUR_FPGA)
11799f6790cSJackson Cooper-Driver	slc-msc@0 {
11899f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
11999f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(0) 0x0 0x4000>;
12099f6790cSJackson Cooper-Driver	};
12199f6790cSJackson Cooper-Driver
12299f6790cSJackson Cooper-Driver	slc-msc@1 {
12399f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
12499f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(1) 0x0 0x4000>;
12599f6790cSJackson Cooper-Driver	};
12699f6790cSJackson Cooper-Driver
12799f6790cSJackson Cooper-Driver	slc-msc@2 {
12899f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
12999f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(2) 0x0 0x4000>;
13099f6790cSJackson Cooper-Driver	};
13199f6790cSJackson Cooper-Driver
13299f6790cSJackson Cooper-Driver	slc-msc@3 {
13399f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
13499f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(3) 0x0 0x4000>;
13599f6790cSJackson Cooper-Driver	};
13699f6790cSJackson Cooper-Driver
13799f6790cSJackson Cooper-Driver	slc-msc@4 {
13899f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
13999f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(4) 0x0 0x4000>;
14099f6790cSJackson Cooper-Driver	};
14199f6790cSJackson Cooper-Driver
14299f6790cSJackson Cooper-Driver	slc-msc@5 {
14399f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
14499f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(5) 0x0 0x4000>;
14599f6790cSJackson Cooper-Driver	};
14699f6790cSJackson Cooper-Driver
14799f6790cSJackson Cooper-Driver	slc-msc@6 {
14899f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
14999f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(6) 0x0 0x4000>;
15099f6790cSJackson Cooper-Driver	};
15199f6790cSJackson Cooper-Driver
15299f6790cSJackson Cooper-Driver	slc-msc@7 {
15399f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
15499f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(7) 0x0 0x4000>;
15599f6790cSJackson Cooper-Driver	};
15699f6790cSJackson Cooper-Driver#endif	/* TARGET_FLAVOUR_FPGA */
157b3a4f8cfSLeo Yan};
158