0009-mb-dell-Add-Latitude-E5530-Ivy-Bridge.patch 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. From 423e2e28618b08a4107aea0a2fbc1096f5a8be02 Mon Sep 17 00:00:00 2001
  2. From: Nicholas Chin <nic.c3.14@gmail.com>
  3. Date: Wed, 31 Jan 2024 22:57:07 -0700
  4. Subject: [PATCH 09/51] mb/dell: Add Latitude E5530 (Ivy Bridge)
  5. Mainboard is QXW10/LA-7902P (UMA). I do not physically have this board;
  6. someone with physical access to one sent me the output of autoport which
  7. I then modified to produce this port. I was also sent the VBT binary,
  8. which was obtained from `/sys/kernel/debug/dri/0/i915_vbt` while running
  9. version A21 of the vendor firmware.
  10. This was originally tested and found to be working as a standalone board
  11. port in Libreboot, but this variant based port in upstream coreboot has
  12. not been tested.
  13. This can be internally flashed by sending a command to the EC, which
  14. causes the EC to pull the FDO pin low and the firmware to skip setting
  15. up any chipset based write protections [1]. The EC is the SMSC MEC5055,
  16. which seems to be compatible with the existing MEC5035 code.
  17. Change-Id: Idaf6618df70aa19d8e60b2263088737712dec5f0
  18. Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
  19. ---
  20. src/mainboard/dell/snb_ivb_latitude/Kconfig | 7 +
  21. .../dell/snb_ivb_latitude/Kconfig.name | 3 +
  22. .../snb_ivb_latitude/variants/e5530/data.vbt | Bin 0 -> 6144 bytes
  23. .../variants/e5530/early_init.c | 14 ++
  24. .../snb_ivb_latitude/variants/e5530/gpio.c | 194 ++++++++++++++++++
  25. .../variants/e5530/hda_verb.c | 32 +++
  26. .../variants/e5530/overridetree.cb | 39 ++++
  27. 7 files changed, 289 insertions(+)
  28. create mode 100644 src/mainboard/dell/snb_ivb_latitude/variants/e5530/data.vbt
  29. create mode 100644 src/mainboard/dell/snb_ivb_latitude/variants/e5530/early_init.c
  30. create mode 100644 src/mainboard/dell/snb_ivb_latitude/variants/e5530/gpio.c
  31. create mode 100644 src/mainboard/dell/snb_ivb_latitude/variants/e5530/hda_verb.c
  32. create mode 100644 src/mainboard/dell/snb_ivb_latitude/variants/e5530/overridetree.cb
  33. diff --git a/src/mainboard/dell/snb_ivb_latitude/Kconfig b/src/mainboard/dell/snb_ivb_latitude/Kconfig
  34. index 03377275f0..183a67bec3 100644
  35. --- a/src/mainboard/dell/snb_ivb_latitude/Kconfig
  36. +++ b/src/mainboard/dell/snb_ivb_latitude/Kconfig
  37. @@ -17,6 +17,11 @@ config BOARD_DELL_SNB_IVB_LATITUDE_COMMON
  38. select SYSTEM_TYPE_LAPTOP
  39. select USE_NATIVE_RAMINIT
  40. +config BOARD_DELL_LATITUDE_E5530
  41. + select BOARD_DELL_SNB_IVB_LATITUDE_COMMON
  42. + select BOARD_ROMSIZE_KB_12288
  43. + select SOUTHBRIDGE_INTEL_C216
  44. +
  45. config BOARD_DELL_LATITUDE_E6430
  46. select BOARD_DELL_SNB_IVB_LATITUDE_COMMON
  47. select BOARD_ROMSIZE_KB_12288
  48. @@ -38,6 +43,7 @@ config MAINBOARD_DIR
  49. default "dell/snb_ivb_latitude"
  50. config MAINBOARD_PART_NUMBER
  51. + default "Latitude E5530" if BOARD_DELL_LATITUDE_E5530
  52. default "Latitude E6430" if BOARD_DELL_LATITUDE_E6430
  53. default "Latitude E6530" if BOARD_DELL_LATITUDE_E6530
  54. @@ -48,6 +54,7 @@ config USBDEBUG_HCD_INDEX
  55. default 2
  56. config VARIANT_DIR
  57. + default "e5530" if BOARD_DELL_LATITUDE_E5530
  58. default "e6430" if BOARD_DELL_LATITUDE_E6430
  59. default "e6530" if BOARD_DELL_LATITUDE_E6530
  60. diff --git a/src/mainboard/dell/snb_ivb_latitude/Kconfig.name b/src/mainboard/dell/snb_ivb_latitude/Kconfig.name
  61. index d89185d670..c15ef4028f 100644
  62. --- a/src/mainboard/dell/snb_ivb_latitude/Kconfig.name
  63. +++ b/src/mainboard/dell/snb_ivb_latitude/Kconfig.name
  64. @@ -1,5 +1,8 @@
  65. ## SPDX-License-Identifier: GPL-2.0-only
  66. +config BOARD_DELL_LATITUDE_E5530
  67. + bool "Latitude E5530"
  68. +
  69. config BOARD_DELL_LATITUDE_E6430
  70. bool "Latitude E6430"
  71. diff --git a/src/mainboard/dell/snb_ivb_latitude/variants/e5530/data.vbt b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/data.vbt
  72. new file mode 100644
  73. index 0000000000000000000000000000000000000000..3c54b70be7856a6420d001112d7f17f8bab46ed3
  74. GIT binary patch
  75. literal 6144
  76. zcmeHKU2Gdg5dO}0w$JA~+qs02q)iz56C9e5vuQ#oL0l3O+%|395Q2peO{y4(2uX0t
  77. zuMja1N)bPb1cE+5)fYsCK!89MFQAGChyWpk5PuR<K|G+sLmxmOR4}u5=Rg`mj70g7
  78. zvgdDic6N4dW^QKhynd)>kS^cR)3#-(r*-?zo-O^C(kLvv8XM<+Y3tdt^YY!P?!oTe
  79. zJ^ed-x6w0Lh5fN#jsv5TWE#mtd*_yky}9xDK(kOwLt+C7_AQAd#iwr=o0`gvQZ`{x
  80. z6ZeT`x^^;8+a~jSa^o~PF@8J6N5;o#dhCwebaM;!_oisw1#O9K={qQM<@Oeu$lXeN
  81. z#wJGcW4Y<2)-A{Bot(NoKX%>qdnw-AOi9bKT9Z~HL5|7PJDHz4kGlEx143q+26EH6
  82. z{4KfB^9;?<fTOaiNPy%=@LovL&q<^d1Qdi+Xex9SvIM^ZLq%9cP{A1rE>#dw(WfA;
  83. zBCR3@pCS1a;A|CZW1h7H*l#mW{%y{bf)9ofiz!EHzyiac@{RpMzz>O-<~{hx5tw%b
  84. z3ZJWD4_g-`iF`tUJb}+Vfe;XI1T2Y4_Y!iVk<<T4ce(^PWKh<?N^a`t+}vgNr25iZ
  85. z`!fTBL)ojYF5G?3y|eW=`9>MLB9et&!A7LDDE7&5ye#|hn%s#IWgagDEPNHHMUhb-
  86. ztc9t?uz{bD#kh#kpsE;AO-wWHV?4olPStRPag^~k<737bjBgm<GlC%vRgBe)4U9I%
  87. zg^XUtcE**A5ylOSn;A2V2N;hso?--U#>t|ufS}_`LGs2bcSKCVBh4s0>G7ZR_@NWx
  88. zkph}GhP}~YR?roT!61GqzQ?gBsuv3jY}UXbmr|alv^VxUqbz5<`5=!hhpaa*7DK~4
  89. zP4ad6dhH!>nYpc4{J&G-w{UiWo$zXnTz{tAq0|?c_`QJ7pKmCwIpe7Uix$P?9}v*1
  90. z(aVR6OkMkQ6oM}*UC@j78!~>7=OZCVYXeu|u0SiI4}w$uw6&0P09LF%Hp}O&IA3gl
  91. z4@ap0NfAe+q(ZVm{Bwe*Do~kbCc$Q!x7b3Sk9tLgVmsR<Q4H=9Nl;mmf2xpY<*d*-
  92. z`yI_BR#`La=Oxxt#qgS`3pER^nh^CZ%*qlq2N9@uSAtz-C7AhduB_U|{>#oOrY`tq
  93. z%|?L!zRd2-$V6^@$H<Mj3MXf#F<J+^8%<X2{tnmQTI*aK*ageBrm9^|<Ked3j_s;%
  94. zva<(Dob)BOwdcj8Z67UhYUAjbk==Of9W#D7k!DJobLx$$fXD_wuZyD&Kk-$EIY~S`
  95. zan1ANbFUW8hZ0pUw5)y??*}!;chdgq|0X5;s;m`@YdY{zs4z#z8e;13T6b4tC7gy$
  96. zTwszEQhk0!U$`3=Qi)ZbY^*|bAyvF>@ml^iaX;uzoVB3JA(|h9tcNKXHdA43N0|18
  97. z&3$2QE=)(l=6qQDAWT1oO-<KoblR+&{kk@!)1A8ch^`&b>2=+FU)Mg<35IDJ+8Tp;
  98. z40F)Xt}$rVFdsLxLk7KRn4cKhmj<a3vp%A&kI>eLd38j)HbM_Y%!3i_aD?8An8za8
  99. z@d(AD=Gv&%5;e{}p%i?_q(T*^IwzEx*Eu1wKHV9=lVUvjqv!B@cWER!2fe%`IqO?q
  100. z!=Wf4kzGUaLX8`m#*P^uL?%M#6qc9Qu(YT|ZMb#7UzCc_(DkQYEG<G&Q*QkX`CS`I
  101. z8cwQnl8A#CMH~W79L&{2*Jof_MD5t{bPTAszWUa20yPzD=*wW8)wHSu?avDhffu^!
  102. zL>Q#%k_O0@^DN5S@MXi$D;acJ>#cTV-(U@Offv4ACp4hO4$Ll!WO)s3P4=t9vpWBC
  103. zSckhlcD?xUuX=Gx96Dx{IsQ23r&;o1*+^Cp2RA3nd$A-RIHP2Q7uitC>c67FIR*5}
  104. zB3a%B!?6K=TJ$W+SJv@*9Lms{mTvWmU4Zanj_Z*lSqOGISzYp?yawOqLhVhRt#-E6
  105. zd)YW~h&meh-5prIE}Cr&7f?MMi&cqTt_^%Fa?>k(=`9jVoIf@}{g+WX#TpWuc+!2v
  106. zPG^>A|NZ2GlGsKdGqN{7>Fr7+Hc_^3z}uBhC4?nzOQ*!QyVugGjkK_~$bvtfY`h79
  107. z9rOI3;Mt}9)_G{zXTAPw`8T@6=Ut0r9R5;0#Zy|#8F;v4^UAmqft3iXL|`QXD-l?U
  108. Jz~2*rUjdP?m;3+#
  109. literal 0
  110. HcmV?d00001
  111. diff --git a/src/mainboard/dell/snb_ivb_latitude/variants/e5530/early_init.c b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/early_init.c
  112. new file mode 100644
  113. index 0000000000..ff83db095b
  114. --- /dev/null
  115. +++ b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/early_init.c
  116. @@ -0,0 +1,14 @@
  117. +/* SPDX-License-Identifier: GPL-2.0-only */
  118. +
  119. +#include <bootblock_common.h>
  120. +#include <device/pci_ops.h>
  121. +#include <ec/dell/mec5035/mec5035.h>
  122. +#include <southbridge/intel/bd82x6x/pch.h>
  123. +
  124. +void bootblock_mainboard_early_init(void)
  125. +{
  126. + pci_write_config16(PCH_LPC_DEV, LPC_EN, CNF1_LPC_EN | MC_LPC_EN
  127. + | KBC_LPC_EN | FDD_LPC_EN | LPT_LPC_EN
  128. + | COMB_LPC_EN | COMA_LPC_EN);
  129. + mec5035_early_init();
  130. +}
  131. diff --git a/src/mainboard/dell/snb_ivb_latitude/variants/e5530/gpio.c b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/gpio.c
  132. new file mode 100644
  133. index 0000000000..0599f13921
  134. --- /dev/null
  135. +++ b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/gpio.c
  136. @@ -0,0 +1,194 @@
  137. +/* SPDX-License-Identifier: GPL-2.0-only */
  138. +
  139. +#include <southbridge/intel/common/gpio.h>
  140. +
  141. +static const struct pch_gpio_set1 pch_gpio_set1_mode = {
  142. + .gpio0 = GPIO_MODE_GPIO,
  143. + .gpio1 = GPIO_MODE_GPIO,
  144. + .gpio2 = GPIO_MODE_GPIO,
  145. + .gpio3 = GPIO_MODE_GPIO,
  146. + .gpio4 = GPIO_MODE_GPIO,
  147. + .gpio5 = GPIO_MODE_NATIVE,
  148. + .gpio6 = GPIO_MODE_GPIO,
  149. + .gpio7 = GPIO_MODE_GPIO,
  150. + .gpio8 = GPIO_MODE_GPIO,
  151. + .gpio9 = GPIO_MODE_NATIVE,
  152. + .gpio10 = GPIO_MODE_NATIVE,
  153. + .gpio11 = GPIO_MODE_NATIVE,
  154. + .gpio12 = GPIO_MODE_GPIO,
  155. + .gpio13 = GPIO_MODE_GPIO,
  156. + .gpio14 = GPIO_MODE_GPIO,
  157. + .gpio15 = GPIO_MODE_GPIO,
  158. + .gpio16 = GPIO_MODE_GPIO,
  159. + .gpio17 = GPIO_MODE_GPIO,
  160. + .gpio18 = GPIO_MODE_NATIVE,
  161. + .gpio19 = GPIO_MODE_GPIO,
  162. + .gpio20 = GPIO_MODE_NATIVE,
  163. + .gpio21 = GPIO_MODE_GPIO,
  164. + .gpio22 = GPIO_MODE_GPIO,
  165. + .gpio23 = GPIO_MODE_NATIVE,
  166. + .gpio24 = GPIO_MODE_GPIO,
  167. + .gpio25 = GPIO_MODE_NATIVE,
  168. + .gpio26 = GPIO_MODE_NATIVE,
  169. + .gpio27 = GPIO_MODE_GPIO,
  170. + .gpio28 = GPIO_MODE_GPIO,
  171. + .gpio29 = GPIO_MODE_GPIO,
  172. + .gpio30 = GPIO_MODE_NATIVE,
  173. + .gpio31 = GPIO_MODE_NATIVE,
  174. +};
  175. +
  176. +static const struct pch_gpio_set1 pch_gpio_set1_direction = {
  177. + .gpio0 = GPIO_DIR_INPUT,
  178. + .gpio1 = GPIO_DIR_INPUT,
  179. + .gpio2 = GPIO_DIR_INPUT,
  180. + .gpio3 = GPIO_DIR_INPUT,
  181. + .gpio4 = GPIO_DIR_INPUT,
  182. + .gpio6 = GPIO_DIR_INPUT,
  183. + .gpio7 = GPIO_DIR_INPUT,
  184. + .gpio8 = GPIO_DIR_INPUT,
  185. + .gpio12 = GPIO_DIR_OUTPUT,
  186. + .gpio13 = GPIO_DIR_INPUT,
  187. + .gpio14 = GPIO_DIR_INPUT,
  188. + .gpio15 = GPIO_DIR_INPUT,
  189. + .gpio16 = GPIO_DIR_INPUT,
  190. + .gpio17 = GPIO_DIR_INPUT,
  191. + .gpio19 = GPIO_DIR_INPUT,
  192. + .gpio21 = GPIO_DIR_INPUT,
  193. + .gpio22 = GPIO_DIR_INPUT,
  194. + .gpio24 = GPIO_DIR_INPUT,
  195. + .gpio27 = GPIO_DIR_INPUT,
  196. + .gpio28 = GPIO_DIR_OUTPUT,
  197. + .gpio29 = GPIO_DIR_INPUT,
  198. +};
  199. +
  200. +static const struct pch_gpio_set1 pch_gpio_set1_level = {
  201. + .gpio12 = GPIO_LEVEL_HIGH,
  202. + .gpio28 = GPIO_LEVEL_LOW,
  203. +};
  204. +
  205. +static const struct pch_gpio_set1 pch_gpio_set1_reset = {
  206. + .gpio30 = GPIO_RESET_RSMRST,
  207. +};
  208. +
  209. +static const struct pch_gpio_set1 pch_gpio_set1_invert = {
  210. + .gpio0 = GPIO_INVERT,
  211. + .gpio8 = GPIO_INVERT,
  212. + .gpio13 = GPIO_INVERT,
  213. + .gpio14 = GPIO_INVERT,
  214. +};
  215. +
  216. +static const struct pch_gpio_set1 pch_gpio_set1_blink = {
  217. +};
  218. +
  219. +static const struct pch_gpio_set2 pch_gpio_set2_mode = {
  220. + .gpio32 = GPIO_MODE_NATIVE,
  221. + .gpio33 = GPIO_MODE_GPIO,
  222. + .gpio34 = GPIO_MODE_GPIO,
  223. + .gpio35 = GPIO_MODE_GPIO,
  224. + .gpio36 = GPIO_MODE_GPIO,
  225. + .gpio37 = GPIO_MODE_GPIO,
  226. + .gpio38 = GPIO_MODE_GPIO,
  227. + .gpio39 = GPIO_MODE_GPIO,
  228. + .gpio40 = GPIO_MODE_NATIVE,
  229. + .gpio41 = GPIO_MODE_NATIVE,
  230. + .gpio42 = GPIO_MODE_NATIVE,
  231. + .gpio43 = GPIO_MODE_NATIVE,
  232. + .gpio44 = GPIO_MODE_NATIVE,
  233. + .gpio45 = GPIO_MODE_GPIO,
  234. + .gpio46 = GPIO_MODE_NATIVE,
  235. + .gpio47 = GPIO_MODE_NATIVE,
  236. + .gpio48 = GPIO_MODE_GPIO,
  237. + .gpio49 = GPIO_MODE_GPIO,
  238. + .gpio50 = GPIO_MODE_NATIVE,
  239. + .gpio51 = GPIO_MODE_GPIO,
  240. + .gpio52 = GPIO_MODE_GPIO,
  241. + .gpio53 = GPIO_MODE_GPIO,
  242. + .gpio54 = GPIO_MODE_GPIO,
  243. + .gpio55 = GPIO_MODE_NATIVE,
  244. + .gpio56 = GPIO_MODE_NATIVE,
  245. + .gpio57 = GPIO_MODE_GPIO,
  246. + .gpio58 = GPIO_MODE_NATIVE,
  247. + .gpio59 = GPIO_MODE_NATIVE,
  248. + .gpio60 = GPIO_MODE_GPIO,
  249. + .gpio61 = GPIO_MODE_NATIVE,
  250. + .gpio62 = GPIO_MODE_NATIVE,
  251. + .gpio63 = GPIO_MODE_NATIVE,
  252. +};
  253. +
  254. +static const struct pch_gpio_set2 pch_gpio_set2_direction = {
  255. + .gpio33 = GPIO_DIR_INPUT,
  256. + .gpio34 = GPIO_DIR_INPUT,
  257. + .gpio35 = GPIO_DIR_INPUT,
  258. + .gpio36 = GPIO_DIR_INPUT,
  259. + .gpio37 = GPIO_DIR_INPUT,
  260. + .gpio38 = GPIO_DIR_INPUT,
  261. + .gpio39 = GPIO_DIR_INPUT,
  262. + .gpio45 = GPIO_DIR_INPUT,
  263. + .gpio48 = GPIO_DIR_INPUT,
  264. + .gpio49 = GPIO_DIR_INPUT,
  265. + .gpio51 = GPIO_DIR_INPUT,
  266. + .gpio52 = GPIO_DIR_INPUT,
  267. + .gpio53 = GPIO_DIR_INPUT,
  268. + .gpio54 = GPIO_DIR_INPUT,
  269. + .gpio57 = GPIO_DIR_INPUT,
  270. + .gpio60 = GPIO_DIR_OUTPUT,
  271. +};
  272. +
  273. +static const struct pch_gpio_set2 pch_gpio_set2_level = {
  274. + .gpio60 = GPIO_LEVEL_HIGH,
  275. +};
  276. +
  277. +static const struct pch_gpio_set2 pch_gpio_set2_reset = {
  278. +};
  279. +
  280. +static const struct pch_gpio_set3 pch_gpio_set3_mode = {
  281. + .gpio64 = GPIO_MODE_NATIVE,
  282. + .gpio65 = GPIO_MODE_NATIVE,
  283. + .gpio66 = GPIO_MODE_NATIVE,
  284. + .gpio67 = GPIO_MODE_NATIVE,
  285. + .gpio68 = GPIO_MODE_GPIO,
  286. + .gpio69 = GPIO_MODE_GPIO,
  287. + .gpio70 = GPIO_MODE_GPIO,
  288. + .gpio71 = GPIO_MODE_GPIO,
  289. + .gpio72 = GPIO_MODE_NATIVE,
  290. + .gpio73 = GPIO_MODE_NATIVE,
  291. + .gpio74 = GPIO_MODE_GPIO,
  292. + .gpio75 = GPIO_MODE_NATIVE,
  293. +};
  294. +
  295. +static const struct pch_gpio_set3 pch_gpio_set3_direction = {
  296. + .gpio68 = GPIO_DIR_INPUT,
  297. + .gpio69 = GPIO_DIR_INPUT,
  298. + .gpio70 = GPIO_DIR_INPUT,
  299. + .gpio71 = GPIO_DIR_INPUT,
  300. + .gpio74 = GPIO_DIR_INPUT,
  301. +};
  302. +
  303. +static const struct pch_gpio_set3 pch_gpio_set3_level = {
  304. +};
  305. +
  306. +static const struct pch_gpio_set3 pch_gpio_set3_reset = {
  307. +};
  308. +
  309. +const struct pch_gpio_map mainboard_gpio_map = {
  310. + .set1 = {
  311. + .mode = &pch_gpio_set1_mode,
  312. + .direction = &pch_gpio_set1_direction,
  313. + .level = &pch_gpio_set1_level,
  314. + .blink = &pch_gpio_set1_blink,
  315. + .invert = &pch_gpio_set1_invert,
  316. + .reset = &pch_gpio_set1_reset,
  317. + },
  318. + .set2 = {
  319. + .mode = &pch_gpio_set2_mode,
  320. + .direction = &pch_gpio_set2_direction,
  321. + .level = &pch_gpio_set2_level,
  322. + .reset = &pch_gpio_set2_reset,
  323. + },
  324. + .set3 = {
  325. + .mode = &pch_gpio_set3_mode,
  326. + .direction = &pch_gpio_set3_direction,
  327. + .level = &pch_gpio_set3_level,
  328. + .reset = &pch_gpio_set3_reset,
  329. + },
  330. +};
  331. diff --git a/src/mainboard/dell/snb_ivb_latitude/variants/e5530/hda_verb.c b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/hda_verb.c
  332. new file mode 100644
  333. index 0000000000..3e89a6d75f
  334. --- /dev/null
  335. +++ b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/hda_verb.c
  336. @@ -0,0 +1,32 @@
  337. +/* SPDX-License-Identifier: GPL-2.0-only */
  338. +
  339. +#include <device/azalia_device.h>
  340. +
  341. +const u32 cim_verb_data[] = {
  342. + 0x111d76df, /* Codec Vendor / Device ID: IDT */
  343. + 0x1028053d, /* Subsystem ID */
  344. + 11, /* Number of 4 dword sets */
  345. + AZALIA_SUBVENDOR(0, 0x1028053d),
  346. + AZALIA_PIN_CFG(0, 0x0a, 0x04a11020),
  347. + AZALIA_PIN_CFG(0, 0x0b, 0x0421101f),
  348. + AZALIA_PIN_CFG(0, 0x0c, 0x400000f0),
  349. + AZALIA_PIN_CFG(0, 0x0d, 0x90170110),
  350. + AZALIA_PIN_CFG(0, 0x0e, 0x23011050),
  351. + AZALIA_PIN_CFG(0, 0x0f, 0x23a1102e),
  352. + AZALIA_PIN_CFG(0, 0x10, 0x400000f3),
  353. + AZALIA_PIN_CFG(0, 0x11, 0x400000f0),
  354. + AZALIA_PIN_CFG(0, 0x1f, 0x400000f0),
  355. + AZALIA_PIN_CFG(0, 0x20, 0xd5a301a0),
  356. +
  357. + 0x80862806, /* Codec Vendor / Device ID: Intel */
  358. + 0x80860101, /* Subsystem ID */
  359. + 4, /* Number of 4 dword sets */
  360. + AZALIA_SUBVENDOR(3, 0x80860101),
  361. + AZALIA_PIN_CFG(3, 0x05, 0x18560010),
  362. + AZALIA_PIN_CFG(3, 0x06, 0x18560020),
  363. + AZALIA_PIN_CFG(3, 0x07, 0x18560030),
  364. +};
  365. +
  366. +const u32 pc_beep_verbs[0] = {};
  367. +
  368. +AZALIA_ARRAY_SIZES;
  369. diff --git a/src/mainboard/dell/snb_ivb_latitude/variants/e5530/overridetree.cb b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/overridetree.cb
  370. new file mode 100644
  371. index 0000000000..85c448d010
  372. --- /dev/null
  373. +++ b/src/mainboard/dell/snb_ivb_latitude/variants/e5530/overridetree.cb
  374. @@ -0,0 +1,39 @@
  375. +## SPDX-License-Identifier: GPL-2.0-or-later
  376. +
  377. +chip northbridge/intel/sandybridge
  378. + device domain 0 on
  379. + subsystemid 0x1028 0x053d inherit
  380. +
  381. + device ref igd on
  382. + register "gpu_cpu_backlight" = "0x00000000"
  383. + register "gpu_pch_backlight" = "0x03d003d0"
  384. + end
  385. +
  386. + chip southbridge/intel/bd82x6x
  387. + register "usb_port_config" = "{
  388. + { 1, 1, 0 },
  389. + { 1, 1, 0 },
  390. + { 1, 1, 1 },
  391. + { 1, 1, 1 },
  392. + { 1, 1, 2 },
  393. + { 1, 1, 2 },
  394. + { 1, 1, 3 },
  395. + { 1, 0, 3 },
  396. + { 1, 2, 4 },
  397. + { 1, 1, 4 },
  398. + { 1, 1, 5 },
  399. + { 1, 1, 5 },
  400. + { 1, 0, 6 },
  401. + { 1, 1, 6 },
  402. + }"
  403. +
  404. + device ref xhci on
  405. + register "superspeed_capable_ports" = "0x0000000f"
  406. + register "xhci_overcurrent_mapping" = "0x00000c03"
  407. + register "xhci_switchable_ports" = "0x0000000f"
  408. + end
  409. + device ref gbe off end
  410. + device ref pcie_rp7 on end # BCM5761 Ethernet
  411. + end
  412. + end
  413. +end
  414. --
  415. 2.39.5