exynos5420-cpus.dtsi 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Samsung Exynos5420 SoC cpu device tree source
  4. *
  5. * Copyright (c) 2015 Samsung Electronics Co., Ltd.
  6. * http://www.samsung.com
  7. *
  8. * This file provides desired ordering for Exynos5420 and Exynos5800
  9. * boards: CPU[0123] being the A15.
  10. *
  11. * The Exynos5420, 5422 and 5800 actually share the same CPU configuration
  12. * but particular boards choose different booting order.
  13. *
  14. * Exynos5420 and Exynos5800 always boot from Cortex-A15. On Exynos5422
  15. * booting cluster (big or LITTLE) is chosen by IROM code by reading
  16. * the gpg2-1 GPIO. By default all Exynos5422 based boards choose booting
  17. * from the LITTLE: Cortex-A7.
  18. */
  19. / {
  20. cpus {
  21. #address-cells = <1>;
  22. #size-cells = <0>;
  23. cpu-map {
  24. cluster0 {
  25. core0 {
  26. cpu = <&cpu0>;
  27. };
  28. core1 {
  29. cpu = <&cpu1>;
  30. };
  31. core2 {
  32. cpu = <&cpu2>;
  33. };
  34. core3 {
  35. cpu = <&cpu3>;
  36. };
  37. };
  38. cluster1 {
  39. core0 {
  40. cpu = <&cpu4>;
  41. };
  42. core1 {
  43. cpu = <&cpu5>;
  44. };
  45. core2 {
  46. cpu = <&cpu6>;
  47. };
  48. core3 {
  49. cpu = <&cpu7>;
  50. };
  51. };
  52. };
  53. cpu0: cpu@0 {
  54. device_type = "cpu";
  55. compatible = "arm,cortex-a15";
  56. reg = <0x0>;
  57. clocks = <&clock CLK_ARM_CLK>;
  58. clock-frequency = <1800000000>;
  59. cci-control-port = <&cci_control1>;
  60. operating-points-v2 = <&cluster_a15_opp_table>;
  61. #cooling-cells = <2>; /* min followed by max */
  62. capacity-dmips-mhz = <1024>;
  63. };
  64. cpu1: cpu@1 {
  65. device_type = "cpu";
  66. compatible = "arm,cortex-a15";
  67. reg = <0x1>;
  68. clocks = <&clock CLK_ARM_CLK>;
  69. clock-frequency = <1800000000>;
  70. cci-control-port = <&cci_control1>;
  71. operating-points-v2 = <&cluster_a15_opp_table>;
  72. #cooling-cells = <2>; /* min followed by max */
  73. capacity-dmips-mhz = <1024>;
  74. };
  75. cpu2: cpu@2 {
  76. device_type = "cpu";
  77. compatible = "arm,cortex-a15";
  78. reg = <0x2>;
  79. clocks = <&clock CLK_ARM_CLK>;
  80. clock-frequency = <1800000000>;
  81. cci-control-port = <&cci_control1>;
  82. operating-points-v2 = <&cluster_a15_opp_table>;
  83. #cooling-cells = <2>; /* min followed by max */
  84. capacity-dmips-mhz = <1024>;
  85. };
  86. cpu3: cpu@3 {
  87. device_type = "cpu";
  88. compatible = "arm,cortex-a15";
  89. reg = <0x3>;
  90. clocks = <&clock CLK_ARM_CLK>;
  91. clock-frequency = <1800000000>;
  92. cci-control-port = <&cci_control1>;
  93. operating-points-v2 = <&cluster_a15_opp_table>;
  94. #cooling-cells = <2>; /* min followed by max */
  95. capacity-dmips-mhz = <1024>;
  96. };
  97. cpu4: cpu@100 {
  98. device_type = "cpu";
  99. compatible = "arm,cortex-a7";
  100. reg = <0x100>;
  101. clocks = <&clock CLK_KFC_CLK>;
  102. clock-frequency = <1000000000>;
  103. cci-control-port = <&cci_control0>;
  104. operating-points-v2 = <&cluster_a7_opp_table>;
  105. #cooling-cells = <2>; /* min followed by max */
  106. capacity-dmips-mhz = <539>;
  107. };
  108. cpu5: cpu@101 {
  109. device_type = "cpu";
  110. compatible = "arm,cortex-a7";
  111. reg = <0x101>;
  112. clocks = <&clock CLK_KFC_CLK>;
  113. clock-frequency = <1000000000>;
  114. cci-control-port = <&cci_control0>;
  115. operating-points-v2 = <&cluster_a7_opp_table>;
  116. #cooling-cells = <2>; /* min followed by max */
  117. capacity-dmips-mhz = <539>;
  118. };
  119. cpu6: cpu@102 {
  120. device_type = "cpu";
  121. compatible = "arm,cortex-a7";
  122. reg = <0x102>;
  123. clocks = <&clock CLK_KFC_CLK>;
  124. clock-frequency = <1000000000>;
  125. cci-control-port = <&cci_control0>;
  126. operating-points-v2 = <&cluster_a7_opp_table>;
  127. #cooling-cells = <2>; /* min followed by max */
  128. capacity-dmips-mhz = <539>;
  129. };
  130. cpu7: cpu@103 {
  131. device_type = "cpu";
  132. compatible = "arm,cortex-a7";
  133. reg = <0x103>;
  134. clocks = <&clock CLK_KFC_CLK>;
  135. clock-frequency = <1000000000>;
  136. cci-control-port = <&cci_control0>;
  137. operating-points-v2 = <&cluster_a7_opp_table>;
  138. #cooling-cells = <2>; /* min followed by max */
  139. capacity-dmips-mhz = <539>;
  140. };
  141. };
  142. };
  143. &arm_a7_pmu {
  144. interrupt-affinity = <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
  145. status = "okay";
  146. };
  147. &arm_a15_pmu {
  148. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  149. status = "okay";
  150. };