iss4xx-mpic.dts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /*
  2. * Device Tree Source for IBM Embedded PPC 476 Platform
  3. *
  4. * Copyright 2010 Torez Smith, IBM Corporation.
  5. *
  6. * Based on earlier code:
  7. * Copyright (c) 2006, 2007 IBM Corp.
  8. * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com>
  9. *
  10. * This file is licensed under the terms of the GNU General Public
  11. * License version 2. This program is licensed "as is" without
  12. * any warranty of any kind, whether express or implied.
  13. */
  14. /dts-v1/;
  15. /memreserve/ 0x01f00000 0x00100000;
  16. / {
  17. #address-cells = <2>;
  18. #size-cells = <1>;
  19. model = "ibm,iss-4xx";
  20. compatible = "ibm,iss-4xx";
  21. dcr-parent = <&{/cpus/cpu@0}>;
  22. aliases {
  23. serial0 = &UART0;
  24. };
  25. cpus {
  26. #address-cells = <1>;
  27. #size-cells = <0>;
  28. cpu@0 {
  29. device_type = "cpu";
  30. model = "PowerPC,4xx"; // real CPU changed in sim
  31. reg = <0>;
  32. clock-frequency = <100000000>; // 100Mhz :-)
  33. timebase-frequency = <100000000>;
  34. i-cache-line-size = <32>;
  35. d-cache-line-size = <32>;
  36. i-cache-size = <32768>;
  37. d-cache-size = <32768>;
  38. dcr-controller;
  39. dcr-access-method = "native";
  40. status = "ok";
  41. };
  42. cpu@1 {
  43. device_type = "cpu";
  44. model = "PowerPC,4xx"; // real CPU changed in sim
  45. reg = <1>;
  46. clock-frequency = <100000000>; // 100Mhz :-)
  47. timebase-frequency = <100000000>;
  48. i-cache-line-size = <32>;
  49. d-cache-line-size = <32>;
  50. i-cache-size = <32768>;
  51. d-cache-size = <32768>;
  52. dcr-controller;
  53. dcr-access-method = "native";
  54. status = "disabled";
  55. enable-method = "spin-table";
  56. cpu-release-addr = <0 0x01f00100>;
  57. };
  58. cpu@2 {
  59. device_type = "cpu";
  60. model = "PowerPC,4xx"; // real CPU changed in sim
  61. reg = <2>;
  62. clock-frequency = <100000000>; // 100Mhz :-)
  63. timebase-frequency = <100000000>;
  64. i-cache-line-size = <32>;
  65. d-cache-line-size = <32>;
  66. i-cache-size = <32768>;
  67. d-cache-size = <32768>;
  68. dcr-controller;
  69. dcr-access-method = "native";
  70. status = "disabled";
  71. enable-method = "spin-table";
  72. cpu-release-addr = <0 0x01f00200>;
  73. };
  74. cpu@3 {
  75. device_type = "cpu";
  76. model = "PowerPC,4xx"; // real CPU changed in sim
  77. reg = <3>;
  78. clock-frequency = <100000000>; // 100Mhz :-)
  79. timebase-frequency = <100000000>;
  80. i-cache-line-size = <32>;
  81. d-cache-line-size = <32>;
  82. i-cache-size = <32768>;
  83. d-cache-size = <32768>;
  84. dcr-controller;
  85. dcr-access-method = "native";
  86. status = "disabled";
  87. enable-method = "spin-table";
  88. cpu-release-addr = <0 0x01f00300>;
  89. };
  90. };
  91. memory {
  92. device_type = "memory";
  93. reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage
  94. };
  95. MPIC: interrupt-controller {
  96. compatible = "chrp,open-pic";
  97. interrupt-controller;
  98. dcr-reg = <0xffc00000 0x00030000>;
  99. #address-cells = <0>;
  100. #size-cells = <0>;
  101. #interrupt-cells = <2>;
  102. };
  103. plb {
  104. compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */
  105. #address-cells = <2>;
  106. #size-cells = <1>;
  107. ranges;
  108. clock-frequency = <0>; // Filled in by zImage
  109. POB0: opb {
  110. compatible = "ibm,opb-4xx", "ibm,opb";
  111. #address-cells = <1>;
  112. #size-cells = <1>;
  113. /* Wish there was a nicer way of specifying a full 32-bit
  114. range */
  115. ranges = <0x00000000 0x00000001 0x00000000 0x80000000
  116. 0x80000000 0x00000001 0x80000000 0x80000000>;
  117. clock-frequency = <0>; // Filled in by zImage
  118. UART0: serial@40000200 {
  119. device_type = "serial";
  120. compatible = "ns16550a";
  121. reg = <0x40000200 0x00000008>;
  122. virtual-reg = <0xe0000200>;
  123. clock-frequency = <11059200>;
  124. current-speed = <115200>;
  125. interrupt-parent = <&MPIC>;
  126. interrupts = <0x0 0x2>;
  127. };
  128. };
  129. };
  130. nvrtc {
  131. compatible = "ds1743-nvram", "ds1743", "rtc-ds1743";
  132. reg = <0 0xEF703000 0x2000>;
  133. };
  134. iss-block {
  135. compatible = "ibm,iss-sim-block-device";
  136. reg = <0 0xEF701000 0x1000>;
  137. };
  138. chosen {
  139. linux,stdout-path = "/plb/opb/serial@40000200";
  140. };
  141. };