conga-qeval20-qa3-e3845.dts 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. /*
  2. * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
  3. * Copyright (C) 2016 Stefan Roese <sr@denx.de>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. /dts-v1/;
  8. #include <dt-bindings/gpio/x86-gpio.h>
  9. #include <dt-bindings/interrupt-router/intel-irq.h>
  10. /include/ "skeleton.dtsi"
  11. /include/ "serial.dtsi"
  12. /include/ "rtc.dtsi"
  13. /include/ "tsc_timer.dtsi"
  14. / {
  15. model = "congatec-QEVAL20-QA3-E3845";
  16. compatible = "congatec,qeval20-qa3-e3845", "intel,baytrail";
  17. aliases {
  18. serial0 = &serial;
  19. spi0 = &spi;
  20. };
  21. config {
  22. silent_console = <0>;
  23. };
  24. pch_pinctrl {
  25. compatible = "intel,x86-pinctrl";
  26. reg = <0 0>;
  27. };
  28. chosen {
  29. stdout-path = "/serial";
  30. };
  31. cpus {
  32. #address-cells = <1>;
  33. #size-cells = <0>;
  34. cpu@0 {
  35. device_type = "cpu";
  36. compatible = "intel,baytrail-cpu";
  37. reg = <0>;
  38. intel,apic-id = <0>;
  39. };
  40. cpu@1 {
  41. device_type = "cpu";
  42. compatible = "intel,baytrail-cpu";
  43. reg = <1>;
  44. intel,apic-id = <2>;
  45. };
  46. cpu@2 {
  47. device_type = "cpu";
  48. compatible = "intel,baytrail-cpu";
  49. reg = <2>;
  50. intel,apic-id = <4>;
  51. };
  52. cpu@3 {
  53. device_type = "cpu";
  54. compatible = "intel,baytrail-cpu";
  55. reg = <3>;
  56. intel,apic-id = <6>;
  57. };
  58. };
  59. pci {
  60. compatible = "intel,pci-baytrail", "pci-x86";
  61. #address-cells = <3>;
  62. #size-cells = <2>;
  63. u-boot,dm-pre-reloc;
  64. ranges = <0x02000000 0x0 0x80000000 0x80000000 0 0x40000000
  65. 0x42000000 0x0 0xc0000000 0xc0000000 0 0x20000000
  66. 0x01000000 0x0 0x2000 0x2000 0 0xe000>;
  67. pch@1f,0 {
  68. reg = <0x0000f800 0 0 0 0>;
  69. compatible = "pci8086,0f1c", "intel,pch9";
  70. #address-cells = <1>;
  71. #size-cells = <1>;
  72. irq-router {
  73. compatible = "intel,irq-router";
  74. intel,pirq-config = "ibase";
  75. intel,ibase-offset = <0x50>;
  76. intel,actl-addr = <0>;
  77. intel,pirq-link = <8 8>;
  78. intel,pirq-mask = <0xdee0>;
  79. intel,pirq-routing = <
  80. /* BayTrail PCI devices */
  81. PCI_BDF(0, 2, 0) INTA PIRQA
  82. PCI_BDF(0, 3, 0) INTA PIRQA
  83. PCI_BDF(0, 16, 0) INTA PIRQA
  84. PCI_BDF(0, 17, 0) INTA PIRQA
  85. PCI_BDF(0, 18, 0) INTA PIRQA
  86. PCI_BDF(0, 19, 0) INTA PIRQA
  87. PCI_BDF(0, 20, 0) INTA PIRQA
  88. PCI_BDF(0, 21, 0) INTA PIRQA
  89. PCI_BDF(0, 22, 0) INTA PIRQA
  90. PCI_BDF(0, 23, 0) INTA PIRQA
  91. PCI_BDF(0, 24, 0) INTA PIRQA
  92. PCI_BDF(0, 24, 1) INTC PIRQC
  93. PCI_BDF(0, 24, 2) INTD PIRQD
  94. PCI_BDF(0, 24, 3) INTB PIRQB
  95. PCI_BDF(0, 24, 4) INTA PIRQA
  96. PCI_BDF(0, 24, 5) INTC PIRQC
  97. PCI_BDF(0, 24, 6) INTD PIRQD
  98. PCI_BDF(0, 24, 7) INTB PIRQB
  99. PCI_BDF(0, 26, 0) INTA PIRQA
  100. PCI_BDF(0, 27, 0) INTA PIRQA
  101. PCI_BDF(0, 28, 0) INTA PIRQA
  102. PCI_BDF(0, 28, 1) INTB PIRQB
  103. PCI_BDF(0, 28, 2) INTC PIRQC
  104. PCI_BDF(0, 28, 3) INTD PIRQD
  105. PCI_BDF(0, 29, 0) INTA PIRQA
  106. PCI_BDF(0, 30, 0) INTA PIRQA
  107. PCI_BDF(0, 30, 1) INTD PIRQD
  108. PCI_BDF(0, 30, 2) INTB PIRQB
  109. PCI_BDF(0, 30, 3) INTC PIRQC
  110. PCI_BDF(0, 30, 4) INTD PIRQD
  111. PCI_BDF(0, 30, 5) INTB PIRQB
  112. PCI_BDF(0, 31, 3) INTB PIRQB
  113. /*
  114. * PCIe root ports downstream
  115. * interrupts
  116. */
  117. PCI_BDF(1, 0, 0) INTA PIRQA
  118. PCI_BDF(1, 0, 0) INTB PIRQB
  119. PCI_BDF(1, 0, 0) INTC PIRQC
  120. PCI_BDF(1, 0, 0) INTD PIRQD
  121. PCI_BDF(2, 0, 0) INTA PIRQB
  122. PCI_BDF(2, 0, 0) INTB PIRQC
  123. PCI_BDF(2, 0, 0) INTC PIRQD
  124. PCI_BDF(2, 0, 0) INTD PIRQA
  125. PCI_BDF(3, 0, 0) INTA PIRQC
  126. PCI_BDF(3, 0, 0) INTB PIRQD
  127. PCI_BDF(3, 0, 0) INTC PIRQA
  128. PCI_BDF(3, 0, 0) INTD PIRQB
  129. PCI_BDF(4, 0, 0) INTA PIRQD
  130. PCI_BDF(4, 0, 0) INTB PIRQA
  131. PCI_BDF(4, 0, 0) INTC PIRQB
  132. PCI_BDF(4, 0, 0) INTD PIRQC
  133. >;
  134. };
  135. spi: spi {
  136. #address-cells = <1>;
  137. #size-cells = <0>;
  138. compatible = "intel,ich9-spi";
  139. spi-flash@0 {
  140. #address-cells = <1>;
  141. #size-cells = <1>;
  142. reg = <0>;
  143. compatible = "stmicro,n25q064a",
  144. "spi-flash";
  145. memory-map = <0xff800000 0x00800000>;
  146. rw-mrc-cache {
  147. label = "rw-mrc-cache";
  148. reg = <0x006f0000 0x00010000>;
  149. };
  150. };
  151. };
  152. gpioa {
  153. compatible = "intel,ich6-gpio";
  154. u-boot,dm-pre-reloc;
  155. reg = <0 0x20>;
  156. bank-name = "A";
  157. };
  158. gpiob {
  159. compatible = "intel,ich6-gpio";
  160. u-boot,dm-pre-reloc;
  161. reg = <0x20 0x20>;
  162. bank-name = "B";
  163. };
  164. gpioc {
  165. compatible = "intel,ich6-gpio";
  166. u-boot,dm-pre-reloc;
  167. reg = <0x40 0x20>;
  168. bank-name = "C";
  169. };
  170. gpiod {
  171. compatible = "intel,ich6-gpio";
  172. u-boot,dm-pre-reloc;
  173. reg = <0x60 0x20>;
  174. bank-name = "D";
  175. };
  176. gpioe {
  177. compatible = "intel,ich6-gpio";
  178. u-boot,dm-pre-reloc;
  179. reg = <0x80 0x20>;
  180. bank-name = "E";
  181. };
  182. gpiof {
  183. compatible = "intel,ich6-gpio";
  184. u-boot,dm-pre-reloc;
  185. reg = <0xA0 0x20>;
  186. bank-name = "F";
  187. };
  188. };
  189. };
  190. fsp {
  191. compatible = "intel,baytrail-fsp";
  192. fsp,mrc-init-tseg-size = <0>;
  193. fsp,mrc-init-mmio-size = <0x800>;
  194. fsp,mrc-init-spd-addr1 = <0xa0>;
  195. fsp,mrc-init-spd-addr2 = <0xa2>;
  196. fsp,emmc-boot-mode = <2>;
  197. fsp,enable-sdio;
  198. fsp,enable-sdcard;
  199. fsp,enable-hsuart1;
  200. fsp,enable-spi;
  201. fsp,enable-sata;
  202. fsp,sata-mode = <1>;
  203. fsp,enable-lpe;
  204. fsp,lpss-sio-enable-pci-mode;
  205. fsp,enable-dma0;
  206. fsp,enable-dma1;
  207. fsp,enable-i2c0;
  208. fsp,enable-i2c1;
  209. fsp,enable-i2c2;
  210. fsp,enable-i2c3;
  211. fsp,enable-i2c4;
  212. fsp,enable-i2c5;
  213. fsp,enable-i2c6;
  214. fsp,enable-pwm0;
  215. fsp,enable-pwm1;
  216. fsp,igd-dvmt50-pre-alloc = <2>;
  217. fsp,aperture-size = <2>;
  218. fsp,gtt-size = <2>;
  219. fsp,scc-enable-pci-mode;
  220. fsp,os-selection = <4>;
  221. fsp,emmc45-ddr50-enabled;
  222. fsp,emmc45-retune-timer-value = <8>;
  223. fsp,enable-igd;
  224. fsp,enable-memory-down;
  225. fsp,memory-down-params {
  226. compatible = "intel,baytrail-fsp-mdp";
  227. fsp,dram-speed = <2>; /* 2=1333MHz */
  228. fsp,dram-type = <1>; /* 1=DDR3L */
  229. fsp,dimm-0-enable;
  230. fsp,dimm-1-enable;
  231. fsp,dimm-width = <1>; /* 1=x16, 2=x32 */
  232. fsp,dimm-density = <2>; /* 2=4Gbit */
  233. fsp,dimm-bus-width = <3>; /* 3=64bits */
  234. fsp,dimm-sides = <0>; /* 0=1 ranks -> 0x2b */
  235. /* These following values might need a re-visit */
  236. fsp,dimm-tcl = <8>;
  237. fsp,dimm-trpt-rcd = <8>;
  238. fsp,dimm-twr = <8>;
  239. fsp,dimm-twtr = <4>;
  240. fsp,dimm-trrd = <6>;
  241. fsp,dimm-trtp = <4>;
  242. fsp,dimm-tfaw = <22>;
  243. };
  244. };
  245. microcode {
  246. update@0 {
  247. #include "microcode/m0130673325.dtsi"
  248. };
  249. update@1 {
  250. #include "microcode/m0130679907.dtsi"
  251. };
  252. };
  253. };