xref: /rk3399_ARM-atf/fdts/tc4.dts (revision 99f6790cb9681d0a2960f8d30d82c20db19f6ab7)
13cedc47bSLeo Yan/*
23cedc47bSLeo Yan * Copyright (c) 2020-2024, 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
163cedc47bSLeo Yan#define LIT_CPU_PMU_COMPATIBLE		"arm,armv8-pmuv3"
173cedc47bSLeo Yan#define MID_CPU_PMU_COMPATIBLE		"arm,armv8-pmuv3"
183cedc47bSLeo Yan#define BIG_CPU_PMU_COMPATIBLE		"arm,armv8-pmuv3"
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 */
613cedc47bSLeo Yan#include "tc3-4-base.dtsi"
62b3a4f8cfSLeo Yan
63b3a4f8cfSLeo Yan/ {
6411ec5de6SLeo Yan	smmu_700: iommu@3f000000 {
6511ec5de6SLeo Yan		status = "okay";
6611ec5de6SLeo Yan	};
6711ec5de6SLeo Yan
68e365479dSJackson Cooper-Driver	smmu_700_dpu: iommu@4002a00000 {
69e365479dSJackson Cooper-Driver		status = "okay";
70e365479dSJackson Cooper-Driver	};
71e365479dSJackson Cooper-Driver
72e365479dSJackson Cooper-Driver	dp0: display@DPU_ADDR {
73e365479dSJackson Cooper-Driver		iommus = <&smmu_700_dpu 0x000>, <&smmu_700_dpu 0x100>,
74e365479dSJackson Cooper-Driver			 <&smmu_700_dpu 0x200>, <&smmu_700_dpu 0x600>;
75e365479dSJackson Cooper-Driver	};
76e365479dSJackson Cooper-Driver
77b3a4f8cfSLeo Yan	gpu: gpu@2d000000 {
78b3a4f8cfSLeo Yan		interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH 0>;
79b3a4f8cfSLeo Yan		interrupt-names = "IRQAW";
80bf223c79SJagdish Gediya		iommus = <&smmu_700 0x0>;
81cada6ca3SJagdish Gediya		system-coherency = <0x0>;
82b3a4f8cfSLeo Yan	};
8350ad0cfdSJagdish Gediya
8450ad0cfdSJagdish Gediya	dsu-pmu {
8550ad0cfdSJagdish Gediya		interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
8650ad0cfdSJagdish Gediya	};
87624deb08SJagdish Gediya
88624deb08SJagdish Gediya	cs-pmu@4 {
89624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
90624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(4) 0x0 0xffc>;
91624deb08SJagdish Gediya	};
92624deb08SJagdish Gediya
93624deb08SJagdish Gediya	cs-pmu@5 {
94624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
95624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(5) 0x0 0xffc>;
96624deb08SJagdish Gediya	};
97624deb08SJagdish Gediya
98624deb08SJagdish Gediya	cs-pmu@6 {
99624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
100624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(6) 0x0 0xffc>;
101624deb08SJagdish Gediya	};
102624deb08SJagdish Gediya
103624deb08SJagdish Gediya	cs-pmu@7 {
104624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
105624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(7) 0x0 0xffc>;
106624deb08SJagdish Gediya	};
107*99f6790cSJackson Cooper-Driver
108*99f6790cSJackson Cooper-Driver#if defined(TARGET_FLAVOUR_FPGA)
109*99f6790cSJackson Cooper-Driver	slc-msc@0 {
110*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
111*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(0) 0x0 0x4000>;
112*99f6790cSJackson Cooper-Driver	};
113*99f6790cSJackson Cooper-Driver
114*99f6790cSJackson Cooper-Driver	slc-msc@1 {
115*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
116*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(1) 0x0 0x4000>;
117*99f6790cSJackson Cooper-Driver	};
118*99f6790cSJackson Cooper-Driver
119*99f6790cSJackson Cooper-Driver	slc-msc@2 {
120*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
121*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(2) 0x0 0x4000>;
122*99f6790cSJackson Cooper-Driver	};
123*99f6790cSJackson Cooper-Driver
124*99f6790cSJackson Cooper-Driver	slc-msc@3 {
125*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
126*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(3) 0x0 0x4000>;
127*99f6790cSJackson Cooper-Driver	};
128*99f6790cSJackson Cooper-Driver
129*99f6790cSJackson Cooper-Driver	slc-msc@4 {
130*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
131*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(4) 0x0 0x4000>;
132*99f6790cSJackson Cooper-Driver	};
133*99f6790cSJackson Cooper-Driver
134*99f6790cSJackson Cooper-Driver	slc-msc@5 {
135*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
136*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(5) 0x0 0x4000>;
137*99f6790cSJackson Cooper-Driver	};
138*99f6790cSJackson Cooper-Driver
139*99f6790cSJackson Cooper-Driver	slc-msc@6 {
140*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
141*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(6) 0x0 0x4000>;
142*99f6790cSJackson Cooper-Driver	};
143*99f6790cSJackson Cooper-Driver
144*99f6790cSJackson Cooper-Driver	slc-msc@7 {
145*99f6790cSJackson Cooper-Driver		compatible = "arm,mpam-msc";
146*99f6790cSJackson Cooper-Driver		reg = <0x0 MCN_MPAM_NS_BASE_ADDR(7) 0x0 0x4000>;
147*99f6790cSJackson Cooper-Driver	};
148*99f6790cSJackson Cooper-Driver#endif	/* TARGET_FLAVOUR_FPGA */
149b3a4f8cfSLeo Yan};
150