p1020rdb_camp_core0.dts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. /*
  2. * P1020 RDB Core0 Device Tree Source in CAMP mode.
  3. *
  4. * In CAMP mode, each core needs to have its own dts. Only mpic and L2 cache
  5. * can be shared, all the other devices must be assigned to one core only.
  6. * This dts file allows core0 to have memory, l2, i2c, spi, gpio, tdm, dma, usb,
  7. * eth1, eth2, sdhc, crypto, global-util, message, pci0, pci1, msi.
  8. *
  9. * Please note to add "-b 0" for core0's dts compiling.
  10. *
  11. * Copyright 2011 Freescale Semiconductor Inc.
  12. *
  13. * This program is free software; you can redistribute it and/or modify it
  14. * under the terms of the GNU General Public License as published by the
  15. * Free Software Foundation; either version 2 of the License, or (at your
  16. * option) any later version.
  17. */
  18. /include/ "p1020si.dtsi"
  19. / {
  20. model = "fsl,P1020RDB";
  21. compatible = "fsl,P1020RDB", "fsl,MPC85XXRDB-CAMP";
  22. aliases {
  23. ethernet1 = &enet1;
  24. ethernet2 = &enet2;
  25. serial0 = &serial0;
  26. pci0 = &pci0;
  27. pci1 = &pci1;
  28. };
  29. cpus {
  30. PowerPC,P1020@1 {
  31. status = "disabled";
  32. };
  33. };
  34. memory {
  35. device_type = "memory";
  36. };
  37. localbus@ffe05000 {
  38. status = "disabled";
  39. };
  40. soc@ffe00000 {
  41. i2c@3000 {
  42. rtc@68 {
  43. compatible = "dallas,ds1339";
  44. reg = <0x68>;
  45. };
  46. };
  47. serial1: serial@4600 {
  48. status = "disabled";
  49. };
  50. spi@7000 {
  51. fsl_m25p80@0 {
  52. #address-cells = <1>;
  53. #size-cells = <1>;
  54. compatible = "fsl,espi-flash";
  55. reg = <0>;
  56. linux,modalias = "fsl_m25p80";
  57. spi-max-frequency = <40000000>;
  58. partition@0 {
  59. /* 512KB for u-boot Bootloader Image */
  60. reg = <0x0 0x00080000>;
  61. label = "SPI (RO) U-Boot Image";
  62. read-only;
  63. };
  64. partition@80000 {
  65. /* 512KB for DTB Image */
  66. reg = <0x00080000 0x00080000>;
  67. label = "SPI (RO) DTB Image";
  68. read-only;
  69. };
  70. partition@100000 {
  71. /* 4MB for Linux Kernel Image */
  72. reg = <0x00100000 0x00400000>;
  73. label = "SPI (RO) Linux Kernel Image";
  74. read-only;
  75. };
  76. partition@500000 {
  77. /* 4MB for Compressed RFS Image */
  78. reg = <0x00500000 0x00400000>;
  79. label = "SPI (RO) Compressed RFS Image";
  80. read-only;
  81. };
  82. partition@900000 {
  83. /* 7MB for JFFS2 based RFS */
  84. reg = <0x00900000 0x00700000>;
  85. label = "SPI (RW) JFFS2 RFS";
  86. };
  87. };
  88. };
  89. mdio@24000 {
  90. phy0: ethernet-phy@0 {
  91. interrupt-parent = <&mpic>;
  92. interrupts = <3 1>;
  93. reg = <0x0>;
  94. };
  95. phy1: ethernet-phy@1 {
  96. interrupt-parent = <&mpic>;
  97. interrupts = <2 1>;
  98. reg = <0x1>;
  99. };
  100. };
  101. mdio@25000 {
  102. tbi0: tbi-phy@11 {
  103. reg = <0x11>;
  104. device_type = "tbi-phy";
  105. };
  106. };
  107. enet0: ethernet@b0000 {
  108. status = "disabled";
  109. };
  110. enet1: ethernet@b1000 {
  111. phy-handle = <&phy0>;
  112. tbi-handle = <&tbi0>;
  113. phy-connection-type = "sgmii";
  114. };
  115. enet2: ethernet@b2000 {
  116. phy-handle = <&phy1>;
  117. phy-connection-type = "rgmii-id";
  118. };
  119. usb@22000 {
  120. phy_type = "ulpi";
  121. };
  122. /* USB2 is shared with localbus, so it must be disabled
  123. by default. We can't put 'status = "disabled";' here
  124. since U-Boot doesn't clear the status property when
  125. it enables USB2. OTOH, U-Boot does create a new node
  126. when there isn't any. So, just comment it out.
  127. usb@23000 {
  128. phy_type = "ulpi";
  129. };
  130. */
  131. mpic: pic@40000 {
  132. protected-sources = <
  133. 42 29 30 34 /* serial1, enet0-queue-group0 */
  134. 17 18 24 45 /* enet0-queue-group1, crypto */
  135. >;
  136. };
  137. };
  138. pci0: pcie@ffe09000 {
  139. ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
  140. 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
  141. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  142. interrupt-map = <
  143. /* IDSEL 0x0 */
  144. 0000 0x0 0x0 0x1 &mpic 0x4 0x1
  145. 0000 0x0 0x0 0x2 &mpic 0x5 0x1
  146. 0000 0x0 0x0 0x3 &mpic 0x6 0x1
  147. 0000 0x0 0x0 0x4 &mpic 0x7 0x1
  148. >;
  149. pcie@0 {
  150. reg = <0x0 0x0 0x0 0x0 0x0>;
  151. #size-cells = <2>;
  152. #address-cells = <3>;
  153. device_type = "pci";
  154. ranges = <0x2000000 0x0 0xa0000000
  155. 0x2000000 0x0 0xa0000000
  156. 0x0 0x20000000
  157. 0x1000000 0x0 0x0
  158. 0x1000000 0x0 0x0
  159. 0x0 0x100000>;
  160. };
  161. };
  162. pci1: pcie@ffe0a000 {
  163. ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
  164. 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
  165. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  166. interrupt-map = <
  167. /* IDSEL 0x0 */
  168. 0000 0x0 0x0 0x1 &mpic 0x0 0x1
  169. 0000 0x0 0x0 0x2 &mpic 0x1 0x1
  170. 0000 0x0 0x0 0x3 &mpic 0x2 0x1
  171. 0000 0x0 0x0 0x4 &mpic 0x3 0x1
  172. >;
  173. pcie@0 {
  174. reg = <0x0 0x0 0x0 0x0 0x0>;
  175. #size-cells = <2>;
  176. #address-cells = <3>;
  177. device_type = "pci";
  178. ranges = <0x2000000 0x0 0x80000000
  179. 0x2000000 0x0 0x80000000
  180. 0x0 0x20000000
  181. 0x1000000 0x0 0x0
  182. 0x1000000 0x0 0x0
  183. 0x0 0x100000>;
  184. };
  185. };
  186. };