blob: ef8713a5c2dcebe2cfaeb66bdfd925b9ae7138af [file] [log] [blame]
Leo Yan3cedc472024-04-30 11:27:17 +01001/*
2 * Copyright (c) 2020-2024, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#define LIT_CAPACITY 239
8#define MID_CAPACITY 686
9#define BIG_CAPACITY 1024
10
11#define MHU_TX_COMPAT "arm,mhuv3"
12#define MHU_TX_INT_NAME ""
13
14#define MHU_RX_COMPAT "arm,mhuv3"
15#define MHU_OFFSET 0x10000
16#define MHU_MBOX_CELLS 3
17#define MHU_RX_INT_NUM 300
Leo Yan1bf33252024-11-11 10:29:17 +000018#define MHU_RX_INT_NAME "combined"
Leo Yan3cedc472024-04-30 11:27:17 +010019
Jackson Cooper-Driver967999d2024-08-28 11:46:35 +010020#define DSU_MPAM_ADDR 0x0 0x5f010000 /* 0x5f01_0000 */
Leo Yan3cedc472024-04-30 11:27:17 +010021
22#if TARGET_FLAVOUR_FVP
23#define DPU_ADDR 4000000000
24#define DPU_IRQ 579
Leo Yan3cedc472024-04-30 11:27:17 +010025#endif
Jagdish Gediyabb9b8932024-07-01 05:29:19 +000026
Leo Yan3cedc472024-04-30 11:27:17 +010027#include "tc-base.dtsi"
28
29/ {
30 cpus {
31 CPU2:cpu@200 {
32 clocks = <&scmi_dvfs 1>;
33 capacity-dmips-mhz = <MID_CAPACITY>;
34 };
35
36 CPU3:cpu@300 {
37 clocks = <&scmi_dvfs 1>;
38 capacity-dmips-mhz = <MID_CAPACITY>;
39 };
40
41 CPU6:cpu@600 {
42 clocks = <&scmi_dvfs 2>;
43 capacity-dmips-mhz = <BIG_CAPACITY>;
44 };
45
46 CPU7:cpu@700 {
47 clocks = <&scmi_dvfs 2>;
48 capacity-dmips-mhz = <BIG_CAPACITY>;
49 };
50 };
51
Yu Shihai06fa4c42024-07-08 09:50:02 +010052 rse_mbox_db_rx: mhu@RSE_MHU_RX_ADDR {
53 compatible = MHU_RX_COMPAT;
54 reg = <0x0 ADDRESSIFY(RSE_MHU_RX_ADDR) 0x0 MHU_OFFSET>;
55 clocks = <&soc_refclk>;
56 clock-names = "apb_pclk";
57 #mbox-cells = <MHU_MBOX_CELLS>;
58 interrupts = <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH 0>;
59 interrupt-names = MHU_RX_INT_NAME;
60#if TARGET_FLAVOUR_FPGA
61 status = "disabled";
62#endif
63 };
64
65 rse_mbox_db_tx: mhu@RSE_MHU_TX_ADDR {
66 compatible = MHU_TX_COMPAT;
67 reg = <0x0 ADDRESSIFY(RSE_MHU_TX_ADDR) 0x0 MHU_OFFSET>;
68 clocks = <&soc_refclk>;
69 clock-names = "apb_pclk";
70 #mbox-cells = <MHU_MBOX_CELLS>;
71 interrupt-names = MHU_TX_INT_NAME;
72#if TARGET_FLAVOUR_FPGA
73 status = "disabled";
74#endif
75 };
76
Leo Yan3cedc472024-04-30 11:27:17 +010077 gic: interrupt-controller@GIC_CTRL_ADDR {
78 ppi-partitions {
79 ppi_partition_little: interrupt-partition-0 {
80 affinity = <&CPU0>, <&CPU1>;
81 };
82
83 ppi_partition_mid: interrupt-partition-1 {
84 affinity = <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>;
85 };
86
87 ppi_partition_big: interrupt-partition-2 {
88 affinity = <&CPU6>, <&CPU7>;
89 };
90 };
91 };
92
93 sram: sram@6000000 {
94 cpu_scp_scmi_p2a: scp-shmem@80 {
95 compatible = "arm,scmi-shmem";
96 reg = <0x80 0x80>;
97 };
98 };
99
100 firmware {
101 scmi {
102 mboxes = <&mbox_db_tx 0 0 0 &mbox_db_rx 0 0 0 &mbox_db_rx 0 0 1>;
103 shmem = <&cpu_scp_scmi_a2p &cpu_scp_scmi_p2a>;
104 };
Yu Shihai06fa4c42024-07-08 09:50:02 +0100105
106 rse {
107 compatible = "arm,rse";
108 mbox-names = "tx", "rx";
109 mboxes = <&rse_mbox_db_tx 0 0 0>, <&rse_mbox_db_rx 0 0 0>;
110#if TARGET_FLAVOUR_FPGA
111 status = "disabled";
112#endif
113 };
Leo Yan3cedc472024-04-30 11:27:17 +0100114 };
Jagdish Gediya50ad0cf2024-06-19 03:37:48 +0000115
116 dsu-pmu {
117 compatible = "arm,dsu-pmu";
118 cpus = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>;
119 };
Jagdish Gediya624deb02024-06-19 08:52:48 +0000120
121 cs-pmu@0 {
122 compatible = "arm,coresight-pmu";
123 reg = <0x0 MCN_PMU_ADDR(0) 0x0 0xffc>;
124 };
125
126 cs-pmu@1 {
127 compatible = "arm,coresight-pmu";
128 reg = <0x0 MCN_PMU_ADDR(1) 0x0 0xffc>;
129 };
130
131 cs-pmu@2 {
132 compatible = "arm,coresight-pmu";
133 reg = <0x0 MCN_PMU_ADDR(2) 0x0 0xffc>;
134 };
135
136 cs-pmu@3 {
137 compatible = "arm,coresight-pmu";
138 reg = <0x0 MCN_PMU_ADDR(3) 0x0 0xffc>;
139 };
Leo Yan3cedc472024-04-30 11:27:17 +0100140};