tc3-4-base.dtsi 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. /*
  2. * Copyright (c) 2020-2024, Arm Limited. All rights reserved.
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. */
  6. #define LIT_CAPACITY 239
  7. #define MID_CAPACITY 686
  8. #define BIG_CAPACITY 1024
  9. #define MHU_TX_COMPAT "arm,mhuv3"
  10. #define MHU_TX_INT_NAME ""
  11. #define MHU_RX_COMPAT "arm,mhuv3"
  12. #define MHU_OFFSET 0x10000
  13. #define MHU_MBOX_CELLS 3
  14. #define MHU_RX_INT_NUM 300
  15. #define MHU_RX_INT_NAME "combined"
  16. #define MPAM_ADDR 0x0 0x5f010000 /* 0x5f01_0000 */
  17. #define UARTCLK_FREQ 3750000
  18. #if TARGET_FLAVOUR_FVP
  19. #define DPU_ADDR 4000000000
  20. #define DPU_IRQ 579
  21. #elif TARGET_FLAVOUR_FPGA
  22. #define DPU_ADDR 2cc00000
  23. #define DPU_IRQ 69
  24. #endif
  25. #include "tc-base.dtsi"
  26. / {
  27. cpus {
  28. CPU2:cpu@200 {
  29. clocks = <&scmi_dvfs 1>;
  30. capacity-dmips-mhz = <MID_CAPACITY>;
  31. };
  32. CPU3:cpu@300 {
  33. clocks = <&scmi_dvfs 1>;
  34. capacity-dmips-mhz = <MID_CAPACITY>;
  35. };
  36. CPU6:cpu@600 {
  37. clocks = <&scmi_dvfs 2>;
  38. capacity-dmips-mhz = <BIG_CAPACITY>;
  39. };
  40. CPU7:cpu@700 {
  41. clocks = <&scmi_dvfs 2>;
  42. capacity-dmips-mhz = <BIG_CAPACITY>;
  43. };
  44. };
  45. rse_mbox_db_rx: mhu@RSE_MHU_RX_ADDR {
  46. compatible = MHU_RX_COMPAT;
  47. reg = <0x0 ADDRESSIFY(RSE_MHU_RX_ADDR) 0x0 MHU_OFFSET>;
  48. clocks = <&soc_refclk>;
  49. clock-names = "apb_pclk";
  50. #mbox-cells = <MHU_MBOX_CELLS>;
  51. interrupts = <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH 0>;
  52. interrupt-names = MHU_RX_INT_NAME;
  53. #if TARGET_FLAVOUR_FPGA
  54. status = "disabled";
  55. #endif
  56. };
  57. rse_mbox_db_tx: mhu@RSE_MHU_TX_ADDR {
  58. compatible = MHU_TX_COMPAT;
  59. reg = <0x0 ADDRESSIFY(RSE_MHU_TX_ADDR) 0x0 MHU_OFFSET>;
  60. clocks = <&soc_refclk>;
  61. clock-names = "apb_pclk";
  62. #mbox-cells = <MHU_MBOX_CELLS>;
  63. interrupt-names = MHU_TX_INT_NAME;
  64. #if TARGET_FLAVOUR_FPGA
  65. status = "disabled";
  66. #endif
  67. };
  68. gic: interrupt-controller@GIC_CTRL_ADDR {
  69. ppi-partitions {
  70. ppi_partition_little: interrupt-partition-0 {
  71. affinity = <&CPU0>, <&CPU1>;
  72. };
  73. ppi_partition_mid: interrupt-partition-1 {
  74. affinity = <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>;
  75. };
  76. ppi_partition_big: interrupt-partition-2 {
  77. affinity = <&CPU6>, <&CPU7>;
  78. };
  79. };
  80. };
  81. sram: sram@6000000 {
  82. cpu_scp_scmi_p2a: scp-shmem@80 {
  83. compatible = "arm,scmi-shmem";
  84. reg = <0x80 0x80>;
  85. };
  86. };
  87. firmware {
  88. scmi {
  89. mboxes = <&mbox_db_tx 0 0 0 &mbox_db_rx 0 0 0 &mbox_db_rx 0 0 1>;
  90. shmem = <&cpu_scp_scmi_a2p &cpu_scp_scmi_p2a>;
  91. };
  92. rse {
  93. compatible = "arm,rse";
  94. mbox-names = "tx", "rx";
  95. mboxes = <&rse_mbox_db_tx 0 0 0>, <&rse_mbox_db_rx 0 0 0>;
  96. #if TARGET_FLAVOUR_FPGA
  97. status = "disabled";
  98. #endif
  99. };
  100. };
  101. dsu-pmu {
  102. compatible = "arm,dsu-pmu";
  103. cpus = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>;
  104. };
  105. cs-pmu@0 {
  106. compatible = "arm,coresight-pmu";
  107. reg = <0x0 MCN_PMU_ADDR(0) 0x0 0xffc>;
  108. };
  109. cs-pmu@1 {
  110. compatible = "arm,coresight-pmu";
  111. reg = <0x0 MCN_PMU_ADDR(1) 0x0 0xffc>;
  112. };
  113. cs-pmu@2 {
  114. compatible = "arm,coresight-pmu";
  115. reg = <0x0 MCN_PMU_ADDR(2) 0x0 0xffc>;
  116. };
  117. cs-pmu@3 {
  118. compatible = "arm,coresight-pmu";
  119. reg = <0x0 MCN_PMU_ADDR(3) 0x0 0xffc>;
  120. };
  121. };