exynos5422-cpus.dtsi 4.2 KB

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