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