klondike.dts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Device Tree for Klondike (APM8018X) board.
  4. *
  5. * Copyright (c) 2010, Applied Micro Circuits Corporation
  6. * Author: Tanmay Inamdar <[email protected]>
  7. */
  8. /dts-v1/;
  9. / {
  10. #address-cells = <1>;
  11. #size-cells = <1>;
  12. model = "apm,klondike";
  13. compatible = "apm,klondike";
  14. dcr-parent = <&{/cpus/cpu@0}>;
  15. aliases {
  16. ethernet0 = &EMAC0;
  17. ethernet1 = &EMAC1;
  18. };
  19. cpus {
  20. #address-cells = <1>;
  21. #size-cells = <0>;
  22. cpu@0 {
  23. device_type = "cpu";
  24. model = "PowerPC,apm8018x";
  25. reg = <0x00000000>;
  26. clock-frequency = <300000000>; /* Filled in by U-Boot */
  27. timebase-frequency = <300000000>; /* Filled in by U-Boot */
  28. i-cache-line-size = <32>;
  29. d-cache-line-size = <32>;
  30. i-cache-size = <16384>; /* 16 kB */
  31. d-cache-size = <16384>; /* 16 kB */
  32. dcr-controller;
  33. dcr-access-method = "native";
  34. };
  35. };
  36. memory {
  37. device_type = "memory";
  38. reg = <0x00000000 0x20000000>; /* Filled in by U-Boot */
  39. };
  40. UIC0: interrupt-controller {
  41. compatible = "ibm,uic";
  42. interrupt-controller;
  43. cell-index = <0>;
  44. dcr-reg = <0x0c0 0x010>;
  45. #address-cells = <0>;
  46. #size-cells = <0>;
  47. #interrupt-cells = <2>;
  48. };
  49. UIC1: interrupt-controller1 {
  50. compatible = "ibm,uic";
  51. interrupt-controller;
  52. cell-index = <1>;
  53. dcr-reg = <0x0d0 0x010>;
  54. #address-cells = <0>;
  55. #size-cells = <0>;
  56. #interrupt-cells = <2>;
  57. interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
  58. interrupt-parent = <&UIC0>;
  59. };
  60. UIC2: interrupt-controller2 {
  61. compatible = "ibm,uic";
  62. interrupt-controller;
  63. cell-index = <2>;
  64. dcr-reg = <0x0e0 0x010>;
  65. #address-cells = <0>;
  66. #size-cells = <0>;
  67. #interrupt-cells = <2>;
  68. interrupts = <0x0a 0x4 0x0b 0x4>; /* cascade */
  69. interrupt-parent = <&UIC0>;
  70. };
  71. UIC3: interrupt-controller3 {
  72. compatible = "ibm,uic";
  73. interrupt-controller;
  74. cell-index = <3>;
  75. dcr-reg = <0x0f0 0x010>;
  76. #address-cells = <0>;
  77. #size-cells = <0>;
  78. #interrupt-cells = <2>;
  79. interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
  80. interrupt-parent = <&UIC0>;
  81. };
  82. plb {
  83. compatible = "ibm,plb4";
  84. #address-cells = <1>;
  85. #size-cells = <1>;
  86. ranges;
  87. clock-frequency = <0>; /* Filled in by U-Boot */
  88. SDRAM0: memory-controller {
  89. compatible = "ibm,sdram-apm8018x";
  90. dcr-reg = <0x010 0x002>;
  91. };
  92. MAL0: mcmal {
  93. compatible = "ibm,mcmal2";
  94. dcr-reg = <0x180 0x062>;
  95. num-tx-chans = <2>;
  96. num-rx-chans = <16>;
  97. #address-cells = <0>;
  98. #size-cells = <0>;
  99. interrupt-parent = <&UIC1>;
  100. interrupts = </*TXEOB*/ 0x6 0x4
  101. /*RXEOB*/ 0x7 0x4
  102. /*SERR*/ 0x1 0x4
  103. /*TXDE*/ 0x2 0x4
  104. /*RXDE*/ 0x3 0x4>;
  105. };
  106. POB0: opb {
  107. compatible = "ibm,opb";
  108. #address-cells = <1>;
  109. #size-cells = <1>;
  110. ranges = <0x20000000 0x20000000 0x30000000
  111. 0x50000000 0x50000000 0x10000000
  112. 0x60000000 0x60000000 0x10000000
  113. 0xFE000000 0xFE000000 0x00010000>;
  114. dcr-reg = <0x100 0x020>;
  115. clock-frequency = <300000000>; /* Filled in by U-Boot */
  116. RGMII0: emac-rgmii@400a2000 {
  117. compatible = "ibm,rgmii";
  118. reg = <0x400a2000 0x00000010>;
  119. has-mdio;
  120. };
  121. TAH0: emac-tah@400a3000 {
  122. compatible = "ibm,tah";
  123. reg = <0x400a3000 0x100>;
  124. };
  125. TAH1: emac-tah@400a4000 {
  126. compatible = "ibm,tah";
  127. reg = <0x400a4000 0x100>;
  128. };
  129. EMAC0: ethernet@400a0000 {
  130. compatible = "ibm,emac4", "ibm-emac4sync";
  131. interrupt-parent = <&EMAC0>;
  132. interrupts = <0x0>;
  133. #interrupt-cells = <1>;
  134. #address-cells = <0>;
  135. #size-cells = <0>;
  136. interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4>;
  137. reg = <0x400a0000 0x00000100>;
  138. local-mac-address = [000000000000]; /* Filled in by U-Boot */
  139. mal-device = <&MAL0>;
  140. mal-tx-channel = <0x0>;
  141. mal-rx-channel = <0x0>;
  142. cell-index = <0>;
  143. max-frame-size = <9000>;
  144. rx-fifo-size = <4096>;
  145. tx-fifo-size = <2048>;
  146. phy-mode = "rgmii";
  147. phy-address = <0x2>;
  148. turbo = "no";
  149. phy-map = <0x00000000>;
  150. rgmii-device = <&RGMII0>;
  151. rgmii-channel = <0>;
  152. tah-device = <&TAH0>;
  153. tah-channel = <0>;
  154. has-inverted-stacr-oc;
  155. has-new-stacr-staopc;
  156. };
  157. EMAC1: ethernet@400a1000 {
  158. compatible = "ibm,emac4", "ibm-emac4sync";
  159. status = "disabled";
  160. interrupt-parent = <&EMAC1>;
  161. interrupts = <0x0>;
  162. #interrupt-cells = <1>;
  163. #address-cells = <0>;
  164. #size-cells = <0>;
  165. interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4>;
  166. reg = <0x400a1000 0x00000100>;
  167. local-mac-address = [000000000000]; /* Filled in by U-Boot */
  168. mal-device = <&MAL0>;
  169. mal-tx-channel = <1>;
  170. mal-rx-channel = <8>;
  171. cell-index = <1>;
  172. max-frame-size = <9000>;
  173. rx-fifo-size = <4096>;
  174. tx-fifo-size = <2048>;
  175. phy-mode = "rgmii";
  176. phy-address = <0x3>;
  177. turbo = "no";
  178. phy-map = <0x00000000>;
  179. rgmii-device = <&RGMII0>;
  180. rgmii-channel = <1>;
  181. tah-device = <&TAH1>;
  182. tah-channel = <0>;
  183. has-inverted-stacr-oc;
  184. has-new-stacr-staopc;
  185. mdio-device = <&EMAC0>;
  186. };
  187. };
  188. };
  189. chosen {
  190. stdout-path = "/plb/opb/serial@50001000";
  191. };
  192. };