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