crownbay.dts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/interrupt-router/intel-irq.h>
  7. /include/ "skeleton.dtsi"
  8. /include/ "serial.dtsi"
  9. /include/ "keyboard.dtsi"
  10. /include/ "rtc.dtsi"
  11. /include/ "tsc_timer.dtsi"
  12. / {
  13. model = "Intel Crown Bay";
  14. compatible = "intel,crownbay", "intel,queensbay";
  15. aliases {
  16. spi0 = &spi;
  17. };
  18. config {
  19. silent_console = <0>;
  20. };
  21. cpus {
  22. #address-cells = <1>;
  23. #size-cells = <0>;
  24. cpu@0 {
  25. device_type = "cpu";
  26. compatible = "cpu-x86";
  27. reg = <0>;
  28. intel,apic-id = <0>;
  29. };
  30. cpu@1 {
  31. device_type = "cpu";
  32. compatible = "cpu-x86";
  33. reg = <1>;
  34. intel,apic-id = <1>;
  35. };
  36. };
  37. chosen {
  38. /*
  39. * By default the legacy superio serial port is used as the
  40. * U-Boot serial console. If we want to use UART from Topcliff
  41. * PCH as the console, change this property to &pciuart#.
  42. *
  43. * For example, stdout-path = &pciuart0 will use the first
  44. * UART on Topcliff PCH.
  45. */
  46. stdout-path = "/serial";
  47. };
  48. microcode {
  49. update@0 {
  50. #include "microcode/m0220661105_cv.dtsi"
  51. };
  52. };
  53. pci {
  54. #address-cells = <3>;
  55. #size-cells = <2>;
  56. compatible = "pci-x86";
  57. u-boot,dm-pre-reloc;
  58. ranges = <0x02000000 0x0 0x40000000 0x40000000 0 0x80000000
  59. 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
  60. 0x01000000 0x0 0x2000 0x2000 0 0xe000>;
  61. pcie@17,0 {
  62. #address-cells = <3>;
  63. #size-cells = <2>;
  64. compatible = "pci-bridge";
  65. u-boot,dm-pre-reloc;
  66. reg = <0x0000b800 0x0 0x0 0x0 0x0>;
  67. topcliff@0,0 {
  68. #address-cells = <3>;
  69. #size-cells = <2>;
  70. compatible = "pci-bridge";
  71. u-boot,dm-pre-reloc;
  72. reg = <0x00010000 0x0 0x0 0x0 0x0>;
  73. pciuart0: uart@a,1 {
  74. compatible = "pci8086,8811.00",
  75. "pci8086,8811",
  76. "pciclass,070002",
  77. "pciclass,0700",
  78. "ns16550";
  79. u-boot,dm-pre-reloc;
  80. reg = <0x00025100 0x0 0x0 0x0 0x0
  81. 0x01025110 0x0 0x0 0x0 0x0>;
  82. reg-shift = <0>;
  83. clock-frequency = <1843200>;
  84. current-speed = <115200>;
  85. };
  86. pciuart1: uart@a,2 {
  87. compatible = "pci8086,8812.00",
  88. "pci8086,8812",
  89. "pciclass,070002",
  90. "pciclass,0700",
  91. "ns16550";
  92. u-boot,dm-pre-reloc;
  93. reg = <0x00025200 0x0 0x0 0x0 0x0
  94. 0x01025210 0x0 0x0 0x0 0x0>;
  95. reg-shift = <0>;
  96. clock-frequency = <1843200>;
  97. current-speed = <115200>;
  98. };
  99. pciuart2: uart@a,3 {
  100. compatible = "pci8086,8813.00",
  101. "pci8086,8813",
  102. "pciclass,070002",
  103. "pciclass,0700",
  104. "ns16550";
  105. u-boot,dm-pre-reloc;
  106. reg = <0x00025300 0x0 0x0 0x0 0x0
  107. 0x01025310 0x0 0x0 0x0 0x0>;
  108. reg-shift = <0>;
  109. clock-frequency = <1843200>;
  110. current-speed = <115200>;
  111. };
  112. pciuart3: uart@a,4 {
  113. compatible = "pci8086,8814.00",
  114. "pci8086,8814",
  115. "pciclass,070002",
  116. "pciclass,0700",
  117. "ns16550";
  118. u-boot,dm-pre-reloc;
  119. reg = <0x00025400 0x0 0x0 0x0 0x0
  120. 0x01025410 0x0 0x0 0x0 0x0>;
  121. reg-shift = <0>;
  122. clock-frequency = <1843200>;
  123. current-speed = <115200>;
  124. };
  125. };
  126. };
  127. pch@1f,0 {
  128. reg = <0x0000f800 0 0 0 0>;
  129. compatible = "intel,pch7";
  130. #address-cells = <1>;
  131. #size-cells = <1>;
  132. irq-router {
  133. compatible = "intel,irq-router";
  134. intel,pirq-config = "pci";
  135. intel,actl-addr = <0x58>;
  136. intel,pirq-link = <0x60 8>;
  137. intel,pirq-mask = <0xcee0>;
  138. intel,pirq-routing = <
  139. /* TunnelCreek PCI devices */
  140. PCI_BDF(0, 2, 0) INTA PIRQE
  141. PCI_BDF(0, 3, 0) INTA PIRQF
  142. PCI_BDF(0, 23, 0) INTA PIRQA
  143. PCI_BDF(0, 23, 0) INTB PIRQB
  144. PCI_BDF(0, 23, 0) INTC PIRQC
  145. PCI_BDF(0, 23, 0) INTD PIRQD
  146. PCI_BDF(0, 24, 0) INTA PIRQB
  147. PCI_BDF(0, 24, 0) INTB PIRQC
  148. PCI_BDF(0, 24, 0) INTC PIRQD
  149. PCI_BDF(0, 24, 0) INTD PIRQA
  150. PCI_BDF(0, 25, 0) INTA PIRQC
  151. PCI_BDF(0, 25, 0) INTB PIRQD
  152. PCI_BDF(0, 25, 0) INTC PIRQA
  153. PCI_BDF(0, 25, 0) INTD PIRQB
  154. PCI_BDF(0, 26, 0) INTA PIRQD
  155. PCI_BDF(0, 26, 0) INTB PIRQA
  156. PCI_BDF(0, 26, 0) INTC PIRQB
  157. PCI_BDF(0, 26, 0) INTD PIRQC
  158. PCI_BDF(0, 27, 0) INTA PIRQG
  159. /*
  160. * Topcliff PCI devices
  161. *
  162. * Note on the Crown Bay board, Topcliff
  163. * chipset is connected to TunnelCreek
  164. * PCIe port 0, so its bus number is 1
  165. * for its PCIe port and 2 for its PCI
  166. * devices per U-Boot current PCI bus
  167. * enumeration algorithm.
  168. */
  169. PCI_BDF(1, 0, 0) INTA PIRQA
  170. PCI_BDF(2, 0, 1) INTA PIRQA
  171. PCI_BDF(2, 0, 2) INTA PIRQA
  172. PCI_BDF(2, 2, 0) INTB PIRQD
  173. PCI_BDF(2, 2, 1) INTB PIRQD
  174. PCI_BDF(2, 2, 2) INTB PIRQD
  175. PCI_BDF(2, 2, 3) INTB PIRQD
  176. PCI_BDF(2, 2, 4) INTB PIRQD
  177. PCI_BDF(2, 4, 0) INTC PIRQC
  178. PCI_BDF(2, 4, 1) INTC PIRQC
  179. PCI_BDF(2, 6, 0) INTD PIRQB
  180. PCI_BDF(2, 8, 0) INTA PIRQA
  181. PCI_BDF(2, 8, 1) INTA PIRQA
  182. PCI_BDF(2, 8, 2) INTA PIRQA
  183. PCI_BDF(2, 8, 3) INTA PIRQA
  184. PCI_BDF(2, 10, 0) INTB PIRQD
  185. PCI_BDF(2, 10, 1) INTB PIRQD
  186. PCI_BDF(2, 10, 2) INTB PIRQD
  187. PCI_BDF(2, 10, 3) INTB PIRQD
  188. PCI_BDF(2, 10, 4) INTB PIRQD
  189. PCI_BDF(2, 12, 0) INTC PIRQC
  190. PCI_BDF(2, 12, 1) INTC PIRQC
  191. PCI_BDF(2, 12, 2) INTC PIRQC
  192. PCI_BDF(2, 12, 3) INTC PIRQC
  193. PCI_BDF(2, 12, 4) INTC PIRQC
  194. >;
  195. };
  196. spi: spi {
  197. #address-cells = <1>;
  198. #size-cells = <0>;
  199. compatible = "intel,ich7-spi";
  200. spi-flash@0 {
  201. reg = <0>;
  202. compatible = "sst,25vf016b",
  203. "spi-flash";
  204. memory-map = <0xffe00000 0x00200000>;
  205. };
  206. };
  207. gpioa {
  208. compatible = "intel,ich6-gpio";
  209. u-boot,dm-pre-reloc;
  210. reg = <0 0x20>;
  211. bank-name = "A";
  212. };
  213. gpiob {
  214. compatible = "intel,ich6-gpio";
  215. u-boot,dm-pre-reloc;
  216. reg = <0x20 0x20>;
  217. bank-name = "B";
  218. };
  219. };
  220. };
  221. };