octeon_3xxx.dtsi 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. /* OCTEON 3XXX DTS common parts. */
  2. /dts-v1/;
  3. / {
  4. compatible = "cavium,octeon-3860";
  5. #address-cells = <2>;
  6. #size-cells = <2>;
  7. interrupt-parent = <&ciu>;
  8. soc@0 {
  9. compatible = "simple-bus";
  10. #address-cells = <2>;
  11. #size-cells = <2>;
  12. ranges; /* Direct mapping */
  13. ciu: interrupt-controller@1070000000000 {
  14. compatible = "cavium,octeon-3860-ciu";
  15. interrupt-controller;
  16. /* Interrupts are specified by two parts:
  17. * 1) Controller register (0 or 1)
  18. * 2) Bit within the register (0..63)
  19. */
  20. #interrupt-cells = <2>;
  21. reg = <0x10700 0x00000000 0x0 0x7000>;
  22. };
  23. gpio: gpio-controller@1070000000800 {
  24. #gpio-cells = <2>;
  25. compatible = "cavium,octeon-3860-gpio";
  26. reg = <0x10700 0x00000800 0x0 0x100>;
  27. gpio-controller;
  28. /* Interrupts are specified by two parts:
  29. * 1) GPIO pin number (0..15)
  30. * 2) Triggering (1 - edge rising
  31. * 2 - edge falling
  32. * 4 - level active high
  33. * 8 - level active low)
  34. */
  35. interrupt-controller;
  36. #interrupt-cells = <2>;
  37. /* The GPIO pin connect to 16 consecutive CUI bits */
  38. interrupts = <0 16>, <0 17>, <0 18>, <0 19>,
  39. <0 20>, <0 21>, <0 22>, <0 23>,
  40. <0 24>, <0 25>, <0 26>, <0 27>,
  41. <0 28>, <0 29>, <0 30>, <0 31>;
  42. };
  43. smi0: mdio@1180000001800 {
  44. compatible = "cavium,octeon-3860-mdio";
  45. #address-cells = <1>;
  46. #size-cells = <0>;
  47. reg = <0x11800 0x00001800 0x0 0x40>;
  48. };
  49. pip: pip@11800a0000000 {
  50. compatible = "cavium,octeon-3860-pip";
  51. #address-cells = <1>;
  52. #size-cells = <0>;
  53. reg = <0x11800 0xa0000000 0x0 0x2000>;
  54. interface@0 {
  55. compatible = "cavium,octeon-3860-pip-interface";
  56. #address-cells = <1>;
  57. #size-cells = <0>;
  58. reg = <0>; /* interface */
  59. ethernet@0 {
  60. compatible = "cavium,octeon-3860-pip-port";
  61. reg = <0x0>; /* Port */
  62. local-mac-address = [ 00 00 00 00 00 00 ];
  63. };
  64. ethernet@1 {
  65. compatible = "cavium,octeon-3860-pip-port";
  66. reg = <0x1>; /* Port */
  67. local-mac-address = [ 00 00 00 00 00 00 ];
  68. };
  69. ethernet@2 {
  70. compatible = "cavium,octeon-3860-pip-port";
  71. reg = <0x2>; /* Port */
  72. local-mac-address = [ 00 00 00 00 00 00 ];
  73. };
  74. };
  75. interface@1 {
  76. compatible = "cavium,octeon-3860-pip-interface";
  77. #address-cells = <1>;
  78. #size-cells = <0>;
  79. reg = <1>; /* interface */
  80. };
  81. };
  82. twsi0: i2c@1180000001000 {
  83. #address-cells = <1>;
  84. #size-cells = <0>;
  85. compatible = "cavium,octeon-3860-twsi";
  86. reg = <0x11800 0x00001000 0x0 0x200>;
  87. interrupts = <0 45>;
  88. clock-frequency = <100000>;
  89. };
  90. uart0: serial@1180000000800 {
  91. compatible = "cavium,octeon-3860-uart","ns16550";
  92. reg = <0x11800 0x00000800 0x0 0x400>;
  93. clock-frequency = <0>;
  94. current-speed = <115200>;
  95. reg-shift = <3>;
  96. interrupts = <0 34>;
  97. };
  98. bootbus: bootbus@1180000000000 {
  99. compatible = "cavium,octeon-3860-bootbus";
  100. reg = <0x11800 0x00000000 0x0 0x200>;
  101. /* The chip select number and offset */
  102. #address-cells = <2>;
  103. /* The size of the chip select region */
  104. #size-cells = <1>;
  105. ranges = <0 0 0x0 0x1f400000 0xc00000>,
  106. <1 0 0x10000 0x30000000 0>,
  107. <2 0 0x10000 0x40000000 0>,
  108. <3 0 0x10000 0x50000000 0>,
  109. <4 0 0x0 0x1d020000 0x10000>,
  110. <5 0 0x0 0x1d040000 0x10000>,
  111. <6 0 0x0 0x1d050000 0x10000>,
  112. <7 0 0x10000 0x90000000 0>;
  113. cavium,cs-config@0 {
  114. compatible = "cavium,octeon-3860-bootbus-config";
  115. cavium,cs-index = <0>;
  116. cavium,t-adr = <20>;
  117. cavium,t-ce = <60>;
  118. cavium,t-oe = <60>;
  119. cavium,t-we = <45>;
  120. cavium,t-rd-hld = <35>;
  121. cavium,t-wr-hld = <45>;
  122. cavium,t-pause = <0>;
  123. cavium,t-wait = <0>;
  124. cavium,t-page = <35>;
  125. cavium,t-rd-dly = <0>;
  126. cavium,pages = <0>;
  127. cavium,bus-width = <8>;
  128. };
  129. cavium,cs-config@4 {
  130. compatible = "cavium,octeon-3860-bootbus-config";
  131. cavium,cs-index = <4>;
  132. cavium,t-adr = <320>;
  133. cavium,t-ce = <320>;
  134. cavium,t-oe = <320>;
  135. cavium,t-we = <320>;
  136. cavium,t-rd-hld = <320>;
  137. cavium,t-wr-hld = <320>;
  138. cavium,t-pause = <320>;
  139. cavium,t-wait = <320>;
  140. cavium,t-page = <320>;
  141. cavium,t-rd-dly = <0>;
  142. cavium,pages = <0>;
  143. cavium,bus-width = <8>;
  144. };
  145. cavium,cs-config@5 {
  146. compatible = "cavium,octeon-3860-bootbus-config";
  147. cavium,cs-index = <5>;
  148. cavium,t-adr = <5>;
  149. cavium,t-ce = <300>;
  150. cavium,t-oe = <125>;
  151. cavium,t-we = <150>;
  152. cavium,t-rd-hld = <100>;
  153. cavium,t-wr-hld = <30>;
  154. cavium,t-pause = <0>;
  155. cavium,t-wait = <30>;
  156. cavium,t-page = <320>;
  157. cavium,t-rd-dly = <0>;
  158. cavium,pages = <0>;
  159. cavium,bus-width = <16>;
  160. };
  161. cavium,cs-config@6 {
  162. compatible = "cavium,octeon-3860-bootbus-config";
  163. cavium,cs-index = <6>;
  164. cavium,t-adr = <5>;
  165. cavium,t-ce = <300>;
  166. cavium,t-oe = <270>;
  167. cavium,t-we = <150>;
  168. cavium,t-rd-hld = <100>;
  169. cavium,t-wr-hld = <70>;
  170. cavium,t-pause = <0>;
  171. cavium,t-wait = <0>;
  172. cavium,t-page = <320>;
  173. cavium,t-rd-dly = <0>;
  174. cavium,pages = <0>;
  175. cavium,wait-mode;
  176. cavium,bus-width = <16>;
  177. };
  178. flash0: nor@0,0 {
  179. compatible = "cfi-flash";
  180. reg = <0 0 0x800000>;
  181. #address-cells = <1>;
  182. #size-cells = <1>;
  183. };
  184. };
  185. dma0: dma-engine@1180000000100 {
  186. compatible = "cavium,octeon-5750-bootbus-dma";
  187. reg = <0x11800 0x00000100 0x0 0x8>;
  188. interrupts = <0 63>;
  189. };
  190. dma1: dma-engine@1180000000108 {
  191. compatible = "cavium,octeon-5750-bootbus-dma";
  192. reg = <0x11800 0x00000108 0x0 0x8>;
  193. interrupts = <0 63>;
  194. };
  195. usbn: usbn@1180068000000 {
  196. compatible = "cavium,octeon-5750-usbn";
  197. reg = <0x11800 0x68000000 0x0 0x1000>;
  198. ranges; /* Direct mapping */
  199. #address-cells = <2>;
  200. #size-cells = <2>;
  201. usbc@16f0010000000 {
  202. compatible = "cavium,octeon-5750-usbc";
  203. reg = <0x16f00 0x10000000 0x0 0x80000>;
  204. interrupts = <0 56>;
  205. };
  206. };
  207. };
  208. };