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 75*1401a42cSJagdish Gediya cs-pmu@0 { 76*1401a42cSJagdish Gediya compatible = "arm,coresight-pmu"; 77*1401a42cSJagdish Gediya reg = <0x0 MCN_PMU_ADDR(0) 0x0 0xffc>; 78*1401a42cSJagdish Gediya }; 79*1401a42cSJagdish Gediya 80*1401a42cSJagdish Gediya cs-pmu@1 { 81*1401a42cSJagdish Gediya compatible = "arm,coresight-pmu"; 82*1401a42cSJagdish Gediya reg = <0x0 MCN_PMU_ADDR(1) 0x0 0xffc>; 83*1401a42cSJagdish Gediya }; 84*1401a42cSJagdish Gediya 85*1401a42cSJagdish Gediya cs-pmu@2 { 86*1401a42cSJagdish Gediya compatible = "arm,coresight-pmu"; 87*1401a42cSJagdish Gediya reg = <0x0 MCN_PMU_ADDR(2) 0x0 0xffc>; 88*1401a42cSJagdish Gediya }; 89*1401a42cSJagdish Gediya 90*1401a42cSJagdish Gediya cs-pmu@3 { 91*1401a42cSJagdish Gediya compatible = "arm,coresight-pmu"; 92*1401a42cSJagdish Gediya reg = <0x0 MCN_PMU_ADDR(3) 0x0 0xffc>; 93*1401a42cSJagdish Gediya }; 94*1401a42cSJagdish Gediya 95f2596ff1SBoyan Karatotev sram: sram@6000000 { 96f2596ff1SBoyan Karatotev cpu_scp_scmi_p2a: scp-shmem@80 { 97f2596ff1SBoyan Karatotev compatible = "arm,scmi-shmem"; 98f2596ff1SBoyan Karatotev reg = <0x80 0x80>; 99f2596ff1SBoyan Karatotev }; 100f2596ff1SBoyan Karatotev }; 101f2596ff1SBoyan Karatotev 102f2596ff1SBoyan Karatotev firmware { 103f2596ff1SBoyan Karatotev scmi { 104f2596ff1SBoyan Karatotev mboxes = <&mbox_db_tx 0 0 0 &mbox_db_rx 0 0 0 &mbox_db_rx 0 0 1>; 105f2596ff1SBoyan Karatotev shmem = <&cpu_scp_scmi_a2p &cpu_scp_scmi_p2a>; 106f2596ff1SBoyan Karatotev }; 107f2596ff1SBoyan Karatotev }; 108f9565b2aSLeo Yan}; 109