juno-base.dtsi 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /*
  2. * Devices shared by all Juno boards
  3. */
  4. memtimer: timer@2a810000 {
  5. compatible = "arm,armv7-timer-mem";
  6. reg = <0x0 0x2a810000 0x0 0x10000>;
  7. clock-frequency = <50000000>;
  8. #address-cells = <2>;
  9. #size-cells = <2>;
  10. ranges;
  11. status = "disabled";
  12. frame@2a830000 {
  13. frame-number = <1>;
  14. interrupts = <0 60 4>;
  15. reg = <0x0 0x2a830000 0x0 0x10000>;
  16. };
  17. };
  18. gic: interrupt-controller@2c010000 {
  19. compatible = "arm,gic-400", "arm,cortex-a15-gic";
  20. reg = <0x0 0x2c010000 0 0x1000>,
  21. <0x0 0x2c02f000 0 0x2000>,
  22. <0x0 0x2c04f000 0 0x2000>,
  23. <0x0 0x2c06f000 0 0x2000>;
  24. #address-cells = <2>;
  25. #interrupt-cells = <3>;
  26. #size-cells = <2>;
  27. interrupt-controller;
  28. interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
  29. ranges = <0 0 0 0x2c1c0000 0 0x40000>;
  30. v2m_0: v2m@0 {
  31. compatible = "arm,gic-v2m-frame";
  32. msi-controller;
  33. reg = <0 0 0 0x1000>;
  34. };
  35. };
  36. timer {
  37. compatible = "arm,armv8-timer";
  38. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
  39. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
  40. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
  41. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
  42. };
  43. /include/ "juno-clocks.dtsi"
  44. dma@7ff00000 {
  45. compatible = "arm,pl330", "arm,primecell";
  46. reg = <0x0 0x7ff00000 0 0x1000>;
  47. #dma-cells = <1>;
  48. #dma-channels = <8>;
  49. #dma-requests = <32>;
  50. interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
  51. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
  52. <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
  53. <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
  54. <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
  55. <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
  56. <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
  57. <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  58. clocks = <&soc_faxiclk>;
  59. clock-names = "apb_pclk";
  60. };
  61. soc_uart0: uart@7ff80000 {
  62. compatible = "arm,pl011", "arm,primecell";
  63. reg = <0x0 0x7ff80000 0x0 0x1000>;
  64. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  65. clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
  66. clock-names = "uartclk", "apb_pclk";
  67. };
  68. i2c@7ffa0000 {
  69. compatible = "snps,designware-i2c";
  70. reg = <0x0 0x7ffa0000 0x0 0x1000>;
  71. #address-cells = <1>;
  72. #size-cells = <0>;
  73. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
  74. clock-frequency = <400000>;
  75. i2c-sda-hold-time-ns = <500>;
  76. clocks = <&soc_smc50mhz>;
  77. dvi0: dvi-transmitter@70 {
  78. compatible = "nxp,tda998x";
  79. reg = <0x70>;
  80. };
  81. dvi1: dvi-transmitter@71 {
  82. compatible = "nxp,tda998x";
  83. reg = <0x71>;
  84. };
  85. };
  86. ohci@7ffb0000 {
  87. compatible = "generic-ohci";
  88. reg = <0x0 0x7ffb0000 0x0 0x10000>;
  89. interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
  90. clocks = <&soc_usb48mhz>;
  91. };
  92. ehci@7ffc0000 {
  93. compatible = "generic-ehci";
  94. reg = <0x0 0x7ffc0000 0x0 0x10000>;
  95. interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
  96. clocks = <&soc_usb48mhz>;
  97. };
  98. memory-controller@7ffd0000 {
  99. compatible = "arm,pl354", "arm,primecell";
  100. reg = <0 0x7ffd0000 0 0x1000>;
  101. interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
  102. <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  103. clocks = <&soc_smc50mhz>;
  104. clock-names = "apb_pclk";
  105. };
  106. memory@80000000 {
  107. device_type = "memory";
  108. /* last 16MB of the first memory area is reserved for secure world use by firmware */
  109. reg = <0x00000000 0x80000000 0x0 0x7f000000>,
  110. <0x00000008 0x80000000 0x1 0x80000000>;
  111. };
  112. smb {
  113. compatible = "simple-bus";
  114. #address-cells = <2>;
  115. #size-cells = <1>;
  116. ranges = <0 0 0 0x08000000 0x04000000>,
  117. <1 0 0 0x14000000 0x04000000>,
  118. <2 0 0 0x18000000 0x04000000>,
  119. <3 0 0 0x1c000000 0x04000000>,
  120. <4 0 0 0x0c000000 0x04000000>,
  121. <5 0 0 0x10000000 0x04000000>;
  122. #interrupt-cells = <1>;
  123. interrupt-map-mask = <0 0 15>;
  124. interrupt-map = <0 0 0 &gic 0 0 0 68 IRQ_TYPE_LEVEL_HIGH>,
  125. <0 0 1 &gic 0 0 0 69 IRQ_TYPE_LEVEL_HIGH>,
  126. <0 0 2 &gic 0 0 0 70 IRQ_TYPE_LEVEL_HIGH>,
  127. <0 0 3 &gic 0 0 0 160 IRQ_TYPE_LEVEL_HIGH>,
  128. <0 0 4 &gic 0 0 0 161 IRQ_TYPE_LEVEL_HIGH>,
  129. <0 0 5 &gic 0 0 0 162 IRQ_TYPE_LEVEL_HIGH>,
  130. <0 0 6 &gic 0 0 0 163 IRQ_TYPE_LEVEL_HIGH>,
  131. <0 0 7 &gic 0 0 0 164 IRQ_TYPE_LEVEL_HIGH>,
  132. <0 0 8 &gic 0 0 0 165 IRQ_TYPE_LEVEL_HIGH>,
  133. <0 0 9 &gic 0 0 0 166 IRQ_TYPE_LEVEL_HIGH>,
  134. <0 0 10 &gic 0 0 0 167 IRQ_TYPE_LEVEL_HIGH>,
  135. <0 0 11 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>,
  136. <0 0 12 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>;
  137. /include/ "juno-motherboard.dtsi"
  138. };