k3-j721s2.dtsi 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for J721S2 SoC Family
  4. *
  5. * TRM (SPRUJ28 – NOVEMBER 2021) : http://www.ti.com/lit/pdf/spruj28
  6. *
  7. * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
  8. *
  9. */
  10. #include <dt-bindings/interrupt-controller/irq.h>
  11. #include <dt-bindings/interrupt-controller/arm-gic.h>
  12. #include <dt-bindings/pinctrl/k3.h>
  13. #include <dt-bindings/soc/ti,sci_pm_domain.h>
  14. / {
  15. model = "Texas Instruments K3 J721S2 SoC";
  16. compatible = "ti,j721s2";
  17. interrupt-parent = <&gic500>;
  18. #address-cells = <2>;
  19. #size-cells = <2>;
  20. chosen { };
  21. cpus {
  22. #address-cells = <1>;
  23. #size-cells = <0>;
  24. cpu-map {
  25. cluster0: cluster0 {
  26. core0 {
  27. cpu = <&cpu0>;
  28. };
  29. core1 {
  30. cpu = <&cpu1>;
  31. };
  32. };
  33. };
  34. cpu0: cpu@0 {
  35. compatible = "arm,cortex-a72";
  36. reg = <0x000>;
  37. device_type = "cpu";
  38. enable-method = "psci";
  39. i-cache-size = <0xc000>;
  40. i-cache-line-size = <64>;
  41. i-cache-sets = <256>;
  42. d-cache-size = <0x8000>;
  43. d-cache-line-size = <64>;
  44. d-cache-sets = <256>;
  45. next-level-cache = <&L2_0>;
  46. };
  47. cpu1: cpu@1 {
  48. compatible = "arm,cortex-a72";
  49. reg = <0x001>;
  50. device_type = "cpu";
  51. enable-method = "psci";
  52. i-cache-size = <0xc000>;
  53. i-cache-line-size = <64>;
  54. i-cache-sets = <256>;
  55. d-cache-size = <0x8000>;
  56. d-cache-line-size = <64>;
  57. d-cache-sets = <256>;
  58. next-level-cache = <&L2_0>;
  59. };
  60. };
  61. L2_0: l2-cache0 {
  62. compatible = "cache";
  63. cache-level = <2>;
  64. cache-size = <0x100000>;
  65. cache-line-size = <64>;
  66. cache-sets = <1024>;
  67. next-level-cache = <&msmc_l3>;
  68. };
  69. msmc_l3: l3-cache0 {
  70. compatible = "cache";
  71. cache-level = <3>;
  72. };
  73. firmware {
  74. optee {
  75. compatible = "linaro,optee-tz";
  76. method = "smc";
  77. };
  78. psci: psci {
  79. compatible = "arm,psci-1.0";
  80. method = "smc";
  81. };
  82. };
  83. a72_timer0: timer-cl0-cpu0 {
  84. compatible = "arm,armv8-timer";
  85. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */
  86. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */
  87. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */
  88. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */
  89. };
  90. pmu: pmu {
  91. compatible = "arm,cortex-a72-pmu";
  92. /* Recommendation from GIC500 TRM Table A.3 */
  93. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
  94. };
  95. cbass_main: bus@100000 {
  96. compatible = "simple-bus";
  97. #address-cells = <2>;
  98. #size-cells = <2>;
  99. ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */
  100. <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */
  101. <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
  102. <0x00 0x0d800000 0x00 0x0d800000 0x00 0x00800000>, /* PCIe Core*/
  103. <0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */
  104. <0x00 0x64800000 0x00 0x64800000 0x00 0x0070c000>, /* C71_1 */
  105. <0x00 0x65800000 0x00 0x65800000 0x00 0x0070c000>, /* C71_2 */
  106. <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */
  107. <0x00 0x70000000 0x00 0x70000000 0x00 0x00400000>, /* MSMC RAM */
  108. <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
  109. <0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */
  110. <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */
  111. /* MCUSS_WKUP Range */
  112. <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>,
  113. <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>,
  114. <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>,
  115. <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>,
  116. <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>,
  117. <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>,
  118. <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>,
  119. <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>,
  120. <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>,
  121. <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>,
  122. <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>,
  123. <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>,
  124. <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>;
  125. cbass_mcu_wakeup: bus@28380000 {
  126. compatible = "simple-bus";
  127. #address-cells = <2>;
  128. #size-cells = <2>;
  129. ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/
  130. <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */
  131. <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */
  132. <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */
  133. <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */
  134. <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */
  135. <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */
  136. <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */
  137. <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */
  138. <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */
  139. <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS OSPI0/1 data region 0 */
  140. <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, /* FSS OSPI0 data region 3 */
  141. <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; /* FSS OSPI1 data region 3*/
  142. };
  143. };
  144. };
  145. /* Now include peripherals from each bus segment */
  146. #include "k3-j721s2-main.dtsi"
  147. #include "k3-j721s2-mcu-wakeup.dtsi"