crownbay.dts 5.7 KB

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