integrator.dtsi 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * SoC core Device Tree for the ARM Integrator platforms
  4. */
  5. / {
  6. #address-cells = <1>;
  7. #size-cells = <1>;
  8. memory {
  9. device_type = "memory";
  10. reg = <0x0 0x0>;
  11. };
  12. core-module@10000000 {
  13. compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
  14. reg = <0x10000000 0x200>;
  15. ranges = <0x0 0x10000000 0x200>;
  16. #address-cells = <1>;
  17. #size-cells = <1>;
  18. /* Use core module LED to indicate CPU load */
  19. led@c,0 {
  20. compatible = "register-bit-led";
  21. reg = <0x0c 0x04>;
  22. offset = <0x0c>;
  23. mask = <0x01>;
  24. label = "integrator:core_module";
  25. linux,default-trigger = "cpu0";
  26. default-state = "on";
  27. };
  28. };
  29. ebi@12000000 {
  30. compatible = "arm,external-bus-interface";
  31. reg = <0x12000000 0x100>;
  32. };
  33. timer@13000000 {
  34. reg = <0x13000000 0x100>;
  35. interrupt-parent = <&pic>;
  36. interrupts = <5>;
  37. };
  38. timer@13000100 {
  39. reg = <0x13000100 0x100>;
  40. interrupt-parent = <&pic>;
  41. interrupts = <6>;
  42. };
  43. timer@13000200 {
  44. reg = <0x13000200 0x100>;
  45. interrupt-parent = <&pic>;
  46. interrupts = <7>;
  47. };
  48. pic@14000000 {
  49. compatible = "arm,versatile-fpga-irq";
  50. #interrupt-cells = <1>;
  51. interrupt-controller;
  52. reg = <0x14000000 0x100>;
  53. clear-mask = <0xffffffff>;
  54. };
  55. flash@24000000 {
  56. compatible = "arm,versatile-flash", "cfi-flash";
  57. reg = <0x24000000 0x02000000>;
  58. bank-width = <4>;
  59. partitions {
  60. compatible = "arm,arm-firmware-suite";
  61. };
  62. };
  63. fpga {
  64. compatible = "simple-bus";
  65. #address-cells = <1>;
  66. #size-cells = <1>;
  67. ranges;
  68. interrupt-parent = <&pic>;
  69. /*
  70. * These PrimeCells are in the same locations and using the
  71. * same interrupts in all Integrators, however the silicon
  72. * version deployed is different.
  73. */
  74. rtc@15000000 {
  75. reg = <0x15000000 0x1000>;
  76. interrupts = <8>;
  77. };
  78. uart@16000000 {
  79. reg = <0x16000000 0x1000>;
  80. interrupts = <1>;
  81. };
  82. uart@17000000 {
  83. reg = <0x17000000 0x1000>;
  84. interrupts = <2>;
  85. };
  86. kmi@18000000 {
  87. reg = <0x18000000 0x1000>;
  88. interrupts = <3>;
  89. };
  90. kmi@19000000 {
  91. reg = <0x19000000 0x1000>;
  92. interrupts = <4>;
  93. };
  94. syscon@1a000000 {
  95. /* Debug registers mapped as syscon */
  96. compatible = "syscon", "simple-mfd";
  97. reg = <0x1a000000 0x10>;
  98. ranges = <0x0 0x1a000000 0x10>;
  99. #address-cells = <1>;
  100. #size-cells = <1>;
  101. led@4,0 {
  102. compatible = "register-bit-led";
  103. reg = <0x04 0x04>;
  104. offset = <0x04>;
  105. mask = <0x01>;
  106. label = "integrator:green0";
  107. linux,default-trigger = "heartbeat";
  108. default-state = "on";
  109. };
  110. led@4,1 {
  111. compatible = "register-bit-led";
  112. reg = <0x04 0x04>;
  113. offset = <0x04>;
  114. mask = <0x02>;
  115. label = "integrator:yellow";
  116. default-state = "off";
  117. };
  118. led@4,2 {
  119. compatible = "register-bit-led";
  120. reg = <0x04 0x04>;
  121. offset = <0x04>;
  122. mask = <0x04>;
  123. label = "integrator:red";
  124. default-state = "off";
  125. };
  126. led@4,3 {
  127. compatible = "register-bit-led";
  128. reg = <0x04 0x04>;
  129. offset = <0x04>;
  130. mask = <0x08>;
  131. label = "integrator:green1";
  132. default-state = "off";
  133. };
  134. };
  135. };
  136. };