octeon_3xxx.dts 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. /*
  2. * OCTEON 3XXX, 5XXX, 63XX device tree skeleton.
  3. *
  4. * This device tree is pruned and patched by early boot code before
  5. * use. Because of this, it contains a super-set of the available
  6. * devices and properties.
  7. */
  8. /include/ "octeon_3xxx.dtsi"
  9. / {
  10. soc@0 {
  11. smi0: mdio@1180000001800 {
  12. phy0: ethernet-phy@0 {
  13. compatible = "marvell,88e1118";
  14. marvell,reg-init =
  15. /* Fix rx and tx clock transition timing */
  16. <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
  17. /* Adjust LED drive. */
  18. <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
  19. /* irq, blink-activity, blink-link */
  20. <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
  21. reg = <0>;
  22. };
  23. phy1: ethernet-phy@1 {
  24. compatible = "marvell,88e1118";
  25. marvell,reg-init =
  26. /* Fix rx and tx clock transition timing */
  27. <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
  28. /* Adjust LED drive. */
  29. <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
  30. /* irq, blink-activity, blink-link */
  31. <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
  32. reg = <1>;
  33. };
  34. phy2: ethernet-phy@2 {
  35. reg = <2>;
  36. compatible = "marvell,88e1149r";
  37. marvell,reg-init = <3 0x10 0 0x5777>,
  38. <3 0x11 0 0x00aa>,
  39. <3 0x12 0 0x4105>,
  40. <3 0x13 0 0x0a60>;
  41. };
  42. phy3: ethernet-phy@3 {
  43. reg = <3>;
  44. compatible = "marvell,88e1149r";
  45. marvell,reg-init = <3 0x10 0 0x5777>,
  46. <3 0x11 0 0x00aa>,
  47. <3 0x12 0 0x4105>,
  48. <3 0x13 0 0x0a60>;
  49. };
  50. phy4: ethernet-phy@4 {
  51. reg = <4>;
  52. compatible = "marvell,88e1149r";
  53. marvell,reg-init = <3 0x10 0 0x5777>,
  54. <3 0x11 0 0x00aa>,
  55. <3 0x12 0 0x4105>,
  56. <3 0x13 0 0x0a60>;
  57. };
  58. phy5: ethernet-phy@5 {
  59. reg = <5>;
  60. compatible = "marvell,88e1149r";
  61. marvell,reg-init = <3 0x10 0 0x5777>,
  62. <3 0x11 0 0x00aa>,
  63. <3 0x12 0 0x4105>,
  64. <3 0x13 0 0x0a60>;
  65. };
  66. phy6: ethernet-phy@6 {
  67. reg = <6>;
  68. compatible = "marvell,88e1149r";
  69. marvell,reg-init = <3 0x10 0 0x5777>,
  70. <3 0x11 0 0x00aa>,
  71. <3 0x12 0 0x4105>,
  72. <3 0x13 0 0x0a60>;
  73. };
  74. phy7: ethernet-phy@7 {
  75. reg = <7>;
  76. compatible = "marvell,88e1149r";
  77. marvell,reg-init = <3 0x10 0 0x5777>,
  78. <3 0x11 0 0x00aa>,
  79. <3 0x12 0 0x4105>,
  80. <3 0x13 0 0x0a60>;
  81. };
  82. phy8: ethernet-phy@8 {
  83. reg = <8>;
  84. compatible = "marvell,88e1149r";
  85. marvell,reg-init = <3 0x10 0 0x5777>,
  86. <3 0x11 0 0x00aa>,
  87. <3 0x12 0 0x4105>,
  88. <3 0x13 0 0x0a60>;
  89. };
  90. phy9: ethernet-phy@9 {
  91. reg = <9>;
  92. compatible = "marvell,88e1149r";
  93. marvell,reg-init = <3 0x10 0 0x5777>,
  94. <3 0x11 0 0x00aa>,
  95. <3 0x12 0 0x4105>,
  96. <3 0x13 0 0x0a60>;
  97. };
  98. };
  99. smi1: mdio@1180000001900 {
  100. compatible = "cavium,octeon-3860-mdio";
  101. #address-cells = <1>;
  102. #size-cells = <0>;
  103. reg = <0x11800 0x00001900 0x0 0x40>;
  104. phy100: ethernet-phy@1 {
  105. reg = <1>;
  106. compatible = "marvell,88e1149r";
  107. marvell,reg-init = <3 0x10 0 0x5777>,
  108. <3 0x11 0 0x00aa>,
  109. <3 0x12 0 0x4105>,
  110. <3 0x13 0 0x0a60>;
  111. interrupt-parent = <&gpio>;
  112. interrupts = <12 8>; /* Pin 12, active low */
  113. };
  114. phy101: ethernet-phy@2 {
  115. reg = <2>;
  116. compatible = "marvell,88e1149r";
  117. marvell,reg-init = <3 0x10 0 0x5777>,
  118. <3 0x11 0 0x00aa>,
  119. <3 0x12 0 0x4105>,
  120. <3 0x13 0 0x0a60>;
  121. interrupt-parent = <&gpio>;
  122. interrupts = <12 8>; /* Pin 12, active low */
  123. };
  124. phy102: ethernet-phy@3 {
  125. reg = <3>;
  126. compatible = "marvell,88e1149r";
  127. marvell,reg-init = <3 0x10 0 0x5777>,
  128. <3 0x11 0 0x00aa>,
  129. <3 0x12 0 0x4105>,
  130. <3 0x13 0 0x0a60>;
  131. interrupt-parent = <&gpio>;
  132. interrupts = <12 8>; /* Pin 12, active low */
  133. };
  134. phy103: ethernet-phy@4 {
  135. reg = <4>;
  136. compatible = "marvell,88e1149r";
  137. marvell,reg-init = <3 0x10 0 0x5777>,
  138. <3 0x11 0 0x00aa>,
  139. <3 0x12 0 0x4105>,
  140. <3 0x13 0 0x0a60>;
  141. interrupt-parent = <&gpio>;
  142. interrupts = <12 8>; /* Pin 12, active low */
  143. };
  144. };
  145. mix0: ethernet@1070000100000 {
  146. compatible = "cavium,octeon-5750-mix";
  147. reg = <0x10700 0x00100000 0x0 0x100>, /* MIX */
  148. <0x11800 0xE0000000 0x0 0x300>, /* AGL */
  149. <0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED */
  150. <0x11800 0xE0002000 0x0 0x8>; /* AGL_PRT_CTL */
  151. cell-index = <0>;
  152. interrupts = <0 62>, <1 46>;
  153. local-mac-address = [ 00 00 00 00 00 00 ];
  154. phy-handle = <&phy0>;
  155. };
  156. mix1: ethernet@1070000100800 {
  157. compatible = "cavium,octeon-5750-mix";
  158. reg = <0x10700 0x00100800 0x0 0x100>, /* MIX */
  159. <0x11800 0xE0000800 0x0 0x300>, /* AGL */
  160. <0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED */
  161. <0x11800 0xE0002008 0x0 0x8>; /* AGL_PRT_CTL */
  162. cell-index = <1>;
  163. interrupts = <1 18>, < 1 46>;
  164. local-mac-address = [ 00 00 00 00 00 00 ];
  165. phy-handle = <&phy1>;
  166. };
  167. pip: pip@11800a0000000 {
  168. interface@0 {
  169. ethernet@0 {
  170. phy-handle = <&phy2>;
  171. cavium,alt-phy-handle = <&phy100>;
  172. };
  173. ethernet@1 {
  174. phy-handle = <&phy3>;
  175. cavium,alt-phy-handle = <&phy101>;
  176. };
  177. ethernet@2 {
  178. phy-handle = <&phy4>;
  179. cavium,alt-phy-handle = <&phy102>;
  180. };
  181. ethernet@3 {
  182. compatible = "cavium,octeon-3860-pip-port";
  183. reg = <0x3>; /* Port */
  184. local-mac-address = [ 00 00 00 00 00 00 ];
  185. phy-handle = <&phy5>;
  186. cavium,alt-phy-handle = <&phy103>;
  187. };
  188. ethernet@4 {
  189. compatible = "cavium,octeon-3860-pip-port";
  190. reg = <0x4>; /* Port */
  191. local-mac-address = [ 00 00 00 00 00 00 ];
  192. };
  193. ethernet@5 {
  194. compatible = "cavium,octeon-3860-pip-port";
  195. reg = <0x5>; /* Port */
  196. local-mac-address = [ 00 00 00 00 00 00 ];
  197. };
  198. ethernet@6 {
  199. compatible = "cavium,octeon-3860-pip-port";
  200. reg = <0x6>; /* Port */
  201. local-mac-address = [ 00 00 00 00 00 00 ];
  202. };
  203. ethernet@7 {
  204. compatible = "cavium,octeon-3860-pip-port";
  205. reg = <0x7>; /* Port */
  206. local-mac-address = [ 00 00 00 00 00 00 ];
  207. };
  208. ethernet@8 {
  209. compatible = "cavium,octeon-3860-pip-port";
  210. reg = <0x8>; /* Port */
  211. local-mac-address = [ 00 00 00 00 00 00 ];
  212. };
  213. ethernet@9 {
  214. compatible = "cavium,octeon-3860-pip-port";
  215. reg = <0x9>; /* Port */
  216. local-mac-address = [ 00 00 00 00 00 00 ];
  217. };
  218. ethernet@a {
  219. compatible = "cavium,octeon-3860-pip-port";
  220. reg = <0xa>; /* Port */
  221. local-mac-address = [ 00 00 00 00 00 00 ];
  222. };
  223. ethernet@b {
  224. compatible = "cavium,octeon-3860-pip-port";
  225. reg = <0xb>; /* Port */
  226. local-mac-address = [ 00 00 00 00 00 00 ];
  227. };
  228. ethernet@c {
  229. compatible = "cavium,octeon-3860-pip-port";
  230. reg = <0xc>; /* Port */
  231. local-mac-address = [ 00 00 00 00 00 00 ];
  232. };
  233. ethernet@d {
  234. compatible = "cavium,octeon-3860-pip-port";
  235. reg = <0xd>; /* Port */
  236. local-mac-address = [ 00 00 00 00 00 00 ];
  237. };
  238. ethernet@e {
  239. compatible = "cavium,octeon-3860-pip-port";
  240. reg = <0xe>; /* Port */
  241. local-mac-address = [ 00 00 00 00 00 00 ];
  242. };
  243. ethernet@f {
  244. compatible = "cavium,octeon-3860-pip-port";
  245. reg = <0xf>; /* Port */
  246. local-mac-address = [ 00 00 00 00 00 00 ];
  247. };
  248. };
  249. interface@1 {
  250. ethernet@0 {
  251. compatible = "cavium,octeon-3860-pip-port";
  252. reg = <0x0>; /* Port */
  253. local-mac-address = [ 00 00 00 00 00 00 ];
  254. phy-handle = <&phy6>;
  255. };
  256. ethernet@1 {
  257. compatible = "cavium,octeon-3860-pip-port";
  258. reg = <0x1>; /* Port */
  259. local-mac-address = [ 00 00 00 00 00 00 ];
  260. phy-handle = <&phy7>;
  261. };
  262. ethernet@2 {
  263. compatible = "cavium,octeon-3860-pip-port";
  264. reg = <0x2>; /* Port */
  265. local-mac-address = [ 00 00 00 00 00 00 ];
  266. phy-handle = <&phy8>;
  267. };
  268. ethernet@3 {
  269. compatible = "cavium,octeon-3860-pip-port";
  270. reg = <0x3>; /* Port */
  271. local-mac-address = [ 00 00 00 00 00 00 ];
  272. phy-handle = <&phy9>;
  273. };
  274. };
  275. };
  276. twsi0: i2c@1180000001000 {
  277. rtc@68 {
  278. compatible = "dallas,ds1337";
  279. reg = <0x68>;
  280. };
  281. tmp@4c {
  282. compatible = "ti,tmp421";
  283. reg = <0x4c>;
  284. };
  285. };
  286. twsi1: i2c@1180000001200 {
  287. #address-cells = <1>;
  288. #size-cells = <0>;
  289. compatible = "cavium,octeon-3860-twsi";
  290. reg = <0x11800 0x00001200 0x0 0x200>;
  291. interrupts = <0 59>;
  292. clock-frequency = <100000>;
  293. };
  294. uart1: serial@1180000000c00 {
  295. compatible = "cavium,octeon-3860-uart","ns16550";
  296. reg = <0x11800 0x00000c00 0x0 0x400>;
  297. clock-frequency = <0>;
  298. current-speed = <115200>;
  299. reg-shift = <3>;
  300. interrupts = <0 35>;
  301. };
  302. uart2: serial@1180000000400 {
  303. compatible = "cavium,octeon-3860-uart","ns16550";
  304. reg = <0x11800 0x00000400 0x0 0x400>;
  305. clock-frequency = <0>;
  306. current-speed = <115200>;
  307. reg-shift = <3>;
  308. interrupts = <1 16>;
  309. };
  310. bootbus: bootbus@1180000000000 {
  311. led0: led-display@4,0 {
  312. compatible = "avago,hdsp-253x";
  313. reg = <4 0x20 0x20>, <4 0 0x20>;
  314. };
  315. cf0: compact-flash@5,0 {
  316. compatible = "cavium,ebt3000-compact-flash";
  317. reg = <5 0 0x10000>, <6 0 0x10000>;
  318. cavium,bus-width = <16>;
  319. cavium,true-ide;
  320. cavium,dma-engine-handle = <&dma0>;
  321. };
  322. };
  323. uctl: uctl@118006f000000 {
  324. compatible = "cavium,octeon-6335-uctl";
  325. reg = <0x11800 0x6f000000 0x0 0x100>;
  326. ranges; /* Direct mapping */
  327. #address-cells = <2>;
  328. #size-cells = <2>;
  329. /* 12MHz, 24MHz and 48MHz allowed */
  330. refclk-frequency = <12000000>;
  331. /* Either "crystal" or "external" */
  332. refclk-type = "crystal";
  333. ehci@16f0000000000 {
  334. compatible = "cavium,octeon-6335-ehci","usb-ehci";
  335. reg = <0x16f00 0x00000000 0x0 0x100>;
  336. interrupts = <0 56>;
  337. big-endian-regs;
  338. };
  339. ohci@16f0000000400 {
  340. compatible = "cavium,octeon-6335-ohci","usb-ohci";
  341. reg = <0x16f00 0x00000400 0x0 0x100>;
  342. interrupts = <0 56>;
  343. big-endian-regs;
  344. };
  345. };
  346. usbn: usbn@1180068000000 {
  347. /* 12MHz, 24MHz and 48MHz allowed */
  348. refclk-frequency = <12000000>;
  349. /* Either "crystal" or "external" */
  350. refclk-type = "crystal";
  351. };
  352. };
  353. aliases {
  354. mix0 = &mix0;
  355. mix1 = &mix1;
  356. pip = &pip;
  357. smi0 = &smi0;
  358. smi1 = &smi1;
  359. twsi0 = &twsi0;
  360. twsi1 = &twsi1;
  361. uart0 = &uart0;
  362. uart1 = &uart1;
  363. uart2 = &uart2;
  364. flash0 = &flash0;
  365. cf0 = &cf0;
  366. uctl = &uctl;
  367. usbn = &usbn;
  368. led0 = &led0;
  369. };
  370. };