k3-j7200.dtsi 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for J7200 SoC Family
  4. *
  5. * Copyright (C) 2020 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 J7200 SoC";
  13. compatible = "ti,j7200";
  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. mmc0 = &main_sdhci0;
  31. mmc1 = &main_sdhci1;
  32. };
  33. chosen { };
  34. cpus {
  35. #address-cells = <1>;
  36. #size-cells = <0>;
  37. cpu-map {
  38. cluster0: cluster0 {
  39. core0 {
  40. cpu = <&cpu0>;
  41. };
  42. core1 {
  43. cpu = <&cpu1>;
  44. };
  45. };
  46. };
  47. cpu0: cpu@0 {
  48. compatible = "arm,cortex-a72";
  49. reg = <0x000>;
  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. cpu1: cpu@1 {
  61. compatible = "arm,cortex-a72";
  62. reg = <0x001>;
  63. device_type = "cpu";
  64. enable-method = "psci";
  65. i-cache-size = <0xc000>;
  66. i-cache-line-size = <64>;
  67. i-cache-sets = <256>;
  68. d-cache-size = <0x8000>;
  69. d-cache-line-size = <64>;
  70. d-cache-sets = <256>;
  71. next-level-cache = <&L2_0>;
  72. };
  73. };
  74. L2_0: l2-cache0 {
  75. compatible = "cache";
  76. cache-level = <2>;
  77. cache-size = <0x100000>;
  78. cache-line-size = <64>;
  79. cache-sets = <1024>;
  80. next-level-cache = <&msmc_l3>;
  81. };
  82. msmc_l3: l3-cache0 {
  83. compatible = "cache";
  84. cache-level = <3>;
  85. };
  86. firmware {
  87. optee {
  88. compatible = "linaro,optee-tz";
  89. method = "smc";
  90. };
  91. psci: psci {
  92. compatible = "arm,psci-1.0";
  93. method = "smc";
  94. };
  95. };
  96. a72_timer0: timer-cl0-cpu0 {
  97. compatible = "arm,armv8-timer";
  98. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */
  99. <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */
  100. <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */
  101. <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */
  102. };
  103. pmu: pmu {
  104. compatible = "arm,cortex-a72-pmu";
  105. interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
  106. };
  107. cbass_main: bus@100000 {
  108. compatible = "simple-bus";
  109. #address-cells = <2>;
  110. #size-cells = <2>;
  111. ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */
  112. <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */
  113. <0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */
  114. <0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
  115. <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
  116. <0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */
  117. <0x00 0x70000000 0x00 0x70000000 0x00 0x00800000>, /* MSMC RAM */
  118. <0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */
  119. <0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */
  120. /* MCUSS_WKUP Range */
  121. <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>,
  122. <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>,
  123. <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>,
  124. <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>,
  125. <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>,
  126. <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>,
  127. <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>,
  128. <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>,
  129. <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>,
  130. <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>,
  131. <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>,
  132. <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>,
  133. <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>;
  134. cbass_mcu_wakeup: bus@28380000 {
  135. compatible = "simple-bus";
  136. #address-cells = <2>;
  137. #size-cells = <2>;
  138. ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/
  139. <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */
  140. <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */
  141. <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */
  142. <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */
  143. <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */
  144. <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */
  145. <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */
  146. <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */
  147. <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */
  148. <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS OSPI0/1 data region 0 */
  149. <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, /* FSS OSPI0 data region 3 */
  150. <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; /* FSS OSPI1 data region 3 */
  151. };
  152. };
  153. };
  154. /* Now include the peripherals for each bus segments */
  155. #include "k3-j7200-main.dtsi"
  156. #include "k3-j7200-mcu-wakeup.dtsi"