k3-j721e.dtsi 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for J721E SoC Family
  4. *
  5. * Copyright (C) 2016-2019 Texas Instruments Incorporated - https://www.ti.com/
  6. */
  7. #include <dt-bindings/interrupt-controller/irq.h>
  8. #include <dt-bindings/interrupt-controller/arm-gic.h>
  9. #include <dt-bindings/pinctrl/k3.h>
  10. #include <dt-bindings/soc/ti,sci_pm_domain.h>
  11. / {
  12. model = "Texas Instruments K3 J721E SoC";
  13. compatible = "ti,j721e";
  14. interrupt-parent = <&gic500>;
  15. #address-cells = <2>;
  16. #size-cells = <2>;
  17. aliases {
  18. serial0 = &wkup_uart0;
  19. serial1 = &mcu_uart0;
  20. serial2 = &main_uart0;
  21. serial3 = &main_uart1;
  22. serial4 = &main_uart2;
  23. serial5 = &main_uart3;
  24. serial6 = &main_uart4;
  25. serial7 = &main_uart5;
  26. serial8 = &main_uart6;
  27. serial9 = &main_uart7;
  28. serial10 = &main_uart8;
  29. serial11 = &main_uart9;
  30. ethernet0 = &cpsw_port1;
  31. mmc0 = &main_sdhci0;
  32. mmc1 = &main_sdhci1;
  33. mmc2 = &main_sdhci2;
  34. };
  35. chosen { };
  36. cpus {
  37. #address-cells = <1>;
  38. #size-cells = <0>;
  39. cpu-map {
  40. cluster0: cluster0 {
  41. core0 {
  42. cpu = <&cpu0>;
  43. };
  44. core1 {
  45. cpu = <&cpu1>;
  46. };
  47. };
  48. };
  49. cpu0: cpu@0 {
  50. compatible = "arm,cortex-a72";
  51. reg = <0x000>;
  52. device_type = "cpu";
  53. enable-method = "psci";
  54. i-cache-size = <0xC000>;
  55. i-cache-line-size = <64>;
  56. i-cache-sets = <256>;
  57. d-cache-size = <0x8000>;
  58. d-cache-line-size = <64>;
  59. d-cache-sets = <256>;
  60. next-level-cache = <&L2_0>;
  61. };
  62. cpu1: cpu@1 {
  63. compatible = "arm,cortex-a72";
  64. reg = <0x001>;
  65. device_type = "cpu";
  66. enable-method = "psci";
  67. i-cache-size = <0xC000>;
  68. i-cache-line-size = <64>;
  69. i-cache-sets = <256>;
  70. d-cache-size = <0x8000>;
  71. d-cache-line-size = <64>;
  72. d-cache-sets = <256>;
  73. next-level-cache = <&L2_0>;
  74. };
  75. };
  76. L2_0: l2-cache0 {
  77. compatible = "cache";
  78. cache-level = <2>;
  79. cache-size = <0x100000>;
  80. cache-line-size = <64>;
  81. cache-sets = <1024>;
  82. next-level-cache = <&msmc_l3>;
  83. };
  84. msmc_l3: l3-cache0 {
  85. compatible = "cache";
  86. cache-level = <3>;
  87. };
  88. firmware {
  89. optee {
  90. compatible = "linaro,optee-tz";
  91. method = "smc";
  92. };
  93. psci: psci {
  94. compatible = "arm,psci-1.0";
  95. method = "smc";
  96. };
  97. };
  98. a72_timer0: timer-cl0-cpu0 {
  99. compatible = "arm,armv8-timer";
  100. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */
  101. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */
  102. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */
  103. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */
  104. };
  105. pmu: pmu {
  106. compatible = "arm,cortex-a72-pmu";
  107. /* Recommendation from GIC500 TRM Table A.3 */
  108. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
  109. };
  110. cbass_main: bus@100000 {
  111. compatible = "simple-bus";
  112. #address-cells = <2>;
  113. #size-cells = <2>;
  114. ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */
  115. <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */
  116. <0x00 0x00900000 0x00 0x00900000 0x00 0x00012000>, /* serdes */
  117. <0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */
  118. <0x00 0x06000000 0x00 0x06000000 0x00 0x00400000>, /* USBSS0 */
  119. <0x00 0x06400000 0x00 0x06400000 0x00 0x00400000>, /* USBSS1 */
  120. <0x00 0x01000000 0x00 0x01000000 0x00 0x0af02400>, /* Most peripherals */
  121. <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
  122. <0x00 0x0d000000 0x00 0x0d000000 0x00 0x01800000>, /* PCIe Core*/
  123. <0x00 0x0e000000 0x00 0x0e000000 0x00 0x01800000>, /* PCIe Core*/
  124. <0x00 0x10000000 0x00 0x10000000 0x00 0x10000000>, /* PCIe DAT */
  125. <0x00 0x64800000 0x00 0x64800000 0x00 0x00800000>, /* C71 */
  126. <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */
  127. <0x44 0x00000000 0x44 0x00000000 0x00 0x08000000>, /* PCIe2 DAT */
  128. <0x44 0x10000000 0x44 0x10000000 0x00 0x08000000>, /* PCIe3 DAT */
  129. <0x4d 0x80800000 0x4d 0x80800000 0x00 0x00800000>, /* C66_0 */
  130. <0x4d 0x81800000 0x4d 0x81800000 0x00 0x00800000>, /* C66_1 */
  131. <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */
  132. <0x00 0x70000000 0x00 0x70000000 0x00 0x00800000>, /* MSMC RAM */
  133. /* MCUSS_WKUP Range */
  134. <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>,
  135. <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>,
  136. <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>,
  137. <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>,
  138. <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>,
  139. <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>,
  140. <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>,
  141. <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>,
  142. <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>,
  143. <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>,
  144. <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>,
  145. <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>,
  146. <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>;
  147. cbass_mcu_wakeup: bus@28380000 {
  148. compatible = "simple-bus";
  149. #address-cells = <2>;
  150. #size-cells = <2>;
  151. ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/
  152. <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */
  153. <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */
  154. <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */
  155. <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */
  156. <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */
  157. <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */
  158. <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */
  159. <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */
  160. <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */
  161. <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS OSPI0/1 data region 0 */
  162. <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, /* FSS OSPI0 data region 3 */
  163. <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; /* FSS OSPI1 data region 3*/
  164. };
  165. };
  166. };
  167. /* Now include the peripherals for each bus segments */
  168. #include "k3-j721e-main.dtsi"
  169. #include "k3-j721e-mcu-wakeup.dtsi"