img,boston.dts 4.4 KB

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