boston.dts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. // SPDX-License-Identifier: GPL-2.0
  2. /dts-v1/;
  3. #include <dt-bindings/clock/boston-clock.h>
  4. #include <dt-bindings/gpio/gpio.h>
  5. #include <dt-bindings/interrupt-controller/irq.h>
  6. #include <dt-bindings/interrupt-controller/mips-gic.h>
  7. / {
  8. #address-cells = <1>;
  9. #size-cells = <1>;
  10. compatible = "img,boston";
  11. chosen {
  12. stdout-path = "uart0:115200";
  13. };
  14. aliases {
  15. uart0 = &uart0;
  16. };
  17. cpus {
  18. #address-cells = <1>;
  19. #size-cells = <0>;
  20. cpu@0 {
  21. device_type = "cpu";
  22. compatible = "img,mips";
  23. reg = <0>;
  24. clocks = <&clk_boston BOSTON_CLK_CPU>;
  25. };
  26. };
  27. memory@0 {
  28. device_type = "memory";
  29. reg = <0x00000000 0x10000000>;
  30. };
  31. pci0: pci@10000000 {
  32. compatible = "xlnx,axi-pcie-host-1.00.a";
  33. device_type = "pci";
  34. reg = <0x10000000 0x2000000>;
  35. #address-cells = <3>;
  36. #size-cells = <2>;
  37. #interrupt-cells = <1>;
  38. interrupt-parent = <&gic>;
  39. interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
  40. ranges = <0x02000000 0 0x40000000
  41. 0x40000000 0 0x40000000>;
  42. bus-range = <0x00 0xff>;
  43. interrupt-map-mask = <0 0 0 7>;
  44. interrupt-map = <0 0 0 1 &pci0_intc 1>,
  45. <0 0 0 2 &pci0_intc 2>,
  46. <0 0 0 3 &pci0_intc 3>,
  47. <0 0 0 4 &pci0_intc 4>;
  48. pci0_intc: interrupt-controller {
  49. interrupt-controller;
  50. #address-cells = <0>;
  51. #interrupt-cells = <1>;
  52. };
  53. };
  54. pci1: pci@12000000 {
  55. compatible = "xlnx,axi-pcie-host-1.00.a";
  56. device_type = "pci";
  57. reg = <0x12000000 0x2000000>;
  58. #address-cells = <3>;
  59. #size-cells = <2>;
  60. #interrupt-cells = <1>;
  61. interrupt-parent = <&gic>;
  62. interrupts = <GIC_SHARED 1 IRQ_TYPE_LEVEL_HIGH>;
  63. ranges = <0x02000000 0 0x20000000
  64. 0x20000000 0 0x20000000>;
  65. bus-range = <0x00 0xff>;
  66. interrupt-map-mask = <0 0 0 7>;
  67. interrupt-map = <0 0 0 1 &pci1_intc 1>,
  68. <0 0 0 2 &pci1_intc 2>,
  69. <0 0 0 3 &pci1_intc 3>,
  70. <0 0 0 4 &pci1_intc 4>;
  71. pci1_intc: interrupt-controller {
  72. interrupt-controller;
  73. #address-cells = <0>;
  74. #interrupt-cells = <1>;
  75. };
  76. };
  77. pci2: pci@14000000 {
  78. compatible = "xlnx,axi-pcie-host-1.00.a";
  79. device_type = "pci";
  80. reg = <0x14000000 0x2000000>;
  81. #address-cells = <3>;
  82. #size-cells = <2>;
  83. #interrupt-cells = <1>;
  84. interrupt-parent = <&gic>;
  85. interrupts = <GIC_SHARED 0 IRQ_TYPE_LEVEL_HIGH>;
  86. ranges = <0x02000000 0 0x16000000
  87. 0x16000000 0 0x100000>;
  88. bus-range = <0x00 0xff>;
  89. interrupt-map-mask = <0 0 0 7>;
  90. interrupt-map = <0 0 0 1 &pci2_intc 1>,
  91. <0 0 0 2 &pci2_intc 2>,
  92. <0 0 0 3 &pci2_intc 3>,
  93. <0 0 0 4 &pci2_intc 4>;
  94. pci2_intc: interrupt-controller {
  95. interrupt-controller;
  96. #address-cells = <0>;
  97. #interrupt-cells = <1>;
  98. };
  99. pci2_root@0,0,0 {
  100. compatible = "pci10ee,7021";
  101. reg = <0x00000000 0 0 0 0>;
  102. #address-cells = <3>;
  103. #size-cells = <2>;
  104. #interrupt-cells = <1>;
  105. eg20t_bridge@1,0,0 {
  106. compatible = "pci8086,8800";
  107. reg = <0x00010000 0 0 0 0>;
  108. #address-cells = <3>;
  109. #size-cells = <2>;
  110. #interrupt-cells = <1>;
  111. eg20t_phub@2,0,0 {
  112. compatible = "pci8086,8801";
  113. reg = <0x00020000 0 0 0 0>;
  114. intel,eg20t-prefetch = <0>;
  115. };
  116. eg20t_mac@2,0,1 {
  117. compatible = "pci8086,8802";
  118. reg = <0x00020100 0 0 0 0>;
  119. phy-reset-gpios = <&eg20t_gpio 6
  120. GPIO_ACTIVE_LOW>;
  121. };
  122. eg20t_gpio: eg20t_gpio@2,0,2 {
  123. compatible = "pci8086,8803";
  124. reg = <0x00020200 0 0 0 0>;
  125. gpio-controller;
  126. #gpio-cells = <2>;
  127. };
  128. eg20t_i2c@2,12,2 {
  129. compatible = "pci8086,8817";
  130. reg = <0x00026200 0 0 0 0>;
  131. #address-cells = <1>;
  132. #size-cells = <0>;
  133. rtc@68 {
  134. compatible = "st,m41t81s";
  135. reg = <0x68>;
  136. };
  137. };
  138. };
  139. };
  140. };
  141. gic: interrupt-controller@16120000 {
  142. compatible = "mti,gic";
  143. reg = <0x16120000 0x20000>;
  144. interrupt-controller;
  145. #interrupt-cells = <3>;
  146. timer {
  147. compatible = "mti,gic-timer";
  148. interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
  149. clocks = <&clk_boston BOSTON_CLK_CPU>;
  150. };
  151. };
  152. cdmm@16140000 {
  153. compatible = "mti,mips-cdmm";
  154. reg = <0x16140000 0x8000>;
  155. };
  156. cpc@16200000 {
  157. compatible = "mti,mips-cpc";
  158. reg = <0x16200000 0x8000>;
  159. };
  160. plat_regs: system-controller@17ffd000 {
  161. compatible = "img,boston-platform-regs", "syscon";
  162. reg = <0x17ffd000 0x1000>;
  163. clk_boston: clock {
  164. compatible = "img,boston-clock";
  165. #clock-cells = <1>;
  166. };
  167. };
  168. reboot: syscon-reboot {
  169. compatible = "syscon-reboot";
  170. regmap = <&plat_regs>;
  171. offset = <0x10>;
  172. mask = <0x10>;
  173. };
  174. uart0: uart@17ffe000 {
  175. compatible = "ns16550a";
  176. reg = <0x17ffe000 0x1000>;
  177. reg-shift = <2>;
  178. interrupt-parent = <&gic>;
  179. interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
  180. clocks = <&clk_boston BOSTON_CLK_SYS>;
  181. };
  182. lcd: lcd@17fff000 {
  183. compatible = "img,boston-lcd";
  184. reg = <0x17fff000 0x8>;
  185. };
  186. };