bcm7358.dtsi 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. / {
  2. #address-cells = <1>;
  3. #size-cells = <1>;
  4. compatible = "brcm,bcm7358";
  5. cpus {
  6. #address-cells = <1>;
  7. #size-cells = <0>;
  8. mips-hpt-frequency = <375000000>;
  9. cpu@0 {
  10. compatible = "brcm,bmips3300";
  11. device_type = "cpu";
  12. reg = <0>;
  13. };
  14. };
  15. aliases {
  16. uart0 = &uart0;
  17. uart1 = &uart1;
  18. uart2 = &uart2;
  19. };
  20. cpu_intc: cpu_intc {
  21. #address-cells = <0>;
  22. compatible = "mti,cpu-interrupt-controller";
  23. interrupt-controller;
  24. #interrupt-cells = <1>;
  25. };
  26. clocks {
  27. uart_clk: uart_clk {
  28. compatible = "fixed-clock";
  29. #clock-cells = <0>;
  30. clock-frequency = <81000000>;
  31. };
  32. };
  33. rdb {
  34. #address-cells = <1>;
  35. #size-cells = <1>;
  36. compatible = "simple-bus";
  37. ranges = <0 0x10000000 0x01000000>;
  38. periph_intc: periph_intc@411400 {
  39. compatible = "brcm,bcm7038-l1-intc";
  40. reg = <0x411400 0x30>;
  41. interrupt-controller;
  42. #interrupt-cells = <1>;
  43. interrupt-parent = <&cpu_intc>;
  44. interrupts = <2>;
  45. };
  46. sun_l2_intc: sun_l2_intc@403000 {
  47. compatible = "brcm,l2-intc";
  48. reg = <0x403000 0x30>;
  49. interrupt-controller;
  50. #interrupt-cells = <1>;
  51. interrupt-parent = <&periph_intc>;
  52. interrupts = <48>;
  53. };
  54. gisb-arb@400000 {
  55. compatible = "brcm,bcm7400-gisb-arb";
  56. reg = <0x400000 0xdc>;
  57. native-endian;
  58. interrupt-parent = <&sun_l2_intc>;
  59. interrupts = <0>, <2>;
  60. brcm,gisb-arb-master-mask = <0x2f3>;
  61. brcm,gisb-arb-master-names = "ssp_0", "cpu_0", "bsp_0",
  62. "rdc_0", "raaga_0",
  63. "avd_0", "jtag_0";
  64. };
  65. upg_irq0_intc: upg_irq0_intc@406600 {
  66. compatible = "brcm,bcm7120-l2-intc";
  67. reg = <0x406600 0x8>;
  68. brcm,int-map-mask = <0x44>, <0x7000000>;
  69. brcm,int-fwd-mask = <0x70000>;
  70. interrupt-controller;
  71. #interrupt-cells = <1>;
  72. interrupt-parent = <&periph_intc>;
  73. interrupts = <56>, <54>;
  74. interrupt-names = "upg_main", "upg_bsc";
  75. };
  76. upg_aon_irq0_intc: upg_aon_irq0_intc@408b80 {
  77. compatible = "brcm,bcm7120-l2-intc";
  78. reg = <0x408b80 0x8>;
  79. brcm,int-map-mask = <0x40>, <0x8000000>, <0x100000>;
  80. brcm,int-fwd-mask = <0>;
  81. brcm,irq-can-wake;
  82. interrupt-controller;
  83. #interrupt-cells = <1>;
  84. interrupt-parent = <&periph_intc>;
  85. interrupts = <57>, <55>, <59>;
  86. interrupt-names = "upg_main_aon", "upg_bsc_aon",
  87. "upg_spi";
  88. };
  89. sun_top_ctrl: syscon@404000 {
  90. compatible = "brcm,bcm7358-sun-top-ctrl", "syscon";
  91. reg = <0x404000 0x51c>;
  92. little-endian;
  93. };
  94. reboot {
  95. compatible = "brcm,brcmstb-reboot";
  96. syscon = <&sun_top_ctrl 0x304 0x308>;
  97. };
  98. uart0: serial@406800 {
  99. compatible = "ns16550a";
  100. reg = <0x406800 0x20>;
  101. reg-io-width = <0x4>;
  102. reg-shift = <0x2>;
  103. native-endian;
  104. interrupt-parent = <&periph_intc>;
  105. interrupts = <61>;
  106. clocks = <&uart_clk>;
  107. status = "disabled";
  108. };
  109. uart1: serial@406840 {
  110. compatible = "ns16550a";
  111. reg = <0x406840 0x20>;
  112. reg-io-width = <0x4>;
  113. reg-shift = <0x2>;
  114. native-endian;
  115. interrupt-parent = <&periph_intc>;
  116. interrupts = <62>;
  117. clocks = <&uart_clk>;
  118. status = "disabled";
  119. };
  120. uart2: serial@406880 {
  121. compatible = "ns16550a";
  122. reg = <0x406880 0x20>;
  123. reg-io-width = <0x4>;
  124. reg-shift = <0x2>;
  125. native-endian;
  126. interrupt-parent = <&periph_intc>;
  127. interrupts = <63>;
  128. clocks = <&uart_clk>;
  129. status = "disabled";
  130. };
  131. bsca: i2c@406200 {
  132. clock-frequency = <390000>;
  133. compatible = "brcm,brcmstb-i2c";
  134. interrupt-parent = <&upg_irq0_intc>;
  135. reg = <0x406200 0x58>;
  136. interrupts = <24>;
  137. interrupt-names = "upg_bsca";
  138. status = "disabled";
  139. };
  140. bscb: i2c@406280 {
  141. clock-frequency = <390000>;
  142. compatible = "brcm,brcmstb-i2c";
  143. interrupt-parent = <&upg_irq0_intc>;
  144. reg = <0x406280 0x58>;
  145. interrupts = <25>;
  146. interrupt-names = "upg_bscb";
  147. status = "disabled";
  148. };
  149. bscc: i2c@406300 {
  150. clock-frequency = <390000>;
  151. compatible = "brcm,brcmstb-i2c";
  152. interrupt-parent = <&upg_irq0_intc>;
  153. reg = <0x406300 0x58>;
  154. interrupts = <26>;
  155. interrupt-names = "upg_bscc";
  156. status = "disabled";
  157. };
  158. bscd: i2c@408980 {
  159. clock-frequency = <390000>;
  160. compatible = "brcm,brcmstb-i2c";
  161. interrupt-parent = <&upg_aon_irq0_intc>;
  162. reg = <0x408980 0x58>;
  163. interrupts = <27>;
  164. interrupt-names = "upg_bscd";
  165. status = "disabled";
  166. };
  167. enet0: ethernet@430000 {
  168. phy-mode = "internal";
  169. phy-handle = <&phy1>;
  170. mac-address = [ 00 10 18 36 23 1a ];
  171. compatible = "brcm,genet-v2";
  172. #address-cells = <0x1>;
  173. #size-cells = <0x1>;
  174. reg = <0x430000 0x4c8c>;
  175. interrupts = <24>, <25>;
  176. interrupt-parent = <&periph_intc>;
  177. status = "disabled";
  178. mdio@e14 {
  179. compatible = "brcm,genet-mdio-v2";
  180. #address-cells = <0x1>;
  181. #size-cells = <0x0>;
  182. reg = <0xe14 0x8>;
  183. phy1: ethernet-phy@1 {
  184. max-speed = <100>;
  185. reg = <0x1>;
  186. compatible = "brcm,40nm-ephy",
  187. "ethernet-phy-ieee802.3-c22";
  188. };
  189. };
  190. };
  191. ehci0: usb@480300 {
  192. compatible = "brcm,bcm7358-ehci", "generic-ehci";
  193. reg = <0x480300 0x100>;
  194. native-endian;
  195. interrupt-parent = <&periph_intc>;
  196. interrupts = <65>;
  197. status = "disabled";
  198. };
  199. ohci0: usb@480400 {
  200. compatible = "brcm,bcm7358-ohci", "generic-ohci";
  201. reg = <0x480400 0x100>;
  202. native-endian;
  203. no-big-frame-no;
  204. interrupt-parent = <&periph_intc>;
  205. interrupts = <66>;
  206. status = "disabled";
  207. };
  208. };
  209. };