iss4xx.dts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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. / {
  16. #address-cells = <2>;
  17. #size-cells = <1>;
  18. model = "ibm,iss-4xx";
  19. compatible = "ibm,iss-4xx";
  20. dcr-parent = <&{/cpus/cpu@0}>;
  21. aliases {
  22. serial0 = &UART0;
  23. };
  24. cpus {
  25. #address-cells = <1>;
  26. #size-cells = <0>;
  27. cpu@0 {
  28. device_type = "cpu";
  29. model = "PowerPC,4xx"; // real CPU changed in sim
  30. reg = <0x00000000>;
  31. clock-frequency = <100000000>; // 100Mhz :-)
  32. timebase-frequency = <100000000>;
  33. i-cache-line-size = <32>; // may need fixup in sim
  34. d-cache-line-size = <32>; // may need fixup in sim
  35. i-cache-size = <32768>; /* may need fixup in sim */
  36. d-cache-size = <32768>; /* may need fixup in sim */
  37. dcr-controller;
  38. dcr-access-method = "native";
  39. };
  40. };
  41. memory {
  42. device_type = "memory";
  43. reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage
  44. };
  45. UIC0: interrupt-controller0 {
  46. compatible = "ibm,uic-4xx", "ibm,uic";
  47. interrupt-controller;
  48. cell-index = <0>;
  49. dcr-reg = <0x0c0 0x009>;
  50. #address-cells = <0>;
  51. #size-cells = <0>;
  52. #interrupt-cells = <2>;
  53. };
  54. UIC1: interrupt-controller1 {
  55. compatible = "ibm,uic-4xx", "ibm,uic";
  56. interrupt-controller;
  57. cell-index = <1>;
  58. dcr-reg = <0x0d0 0x009>;
  59. #address-cells = <0>;
  60. #size-cells = <0>;
  61. #interrupt-cells = <2>;
  62. interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
  63. interrupt-parent = <&UIC0>;
  64. };
  65. plb {
  66. compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */
  67. #address-cells = <2>;
  68. #size-cells = <1>;
  69. ranges;
  70. clock-frequency = <0>; // Filled in by zImage
  71. POB0: opb {
  72. compatible = "ibm,opb-4xx", "ibm,opb";
  73. #address-cells = <1>;
  74. #size-cells = <1>;
  75. /* Wish there was a nicer way of specifying a full 32-bit
  76. range */
  77. ranges = <0x00000000 0x00000001 0x00000000 0x80000000
  78. 0x80000000 0x00000001 0x80000000 0x80000000>;
  79. clock-frequency = <0>; // Filled in by zImage
  80. UART0: serial@40000200 {
  81. device_type = "serial";
  82. compatible = "ns16550a";
  83. reg = <0x40000200 0x00000008>;
  84. virtual-reg = <0xe0000200>;
  85. clock-frequency = <11059200>;
  86. current-speed = <115200>;
  87. interrupt-parent = <&UIC0>;
  88. interrupts = <0x0 0x4>;
  89. };
  90. };
  91. };
  92. nvrtc {
  93. compatible = "ds1743-nvram", "ds1743", "rtc-ds1743";
  94. reg = <0 0xEF703000 0x2000>;
  95. };
  96. iss-block {
  97. compatible = "ibm,iss-sim-block-device";
  98. reg = <0 0xEF701000 0x1000>;
  99. };
  100. chosen {
  101. linux,stdout-path = "/plb/opb/serial@40000200";
  102. };
  103. };