p5040ds.dts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. // SPDX-License-Identifier: GPL-2.0+ OR X11
  2. /*
  3. * P5040DS Device Tree Source
  4. *
  5. * Copyright 2012 - 2015 Freescale Semiconductor Inc.
  6. * Copyright 2019-2020 NXP
  7. */
  8. /include/ "p5040.dtsi"
  9. / {
  10. model = "fsl,P5040DS";
  11. compatible = "fsl,P5040DS";
  12. #address-cells = <2>;
  13. #size-cells = <2>;
  14. interrupt-parent = <&mpic>;
  15. aliases{
  16. phy_sgmii_slot2_1c = &phy_sgmii_slot2_1c;
  17. phy_sgmii_slot2_1d = &phy_sgmii_slot2_1d;
  18. phy_sgmii_slot2_1e = &phy_sgmii_slot2_1e;
  19. phy_sgmii_slot2_1f = &phy_sgmii_slot2_1f;
  20. phy_sgmii_slot3_1c = &phy_sgmii_slot3_1c;
  21. phy_sgmii_slot3_1d = &phy_sgmii_slot3_1d;
  22. phy_sgmii_slot3_1e = &phy_sgmii_slot3_1e;
  23. phy_sgmii_slot3_1f = &phy_sgmii_slot3_1f;
  24. phy_sgmii_slot5_1c = &phy_sgmii_slot5_1c;
  25. phy_sgmii_slot5_1d = &phy_sgmii_slot5_1d;
  26. phy_sgmii_slot5_1e = &phy_sgmii_slot5_1e;
  27. phy_sgmii_slot5_1f = &phy_sgmii_slot5_1f;
  28. phy_sgmii_slot6_1c = &phy_sgmii_slot6_1c;
  29. phy_sgmii_slot6_1d = &phy_sgmii_slot6_1d;
  30. phy_sgmii_slot6_1e = &phy_sgmii_slot6_1e;
  31. phy_sgmii_slot6_1f = &phy_sgmii_slot6_1f;
  32. hydra_rg = &hydra_rg;
  33. hydra_sg_slot2 = &hydra_sg_slot2;
  34. hydra_sg_slot3 = &hydra_sg_slot3;
  35. hydra_sg_slot5 = &hydra_sg_slot5;
  36. hydra_sg_slot6 = &hydra_sg_slot6;
  37. hydra_xg_slot1 = &hydra_xg_slot1;
  38. hydra_xg_slot2 = &hydra_xg_slot2;
  39. spi0 = &espi0;
  40. };
  41. soc: soc@ffe000000 {
  42. ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
  43. reg = <0xf 0xfe000000 0 0x00001000>;
  44. fman@400000 {
  45. ethernet@e0000 {
  46. phy-connection-type = "sgmii";
  47. };
  48. ethernet@e2000 {
  49. phy-connection-type = "sgmii";
  50. };
  51. ethernet@e4000 {
  52. phy-connection-type = "sgmii";
  53. };
  54. ethernet@e6000 {
  55. phy-connection-type = "sgmii";
  56. };
  57. ethernet@e8000 {
  58. phy-handle = <&phy_rgmii_0>;
  59. phy-connection-type = "rgmii";
  60. };
  61. ethernet@f0000 {
  62. phy-handle = <&phy_xgmii_slot_2>;
  63. phy-connection-type = "xgmii";
  64. };
  65. };
  66. fman@500000 {
  67. ethernet@e0000 {
  68. phy-connection-type = "sgmii";
  69. };
  70. ethernet@e2000 {
  71. phy-connection-type = "sgmii";
  72. };
  73. ethernet@e4000 {
  74. phy-connection-type = "sgmii";
  75. };
  76. ethernet@e6000 {
  77. phy-connection-type = "sgmii";
  78. };
  79. ethernet@e8000 {
  80. phy-handle = <&phy_rgmii_1>;
  81. phy-connection-type = "rgmii";
  82. };
  83. ethernet@f0000 {
  84. phy-handle = <&phy_xgmii_slot_1>;
  85. phy-connection-type = "xgmii";
  86. };
  87. };
  88. };
  89. lbc: localbus@ffe124000 {
  90. reg = <0xf 0xfe124000 0 0x1000>;
  91. ranges = <0 0 0xf 0xe8000000 0x08000000
  92. 2 0 0xf 0xffa00000 0x00040000
  93. 3 0 0xf 0xffdf0000 0x00008000>;
  94. board-control@3,0 {
  95. #address-cells = <1>;
  96. #size-cells = <1>;
  97. compatible = "fsl,p5040ds-fpga", "fsl,fpga-ngpixis";
  98. reg = <3 0 0x40>;
  99. ranges = <0 3 0 0x40>;
  100. mdio-mux-emi1 {
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. compatible = "mdio-mux-mmioreg", "mdio-mux";
  104. mdio-parent-bus = <&mdio0>;
  105. reg = <9 1>;
  106. mux-mask = <0x78>;
  107. hydra_rg:rgmii-mdio@8 {
  108. #address-cells = <1>;
  109. #size-cells = <0>;
  110. reg = <8>;
  111. status = "disabled";
  112. phy_rgmii_0: ethernet-phy@0 {
  113. reg = <0x0>;
  114. };
  115. phy_rgmii_1: ethernet-phy@1 {
  116. reg = <0x1>;
  117. };
  118. };
  119. hydra_sg_slot2: sgmii-mdio@28 {
  120. #address-cells = <1>;
  121. #size-cells = <0>;
  122. reg = <0x28>;
  123. status = "disabled";
  124. phy_sgmii_slot2_1c: ethernet-phy@1c {
  125. reg = <0x1c>;
  126. };
  127. phy_sgmii_slot2_1d: ethernet-phy@1d {
  128. reg = <0x1d>;
  129. };
  130. phy_sgmii_slot2_1e: ethernet-phy@1e {
  131. reg = <0x1e>;
  132. };
  133. phy_sgmii_slot2_1f: ethernet-phy@1f {
  134. reg = <0x1f>;
  135. };
  136. };
  137. hydra_sg_slot3: sgmii-mdio@68 {
  138. #address-cells = <1>;
  139. #size-cells = <0>;
  140. reg = <0x68>;
  141. status = "disabled";
  142. phy_sgmii_slot3_1c: ethernet-phy@1c {
  143. reg = <0x1c>;
  144. };
  145. phy_sgmii_slot3_1d: ethernet-phy@1d {
  146. reg = <0x1d>;
  147. };
  148. phy_sgmii_slot3_1e: ethernet-phy@1e {
  149. reg = <0x1e>;
  150. };
  151. phy_sgmii_slot3_1f: ethernet-phy@1f {
  152. reg = <0x1f>;
  153. };
  154. };
  155. hydra_sg_slot5: sgmii-mdio@38 {
  156. #address-cells = <1>;
  157. #size-cells = <0>;
  158. reg = <0x38>;
  159. status = "disabled";
  160. phy_sgmii_slot5_1c: ethernet-phy@1c {
  161. reg = <0x1c>;
  162. };
  163. phy_sgmii_slot5_1d: ethernet-phy@1d {
  164. reg = <0x1d>;
  165. };
  166. phy_sgmii_slot5_1e: ethernet-phy@1e {
  167. reg = <0x1e>;
  168. };
  169. phy_sgmii_slot5_1f: ethernet-phy@1f {
  170. reg = <0x1f>;
  171. };
  172. };
  173. hydra_sg_slot6: sgmii-mdio@48 {
  174. #address-cells = <1>;
  175. #size-cells = <0>;
  176. reg = <0x48>;
  177. status = "disabled";
  178. phy_sgmii_slot6_1c: ethernet-phy@1c {
  179. reg = <0x1c>;
  180. };
  181. phy_sgmii_slot6_1d: ethernet-phy@1d {
  182. reg = <0x1d>;
  183. };
  184. phy_sgmii_slot6_1e: ethernet-phy@1e {
  185. reg = <0x1e>;
  186. };
  187. phy_sgmii_slot6_1f: ethernet-phy@1f {
  188. reg = <0x1f>;
  189. };
  190. };
  191. };
  192. mdio-mux-emi2 {
  193. #address-cells = <1>;
  194. #size-cells = <0>;
  195. compatible = "mdio-mux-mmioreg", "mdio-mux";
  196. mdio-parent-bus = <&xmdio0>;
  197. reg = <9 1>;
  198. mux-mask = <0x06>;
  199. hydra_xg_slot1: hydra-xg-slot1@0 {
  200. #address-cells = <1>;
  201. #size-cells = <0>;
  202. reg = <0>;
  203. status = "disabled";
  204. phy_xgmii_slot_1: ethernet-phy@0 {
  205. compatible = "ethernet-phy-ieee802.3-c45";
  206. reg = <4>;
  207. };
  208. };
  209. hydra_xg_slot2: hydra-xg-slot2@2 {
  210. #address-cells = <1>;
  211. #size-cells = <0>;
  212. reg = <2>;
  213. phy_xgmii_slot_2: ethernet-phy@4 {
  214. compatible = "ethernet-phy-ieee802.3-c45";
  215. reg = <0>;
  216. };
  217. };
  218. };
  219. };
  220. };
  221. };
  222. &espi0 {
  223. status = "okay";
  224. flash@0 {
  225. compatible = "jedec,spi-nor";
  226. #address-cells = <1>;
  227. #size-cells = <1>;
  228. reg = <0>;
  229. /* input clock */
  230. spi-max-frequency = <10000000>;
  231. };
  232. };
  233. /include/ "p5040si-post.dtsi"