1b3a9737cSLeo Yan/* 2b3a9737cSLeo Yan * Copyright (c) 2020-2024, Arm Limited. All rights reserved. 3b3a9737cSLeo Yan * 4b3a9737cSLeo Yan * SPDX-License-Identifier: BSD-3-Clause 5b3a9737cSLeo Yan */ 6b3a9737cSLeo Yan 7b3a9737cSLeo Yan/dts-v1/; 8b3a9737cSLeo Yan 9b3a9737cSLeo Yan#include <dt-bindings/interrupt-controller/arm-gic.h> 10b3a9737cSLeo Yan#include <dt-bindings/interrupt-controller/irq.h> 11b3a9737cSLeo Yan#include <platform_def.h> 12b3a9737cSLeo Yan 13defcfb2bSLeo Yan#define LIT_CAPACITY 239 14defcfb2bSLeo Yan#define MID_CAPACITY 686 15defcfb2bSLeo Yan#define BIG_CAPACITY 1024 16defcfb2bSLeo Yan 17defcfb2bSLeo Yan#define MHU_TX_ADDR 46040000 /* hex */ 186c069e71SBoyan Karatotev#define MHU_TX_COMPAT "arm,mhuv3" 196c069e71SBoyan Karatotev#define MHU_TX_INT_NAME "" 206c069e71SBoyan Karatotev 21defcfb2bSLeo Yan#define MHU_RX_ADDR 46140000 /* hex */ 226c069e71SBoyan Karatotev#define MHU_RX_COMPAT "arm,mhuv3" 236c069e71SBoyan Karatotev#define MHU_OFFSET 0x10000 246c069e71SBoyan Karatotev#define MHU_MBOX_CELLS 3 256c069e71SBoyan Karatotev#define MHU_RX_INT_NUM 300 266c069e71SBoyan Karatotev#define MHU_RX_INT_NAME "combined-mbx" 276c069e71SBoyan Karatotev 28defcfb2bSLeo Yan#define MPAM_ADDR 0x0 0x5f010000 /* 0x5f01_0000 */ 29defcfb2bSLeo Yan#define UARTCLK_FREQ 3750000 30defcfb2bSLeo Yan 31defcfb2bSLeo Yan#if TARGET_FLAVOUR_FVP 32defcfb2bSLeo Yan#define DPU_ADDR 4000000000 33defcfb2bSLeo Yan#define DPU_IRQ 579 34defcfb2bSLeo Yan#elif TARGET_FLAVOUR_FPGA 35defcfb2bSLeo Yan#define DPU_ADDR 2cc00000 36defcfb2bSLeo Yan#define DPU_IRQ 69 37defcfb2bSLeo Yan#endif 38defcfb2bSLeo Yan 39b3a9737cSLeo Yan#include "tc-common.dtsi" 40b3a9737cSLeo Yan#if TARGET_FLAVOUR_FVP 41b3a9737cSLeo Yan#include "tc-fvp.dtsi" 424e772e6bSLeo Yan#else 434e772e6bSLeo Yan#include "tc-fpga.dtsi" 44b3a9737cSLeo Yan#endif /* TARGET_FLAVOUR_FVP */ 45b3a9737cSLeo Yan#include "tc-base.dtsi" 46f9565b2aSLeo Yan 47f9565b2aSLeo Yan/ { 48f9565b2aSLeo Yan cpus { 49f9565b2aSLeo Yan CPU2:cpu@200 { 50f9565b2aSLeo Yan clocks = <&scmi_dvfs 1>; 51f9565b2aSLeo Yan capacity-dmips-mhz = <MID_CAPACITY>; 52f9565b2aSLeo Yan }; 53f9565b2aSLeo Yan 54f9565b2aSLeo Yan CPU3:cpu@300 { 55f9565b2aSLeo Yan clocks = <&scmi_dvfs 1>; 56f9565b2aSLeo Yan capacity-dmips-mhz = <MID_CAPACITY>; 57f9565b2aSLeo Yan }; 58f9565b2aSLeo Yan 59f9565b2aSLeo Yan CPU6:cpu@600 { 60f9565b2aSLeo Yan clocks = <&scmi_dvfs 2>; 61f9565b2aSLeo Yan capacity-dmips-mhz = <BIG_CAPACITY>; 62f9565b2aSLeo Yan }; 63f9565b2aSLeo Yan 64f9565b2aSLeo Yan CPU7:cpu@700 { 65f9565b2aSLeo Yan clocks = <&scmi_dvfs 2>; 66f9565b2aSLeo Yan capacity-dmips-mhz = <BIG_CAPACITY>; 67f9565b2aSLeo Yan }; 68f9565b2aSLeo Yan }; 69f9565b2aSLeo Yan 70f9565b2aSLeo Yan cpu-pmu { 71f9565b2aSLeo Yan interrupt-affinity = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>, 72f9565b2aSLeo Yan <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>; 73f9565b2aSLeo Yan }; 74f2596ff1SBoyan Karatotev 75f2596ff1SBoyan Karatotev sram: sram@6000000 { 76f2596ff1SBoyan Karatotev cpu_scp_scmi_p2a: scp-shmem@80 { 77f2596ff1SBoyan Karatotev compatible = "arm,scmi-shmem"; 78f2596ff1SBoyan Karatotev reg = <0x80 0x80>; 79f2596ff1SBoyan Karatotev }; 80f2596ff1SBoyan Karatotev }; 81f2596ff1SBoyan Karatotev 82f2596ff1SBoyan Karatotev firmware { 83f2596ff1SBoyan Karatotev scmi { 84f2596ff1SBoyan Karatotev mboxes = <&mbox_db_tx 0 0 0 &mbox_db_rx 0 0 0 &mbox_db_rx 0 0 1>; 85f2596ff1SBoyan Karatotev shmem = <&cpu_scp_scmi_a2p &cpu_scp_scmi_p2a>; 86f2596ff1SBoyan Karatotev }; 87f2596ff1SBoyan Karatotev }; 88*2458b387SLeo Yan 89*2458b387SLeo Yan#if TARGET_FLAVOUR_FVP 90*2458b387SLeo Yan smmu_700: iommu@3f000000 { 91*2458b387SLeo Yan status = "okay"; 92*2458b387SLeo Yan }; 93*2458b387SLeo Yan#endif 94*2458b387SLeo Yan 95*2458b387SLeo Yan gpu: gpu@2d000000 { 96*2458b387SLeo Yan#if TARGET_FLAVOUR_FVP 97*2458b387SLeo Yan iommus = <&smmu_700 0x200>; 98*2458b387SLeo Yan#endif 99*2458b387SLeo Yan }; 100f9565b2aSLeo Yan}; 101