integratorap.dts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /*
  2. * Device Tree for the ARM Integrator/AP platform
  3. */
  4. /dts-v1/;
  5. /include/ "integrator.dtsi"
  6. / {
  7. model = "ARM Integrator/AP";
  8. compatible = "arm,integrator-ap";
  9. aliases {
  10. arm,timer-primary = &timer2;
  11. arm,timer-secondary = &timer1;
  12. };
  13. chosen {
  14. bootargs = "root=/dev/ram0 console=ttyAM0,38400n8 earlyprintk";
  15. };
  16. syscon {
  17. compatible = "arm,integrator-ap-syscon";
  18. reg = <0x11000000 0x100>;
  19. interrupt-parent = <&pic>;
  20. /* These are the logical module IRQs */
  21. interrupts = <9>, <10>, <11>, <12>;
  22. };
  23. timer0: timer@13000000 {
  24. compatible = "arm,integrator-timer";
  25. };
  26. timer1: timer@13000100 {
  27. compatible = "arm,integrator-timer";
  28. };
  29. timer2: timer@13000200 {
  30. compatible = "arm,integrator-timer";
  31. };
  32. pic: pic@14000000 {
  33. valid-mask = <0x003fffff>;
  34. };
  35. pci: pciv3@62000000 {
  36. compatible = "v3,v360epc-pci";
  37. #interrupt-cells = <1>;
  38. #size-cells = <2>;
  39. #address-cells = <3>;
  40. reg = <0x62000000 0x10000>;
  41. interrupt-parent = <&pic>;
  42. interrupts = <17>; /* Bus error IRQ */
  43. ranges = <0x00000000 0 0x61000000 /* config space */
  44. 0x61000000 0 0x00100000 /* 16 MiB @ 61000000 */
  45. 0x01000000 0 0x0 /* I/O space */
  46. 0x60000000 0 0x00100000 /* 16 MiB @ 60000000 */
  47. 0x02000000 0 0x00000000 /* non-prefectable memory */
  48. 0x40000000 0 0x10000000 /* 256 MiB @ 40000000 */
  49. 0x42000000 0 0x10000000 /* prefetchable memory */
  50. 0x50000000 0 0x10000000>; /* 256 MiB @ 50000000 */
  51. interrupt-map-mask = <0xf800 0 0 0x7>;
  52. interrupt-map = <
  53. /* IDSEL 9 */
  54. 0x4800 0 0 1 &pic 13 /* INT A on slot 9 is irq 13 */
  55. 0x4800 0 0 2 &pic 14 /* INT B on slot 9 is irq 14 */
  56. 0x4800 0 0 3 &pic 15 /* INT C on slot 9 is irq 15 */
  57. 0x4800 0 0 4 &pic 16 /* INT D on slot 9 is irq 16 */
  58. /* IDSEL 10 */
  59. 0x5000 0 0 1 &pic 14 /* INT A on slot 10 is irq 14 */
  60. 0x5000 0 0 2 &pic 15 /* INT B on slot 10 is irq 15 */
  61. 0x5000 0 0 3 &pic 16 /* INT C on slot 10 is irq 16 */
  62. 0x5000 0 0 4 &pic 13 /* INT D on slot 10 is irq 13 */
  63. /* IDSEL 11 */
  64. 0x5800 0 0 1 &pic 15 /* INT A on slot 11 is irq 15 */
  65. 0x5800 0 0 2 &pic 16 /* INT B on slot 11 is irq 16 */
  66. 0x5800 0 0 3 &pic 13 /* INT C on slot 11 is irq 13 */
  67. 0x5800 0 0 4 &pic 14 /* INT D on slot 11 is irq 14 */
  68. /* IDSEL 12 */
  69. 0x6000 0 0 1 &pic 16 /* INT A on slot 12 is irq 16 */
  70. 0x6000 0 0 2 &pic 13 /* INT B on slot 12 is irq 13 */
  71. 0x6000 0 0 3 &pic 14 /* INT C on slot 12 is irq 14 */
  72. 0x6000 0 0 4 &pic 15 /* INT D on slot 12 is irq 15 */
  73. >;
  74. };
  75. fpga {
  76. /*
  77. * The Integator/AP predates the idea to have magic numbers
  78. * identifying the PrimeCell in hardware, thus we have to
  79. * supply these from the device tree.
  80. */
  81. rtc: rtc@15000000 {
  82. compatible = "arm,pl030", "arm,primecell";
  83. arm,primecell-periphid = <0x00041030>;
  84. };
  85. uart0: uart@16000000 {
  86. compatible = "arm,pl010", "arm,primecell";
  87. arm,primecell-periphid = <0x00041010>;
  88. };
  89. uart1: uart@17000000 {
  90. compatible = "arm,pl010", "arm,primecell";
  91. arm,primecell-periphid = <0x00041010>;
  92. };
  93. kmi0: kmi@18000000 {
  94. compatible = "arm,pl050", "arm,primecell";
  95. arm,primecell-periphid = <0x00041050>;
  96. };
  97. kmi1: kmi@19000000 {
  98. compatible = "arm,pl050", "arm,primecell";
  99. arm,primecell-periphid = <0x00041050>;
  100. };
  101. };
  102. };