xref: /rk3399_ARM-atf/fdts/tc4.dts (revision bb9b89366f580d6166d0abcd4ae8b3c45943ca1c)
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
23e9e83e96SJackson Cooper-Driver#define ETHERNET_ADDR			64000000
24e9e83e96SJackson Cooper-Driver#define ETHERNET_INT			799
25e9e83e96SJackson Cooper-Driver
26e9e83e96SJackson Cooper-Driver#define SYS_REGS_ADDR			60080000
27e9e83e96SJackson Cooper-Driver
28ba1faaf1SJagdish Gediya#if TARGET_FLAVOUR_FVP
29e9e83e96SJackson Cooper-Driver#define MMC_ADDR			600b0000
30e9e83e96SJackson Cooper-Driver#define MMC_INT_0			778
31e9e83e96SJackson Cooper-Driver#define MMC_INT_1			779
32ba1faaf1SJagdish Gediya#else /* TARGET_FLAVOUR_FPGA */
33ba1faaf1SJagdish Gediya#define MMC_ADDR			1c050000
34ba1faaf1SJagdish Gediya#define MMC_INT_0			107
35ba1faaf1SJagdish Gediya#define MMC_INT_1			108
36ba1faaf1SJagdish Gediya#endif /* TARGET_FLAVOUR_FVP */
37e9e83e96SJackson Cooper-Driver
38e9e83e96SJackson Cooper-Driver#define RTC_ADDR			600a0000
39e9e83e96SJackson Cooper-Driver#define RTC_INT				777
40e9e83e96SJackson Cooper-Driver
41e9e83e96SJackson Cooper-Driver#define KMI_0_ADDR			60100000
42e9e83e96SJackson Cooper-Driver#define KMI_0_INT			784
43e9e83e96SJackson Cooper-Driver#define KMI_1_ADDR			60110000
44e9e83e96SJackson Cooper-Driver#define KMI_1_INT			785
45e9e83e96SJackson Cooper-Driver
46e9e83e96SJackson Cooper-Driver#define VIRTIO_BLOCK_ADDR		60020000
47e9e83e96SJackson Cooper-Driver#define VIRTIO_BLOCK_INT		769
48e9e83e96SJackson Cooper-Driver
49*bb9b8936SJagdish Gediya#if TARGET_FLAVOUR_FPGA
50*bb9b8936SJagdish Gediya#define DPU_ADDR			4000000000
51*bb9b8936SJagdish Gediya#define DPU_IRQ				579
52*bb9b8936SJagdish Gediya#endif
53*bb9b8936SJagdish Gediya
543cedc47bSLeo Yan#include "tc-common.dtsi"
553cedc47bSLeo Yan#if TARGET_FLAVOUR_FVP
563cedc47bSLeo Yan#include "tc-fvp.dtsi"
573cedc47bSLeo Yan#else
583cedc47bSLeo Yan#include "tc-fpga.dtsi"
593cedc47bSLeo Yan#endif /* TARGET_FLAVOUR_FVP */
603cedc47bSLeo Yan#include "tc3-4-base.dtsi"
61b3a4f8cfSLeo Yan
62b3a4f8cfSLeo Yan/ {
6311ec5de6SLeo Yan	smmu_700: iommu@3f000000 {
6411ec5de6SLeo Yan		status = "okay";
6511ec5de6SLeo Yan	};
6611ec5de6SLeo Yan
67e365479dSJackson Cooper-Driver	smmu_700_dpu: iommu@4002a00000 {
68e365479dSJackson Cooper-Driver		status = "okay";
69e365479dSJackson Cooper-Driver	};
70e365479dSJackson Cooper-Driver
71e365479dSJackson Cooper-Driver	dp0: display@DPU_ADDR {
72e365479dSJackson Cooper-Driver		iommus = <&smmu_700_dpu 0x000>, <&smmu_700_dpu 0x100>,
73e365479dSJackson Cooper-Driver			 <&smmu_700_dpu 0x200>, <&smmu_700_dpu 0x600>;
74e365479dSJackson Cooper-Driver	};
75e365479dSJackson Cooper-Driver
76b3a4f8cfSLeo Yan	gpu: gpu@2d000000 {
77b3a4f8cfSLeo Yan		interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH 0>;
78b3a4f8cfSLeo Yan		interrupt-names = "IRQAW";
7911ec5de6SLeo Yan		iommus = <&smmu_700 0x200>;
80b3a4f8cfSLeo Yan	};
8150ad0cfdSJagdish Gediya
8250ad0cfdSJagdish Gediya	dsu-pmu {
8350ad0cfdSJagdish Gediya		interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>;
8450ad0cfdSJagdish Gediya	};
85624deb08SJagdish Gediya
86624deb08SJagdish Gediya	cs-pmu@4 {
87624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
88624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(4) 0x0 0xffc>;
89624deb08SJagdish Gediya	};
90624deb08SJagdish Gediya
91624deb08SJagdish Gediya	cs-pmu@5 {
92624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
93624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(5) 0x0 0xffc>;
94624deb08SJagdish Gediya	};
95624deb08SJagdish Gediya
96624deb08SJagdish Gediya	cs-pmu@6 {
97624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
98624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(6) 0x0 0xffc>;
99624deb08SJagdish Gediya	};
100624deb08SJagdish Gediya
101624deb08SJagdish Gediya	cs-pmu@7 {
102624deb08SJagdish Gediya		compatible = "arm,coresight-pmu";
103624deb08SJagdish Gediya		reg = <0x0 MCN_PMU_ADDR(7) 0x0 0xffc>;
104624deb08SJagdish Gediya	};
105b3a4f8cfSLeo Yan};
106