coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
chip.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <console/console.h>
4 #include <device/device.h>
5 #include <device/pci.h>
6 #include <device/pci_ops.h>
7 #include <fsp/util.h>
8 #include <soc/pci_devs.h>
9 #include <soc/ramstage.h>
10 
11 #include "chip.h"
12 
13 static struct device_operations pci_domain_ops = {
15  .set_resources = pci_domain_set_resources,
16  .scan_bus = pci_domain_scan_bus,
17 };
18 
19 static struct device_operations cpu_bus_ops = {
21  .set_resources = noop_set_resources,
22  .init = mp_cpu_bus_init,
23 };
24 
25 static void enable_dev(struct device *dev)
26 {
27  /* Set the operations if it is a special bus type */
28  if (dev->path.type == DEVICE_PATH_DOMAIN) {
29  dev->ops = &pci_domain_ops;
30 
31  } else if (dev->path.type == DEVICE_PATH_CPU_CLUSTER) {
32  dev->ops = &cpu_bus_ops;
33 
34  } else if (dev->path.type == DEVICE_PATH_PCI) {
35  /* Handle south cluster enablement. */
36  if (PCI_SLOT(dev->path.pci.devfn) > GFX_DEV &&
37  (dev->ops == NULL || dev->ops->enable == NULL)) {
39  }
40  }
41 }
42 
43 __weak void board_silicon_USB2_override(SILICON_INIT_UPD *params)
44 {
45 }
46 
47 void soc_silicon_init_params(SILICON_INIT_UPD *params)
48 {
49  struct device *dev = pcidev_on_root(LPC_DEV, LPC_FUNC);
51 
52  if (!dev) {
53  printk(BIOS_ERR, "Error! Device (%s) not found, %s!\n",
54  dev_path(dev), __func__);
55  return;
56  }
57 
58  config = config_of(dev);
59 
60  /* Set the parameters for SiliconInit */
61  printk(BIOS_DEBUG, "Updating UPD values for SiliconInit\n");
62  params->PcdSdcardMode = config->PcdSdcardMode;
63  params->PcdEnableHsuart0 = config->PcdEnableHsuart0;
64  params->PcdEnableHsuart1 = config->PcdEnableHsuart1;
65  params->PcdEnableAzalia = config->PcdEnableAzalia;
66  params->PcdEnableSata = config->PcdEnableSata;
67  params->PcdEnableXhci = config->PcdEnableXhci;
68  params->PcdEnableLpe = config->PcdEnableLpe;
69  params->PcdEnableDma0 = config->PcdEnableDma0;
70  params->PcdEnableDma1 = config->PcdEnableDma1;
71  params->PcdEnableI2C0 = config->PcdEnableI2C0;
72  params->PcdEnableI2C1 = config->PcdEnableI2C1;
73  params->PcdEnableI2C2 = config->PcdEnableI2C2;
74  params->PcdEnableI2C3 = config->PcdEnableI2C3;
75  params->PcdEnableI2C4 = config->PcdEnableI2C4;
76  params->PcdEnableI2C5 = config->PcdEnableI2C5;
77  params->PcdEnableI2C6 = config->PcdEnableI2C6;
78  params->GraphicsConfigPtr = 0;
79  params->AzaliaConfigPtr = 0;
80  params->PunitPwrConfigDisable = config->PunitPwrConfigDisable;
81  params->ChvSvidConfig = config->ChvSvidConfig;
82  params->DptfDisable = config->DptfDisable;
83  params->PcdEmmcMode = config->PcdEmmcMode;
84  params->PcdUsb3ClkSsc = 1;
85  params->PcdDispClkSsc = 1;
86  params->PcdSataClkSsc = 1;
87 
88  params->Usb2Port0PerPortPeTxiSet = config->Usb2Port0PerPortPeTxiSet;
89  params->Usb2Port0PerPortTxiSet = config->Usb2Port0PerPortTxiSet;
90  params->Usb2Port0IUsbTxEmphasisEn = config->Usb2Port0IUsbTxEmphasisEn;
91  params->Usb2Port0PerPortTxPeHalf = config->Usb2Port0PerPortTxPeHalf;
92 
93  params->Usb2Port1PerPortPeTxiSet = config->Usb2Port1PerPortPeTxiSet;
94  params->Usb2Port1PerPortTxiSet = config->Usb2Port1PerPortTxiSet;
95  params->Usb2Port1IUsbTxEmphasisEn = config->Usb2Port1IUsbTxEmphasisEn;
96  params->Usb2Port1PerPortTxPeHalf = config->Usb2Port1PerPortTxPeHalf;
97 
98  params->Usb2Port2PerPortPeTxiSet = config->Usb2Port2PerPortPeTxiSet;
99  params->Usb2Port2PerPortTxiSet = config->Usb2Port2PerPortTxiSet;
100  params->Usb2Port2IUsbTxEmphasisEn = config->Usb2Port2IUsbTxEmphasisEn;
101  params->Usb2Port2PerPortTxPeHalf = config->Usb2Port2PerPortTxPeHalf;
102 
103  params->Usb2Port3PerPortPeTxiSet = config->Usb2Port3PerPortPeTxiSet;
104  params->Usb2Port3PerPortTxiSet = config->Usb2Port3PerPortTxiSet;
105  params->Usb2Port3IUsbTxEmphasisEn = config->Usb2Port3IUsbTxEmphasisEn;
106  params->Usb2Port3PerPortTxPeHalf = config->Usb2Port3PerPortTxPeHalf;
107 
108  params->Usb2Port4PerPortPeTxiSet = config->Usb2Port4PerPortPeTxiSet;
109  params->Usb2Port4PerPortTxiSet = config->Usb2Port4PerPortTxiSet;
110  params->Usb2Port4IUsbTxEmphasisEn = config->Usb2Port4IUsbTxEmphasisEn;
111  params->Usb2Port4PerPortTxPeHalf = config->Usb2Port4PerPortTxPeHalf;
112 
113  params->Usb3Lane0Ow2tapgen2deemph3p5 = config->Usb3Lane0Ow2tapgen2deemph3p5;
114  params->Usb3Lane1Ow2tapgen2deemph3p5 = config->Usb3Lane1Ow2tapgen2deemph3p5;
115  params->Usb3Lane2Ow2tapgen2deemph3p5 = config->Usb3Lane2Ow2tapgen2deemph3p5;
116  params->Usb3Lane3Ow2tapgen2deemph3p5 = config->Usb3Lane3Ow2tapgen2deemph3p5;
117 
118  params->PcdSataInterfaceSpeed = 3;
119  params->PcdPchUsbSsicPort = config->PcdPchUsbSsicPort;
120  params->PcdPchUsbHsicPort = config->PcdPchUsbHsicPort;
121  params->PcdPcieRootPortSpeed = 0;
122  params->PcdPchSsicEnable = config->PcdPchSsicEnable;
123  params->PcdRtcLock = 0;
124  params->PMIC_I2CBus = config->PMIC_I2CBus;
125  params->ISPEnable = config->ISPEnable;
126  params->ISPPciDevConfig = config->ISPPciDevConfig;
127  params->PcdSdDetectChk = config->PcdSdDetectChk;
128  params->I2C0Frequency = config->I2C0Frequency;
129  params->I2C1Frequency = config->I2C1Frequency;
130  params->I2C2Frequency = config->I2C2Frequency;
131  params->I2C3Frequency = config->I2C3Frequency;
132  params->I2C4Frequency = config->I2C4Frequency;
133  params->I2C5Frequency = config->I2C5Frequency;
134  params->I2C6Frequency = config->I2C6Frequency;
135 
137 }
138 
139 void soc_display_silicon_init_params(const SILICON_INIT_UPD *old, SILICON_INIT_UPD *new)
140 {
141  /* Display the parameters for SiliconInit */
142  printk(BIOS_SPEW, "UPD values for SiliconInit:\n");
143 
144  fsp_display_upd_value("PcdSdcardMode", 1,
145  old->PcdSdcardMode,
146  new->PcdSdcardMode);
147  fsp_display_upd_value("PcdEnableHsuart0", 1,
148  old->PcdEnableHsuart0,
149  new->PcdEnableHsuart0);
150  fsp_display_upd_value("PcdEnableHsuart1", 1,
151  old->PcdEnableHsuart1,
152  new->PcdEnableHsuart1);
153  fsp_display_upd_value("PcdEnableAzalia", 1,
154  old->PcdEnableAzalia,
155  new->PcdEnableAzalia);
156  fsp_display_upd_value("AzaliaConfigPtr", 4,
157  (uint32_t)old->AzaliaConfigPtr,
158  (uint32_t)new->AzaliaConfigPtr);
159 
160  fsp_display_upd_value("PcdEnableSata", 1, old->PcdEnableSata, new->PcdEnableSata);
161  fsp_display_upd_value("PcdEnableXhci", 1, old->PcdEnableXhci, new->PcdEnableXhci);
162  fsp_display_upd_value("PcdEnableLpe", 1, old->PcdEnableLpe, new->PcdEnableLpe);
163  fsp_display_upd_value("PcdEnableDma0", 1, old->PcdEnableDma0, new->PcdEnableDma0);
164  fsp_display_upd_value("PcdEnableDma1", 1, old->PcdEnableDma1, new->PcdEnableDma1);
165  fsp_display_upd_value("PcdEnableI2C0", 1, old->PcdEnableI2C0, new->PcdEnableI2C0);
166  fsp_display_upd_value("PcdEnableI2C1", 1, old->PcdEnableI2C1, new->PcdEnableI2C1);
167  fsp_display_upd_value("PcdEnableI2C2", 1, old->PcdEnableI2C2, new->PcdEnableI2C2);
168  fsp_display_upd_value("PcdEnableI2C3", 1, old->PcdEnableI2C3, new->PcdEnableI2C3);
169  fsp_display_upd_value("PcdEnableI2C4", 1, old->PcdEnableI2C4, new->PcdEnableI2C4);
170  fsp_display_upd_value("PcdEnableI2C5", 1, old->PcdEnableI2C5, new->PcdEnableI2C5);
171  fsp_display_upd_value("PcdEnableI2C6", 1, old->PcdEnableI2C6, new->PcdEnableI2C6);
172 
173  fsp_display_upd_value("PcdGraphicsConfigPtr", 4,
174  old->GraphicsConfigPtr,
175  new->GraphicsConfigPtr);
176  fsp_display_upd_value("GpioFamilyInitTablePtr", 4,
177  (uint32_t)old->GpioFamilyInitTablePtr,
178  (uint32_t)new->GpioFamilyInitTablePtr);
179  fsp_display_upd_value("GpioPadInitTablePtr", 4,
180  (uint32_t)old->GpioPadInitTablePtr,
181  (uint32_t)new->GpioPadInitTablePtr);
182  fsp_display_upd_value("PunitPwrConfigDisable", 1,
183  old->PunitPwrConfigDisable,
184  new->PunitPwrConfigDisable);
185 
186  fsp_display_upd_value("ChvSvidConfig", 1, old->ChvSvidConfig, new->ChvSvidConfig);
187  fsp_display_upd_value("DptfDisable", 1, old->DptfDisable, new->DptfDisable);
188  fsp_display_upd_value("PcdEmmcMode", 1, old->PcdEmmcMode, new->PcdEmmcMode);
189  fsp_display_upd_value("PcdUsb3ClkSsc", 1, old->PcdUsb3ClkSsc, new->PcdUsb3ClkSsc);
190  fsp_display_upd_value("PcdDispClkSsc", 1, old->PcdDispClkSsc, new->PcdDispClkSsc);
191  fsp_display_upd_value("PcdSataClkSsc", 1, old->PcdSataClkSsc, new->PcdSataClkSsc);
192 
193  fsp_display_upd_value("Usb2Port0PerPortPeTxiSet", 1,
194  old->Usb2Port0PerPortPeTxiSet,
195  new->Usb2Port0PerPortPeTxiSet);
196  fsp_display_upd_value("Usb2Port0PerPortTxiSet", 1,
197  old->Usb2Port0PerPortTxiSet,
198  new->Usb2Port0PerPortTxiSet);
199  fsp_display_upd_value("Usb2Port0IUsbTxEmphasisEn", 1,
200  old->Usb2Port0IUsbTxEmphasisEn,
201  new->Usb2Port0IUsbTxEmphasisEn);
202  fsp_display_upd_value("Usb2Port0PerPortTxPeHalf", 1,
203  old->Usb2Port0PerPortTxPeHalf,
204  new->Usb2Port0PerPortTxPeHalf);
205  fsp_display_upd_value("Usb2Port1PerPortPeTxiSet", 1,
206  old->Usb2Port1PerPortPeTxiSet,
207  new->Usb2Port1PerPortPeTxiSet);
208  fsp_display_upd_value("Usb2Port1PerPortTxiSet", 1,
209  old->Usb2Port1PerPortTxiSet,
210  new->Usb2Port1PerPortTxiSet);
211  fsp_display_upd_value("Usb2Port1IUsbTxEmphasisEn", 1,
212  old->Usb2Port1IUsbTxEmphasisEn,
213  new->Usb2Port1IUsbTxEmphasisEn);
214  fsp_display_upd_value("Usb2Port1PerPortTxPeHalf", 1,
215  old->Usb2Port1PerPortTxPeHalf,
216  new->Usb2Port1PerPortTxPeHalf);
217  fsp_display_upd_value("Usb2Port2PerPortPeTxiSet", 1,
218  old->Usb2Port2PerPortPeTxiSet,
219  new->Usb2Port2PerPortPeTxiSet);
220  fsp_display_upd_value("Usb2Port2PerPortTxiSet", 1,
221  old->Usb2Port2PerPortTxiSet,
222  new->Usb2Port2PerPortTxiSet);
223  fsp_display_upd_value("Usb2Port2IUsbTxEmphasisEn", 1,
224  old->Usb2Port2IUsbTxEmphasisEn,
225  new->Usb2Port2IUsbTxEmphasisEn);
226  fsp_display_upd_value("Usb2Port2PerPortTxPeHalf", 1,
227  old->Usb2Port2PerPortTxPeHalf,
228  new->Usb2Port2PerPortTxPeHalf);
229  fsp_display_upd_value("Usb2Port3PerPortPeTxiSet", 1,
230  old->Usb2Port3PerPortPeTxiSet,
231  new->Usb2Port3PerPortPeTxiSet);
232  fsp_display_upd_value("Usb2Port3PerPortTxiSet", 1,
233  old->Usb2Port3PerPortTxiSet,
234  new->Usb2Port3PerPortTxiSet);
235  fsp_display_upd_value("Usb2Port3IUsbTxEmphasisEn", 1,
236  old->Usb2Port3IUsbTxEmphasisEn,
237  new->Usb2Port3IUsbTxEmphasisEn);
238  fsp_display_upd_value("Usb2Port3PerPortTxPeHalf", 1,
239  old->Usb2Port3PerPortTxPeHalf,
240  new->Usb2Port3PerPortTxPeHalf);
241  fsp_display_upd_value("Usb2Port4PerPortPeTxiSet", 1,
242  old->Usb2Port4PerPortPeTxiSet,
243  new->Usb2Port4PerPortPeTxiSet);
244  fsp_display_upd_value("Usb2Port4PerPortTxiSet", 1,
245  old->Usb2Port4PerPortTxiSet,
246  new->Usb2Port4PerPortTxiSet);
247  fsp_display_upd_value("Usb2Port4IUsbTxEmphasisEn", 1,
248  old->Usb2Port4IUsbTxEmphasisEn,
249  new->Usb2Port4IUsbTxEmphasisEn);
250  fsp_display_upd_value("Usb2Port4PerPortTxPeHalf", 1,
251  old->Usb2Port4PerPortTxPeHalf,
252  new->Usb2Port4PerPortTxPeHalf);
253  fsp_display_upd_value("Usb3Lane0Ow2tapgen2deemph3p5", 1,
254  old->Usb3Lane0Ow2tapgen2deemph3p5,
255  new->Usb3Lane0Ow2tapgen2deemph3p5);
256  fsp_display_upd_value("Usb3Lane1Ow2tapgen2deemph3p5", 1,
257  old->Usb3Lane1Ow2tapgen2deemph3p5,
258  new->Usb3Lane1Ow2tapgen2deemph3p5);
259  fsp_display_upd_value("Usb3Lane2Ow2tapgen2deemph3p5", 1,
260  old->Usb3Lane2Ow2tapgen2deemph3p5,
261  new->Usb3Lane2Ow2tapgen2deemph3p5);
262  fsp_display_upd_value("Usb3Lane3Ow2tapgen2deemph3p5", 1,
263  old->Usb3Lane3Ow2tapgen2deemph3p5,
264  new->Usb3Lane3Ow2tapgen2deemph3p5);
265  fsp_display_upd_value("PcdSataInterfaceSpeed", 1,
266  old->PcdSataInterfaceSpeed,
267  new->PcdSataInterfaceSpeed);
268  fsp_display_upd_value("PcdPchUsbSsicPort", 1,
269  old->PcdPchUsbSsicPort,
270  new->PcdPchUsbSsicPort);
271  fsp_display_upd_value("PcdPchUsbHsicPort", 1,
272  old->PcdPchUsbHsicPort,
273  new->PcdPchUsbHsicPort);
274  fsp_display_upd_value("PcdPcieRootPortSpeed", 1,
275  old->PcdPcieRootPortSpeed,
276  new->PcdPcieRootPortSpeed);
277  fsp_display_upd_value("PcdPchSsicEnable", 1,
278  old->PcdPchSsicEnable,
279  new->PcdPchSsicEnable);
280 
281  fsp_display_upd_value("PcdLogoPtr", 4, old->PcdLogoPtr, new->PcdLogoPtr);
282  fsp_display_upd_value("PcdLogoSize", 4, old->PcdLogoSize, new->PcdLogoSize);
283  fsp_display_upd_value("PcdRtcLock", 1, old->PcdRtcLock, new->PcdRtcLock);
284  fsp_display_upd_value("PMIC_I2CBus", 1, old->PMIC_I2CBus, new->PMIC_I2CBus);
285  fsp_display_upd_value("ISPEnable", 1, old->ISPEnable, new->ISPEnable);
286  fsp_display_upd_value("ISPPciDevConfig", 1, old->ISPPciDevConfig, new->ISPPciDevConfig);
287  fsp_display_upd_value("PcdSdDetectChk", 1, old->PcdSdDetectChk, new->PcdSdDetectChk);
288 }
289 
290 /* Called at BS_DEV_INIT_CHIPS time -- very early. Just after BS_PRE_DEVICE. */
291 static void soc_init(void *chip_info)
292 {
293  soc_init_pre_device(chip_info);
294 }
295 
297  CHIP_NAME("Intel Braswell SoC")
298  .enable_dev = enable_dev,
299  .init = soc_init,
300 };
301 
302 struct pci_operations soc_pci_ops = {
303  .set_subsystem = &pci_dev_set_subsystem,
304 };
305 
306 /**
307  Return SoC stepping type
308 
309  @retval SOC_STEPPING SoC stepping type
310 **/
311 int SocStepping(void)
312 {
313  struct device *dev = pcidev_on_root(LPC_DEV, LPC_FUNC);
314  const u8 revid = pci_read_config8(dev, 0x8);
315 
317  case V_PCH_LPC_RID_A0:
318  return SocA0;
319  case V_PCH_LPC_RID_A1:
320  return SocA1;
321  case V_PCH_LPC_RID_A2:
322  return SocA2;
323  case V_PCH_LPC_RID_A3:
324  return SocA3;
325  case V_PCH_LPC_RID_A4:
326  return SocA4;
327  case V_PCH_LPC_RID_A5:
328  return SocA5;
329  case V_PCH_LPC_RID_A6:
330  return SocA6;
331  case V_PCH_LPC_RID_A7:
332  return SocA7;
333  case V_PCH_LPC_RID_B0:
334  return SocB0;
335  case V_PCH_LPC_RID_B1:
336  return SocB1;
337  case V_PCH_LPC_RID_B2:
338  return SocB2;
339  case V_PCH_LPC_RID_B3:
340  return SocB3;
341  case V_PCH_LPC_RID_B4:
342  return SocB4;
343  case V_PCH_LPC_RID_B5:
344  return SocB5;
345  case V_PCH_LPC_RID_B6:
346  return SocB6;
347  case V_PCH_LPC_RID_B7:
348  return SocB7;
349  case V_PCH_LPC_RID_C0:
350  return SocC0;
351  case V_PCH_LPC_RID_C1:
352  return SocC1;
353  case V_PCH_LPC_RID_C2:
354  return SocC2;
355  case V_PCH_LPC_RID_C3:
356  return SocC3;
357  case V_PCH_LPC_RID_C4:
358  return SocC4;
359  case V_PCH_LPC_RID_C5:
360  return SocC5;
361  case V_PCH_LPC_RID_C6:
362  return SocC6;
363  case V_PCH_LPC_RID_C7:
364  return SocC7;
365  case V_PCH_LPC_RID_D0:
366  return SocD0;
367  case V_PCH_LPC_RID_D1:
368  return SocD1;
369  case V_PCH_LPC_RID_D2:
370  return SocD2;
371  case V_PCH_LPC_RID_D3:
372  return SocD3;
373  case V_PCH_LPC_RID_D4:
374  return SocD4;
375  case V_PCH_LPC_RID_D5:
376  return SocD5;
377  case V_PCH_LPC_RID_D6:
378  return SocD6;
379  case V_PCH_LPC_RID_D7:
380  return SocD7;
381  default:
382  return SocSteppingMax;
383  }
384 }
static struct sdram_info params
Definition: sdram_configs.c:83
#define printk(level,...)
Definition: stdlib.h:16
DEVTREE_CONST struct device * pcidev_on_root(uint8_t dev, uint8_t fn)
Definition: device_const.c:260
const char * dev_path(const struct device *dev)
Definition: device_util.c:149
void fsp_display_upd_value(const char *name, uint32_t size, uint64_t old, uint64_t new)
Definition: fsp_util.c:226
#define CHIP_NAME(X)
Definition: device.h:32
static void noop_read_resources(struct device *dev)
Standard device operations function pointers shims.
Definition: device.h:73
static void noop_set_resources(struct device *dev)
Definition: device.h:74
static void mp_cpu_bus_init(struct device *dev)
Definition: device.h:240
static DEVTREE_CONST void * config_of(const struct device *dev)
Definition: device.h:382
static __always_inline u8 pci_read_config8(const struct device *dev, u16 reg)
Definition: pci_ops.h:46
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
Definition: loglevel.h:128
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
Definition: loglevel.h:72
#define BIOS_SPEW
BIOS_SPEW - Excessively verbose output.
Definition: loglevel.h:142
enum board_config config
Definition: memory.c:448
#define GFX_DEV
Definition: pci_devs.h:11
#define LPC_DEV
Definition: romstage.c:15
@ DEVICE_PATH_PCI
Definition: path.h:9
@ DEVICE_PATH_CPU_CLUSTER
Definition: path.h:14
@ DEVICE_PATH_DOMAIN
Definition: path.h:13
#define PCI_SLOT(devfn)
Definition: pci_def.h:549
void pci_dev_set_subsystem(struct device *dev, unsigned int vendor, unsigned int device)
Definition: pci_device.c:791
void pci_domain_read_resources(struct device *dev)
Definition: pci_device.c:547
void pci_domain_set_resources(struct device *dev)
Definition: pci_device.c:564
void pci_domain_scan_bus(struct device *dev)
Scan a PCI domain.
Definition: pci_device.c:1610
const struct smm_save_state_ops *legacy_ops __weak
Definition: save_state.c:8
struct device_operations cpu_bus_ops
Definition: chip.c:22
#define LPC_FUNC
Definition: pci_devs.h:122
void soc_init_pre_device(void *chip_info)
Definition: chip.c:137
struct pci_operations soc_pci_ops
Definition: chip.c:51
void southcluster_enable_dev(struct device *dev)
Definition: southcluster.c:452
void soc_silicon_init_params(SILICON_INIT_UPD *params)
Definition: chip.c:47
static struct device_operations pci_domain_ops
Definition: chip.c:13
static void enable_dev(struct device *dev)
Definition: chip.c:25
void soc_display_silicon_init_params(const SILICON_INIT_UPD *old, SILICON_INIT_UPD *new)
Definition: chip.c:139
struct chip_operations soc_intel_braswell_ops
Definition: chip.c:296
static void soc_init(void *chip_info)
Definition: chip.c:291
__weak void board_silicon_USB2_override(SILICON_INIT_UPD *params)
Definition: chip.c:43
int SocStepping(void)
Return SoC stepping type.
Definition: chip.c:311
#define V_PCH_LPC_RID_C4
Definition: ramstage.h:31
#define V_PCH_LPC_RID_C2
Definition: ramstage.h:29
#define V_PCH_LPC_RID_B0
Definition: ramstage.h:19
#define V_PCH_LPC_RID_A5
Definition: ramstage.h:16
#define V_PCH_LPC_RID_C3
Definition: ramstage.h:30
#define V_PCH_LPC_RID_C5
Definition: ramstage.h:32
#define V_PCH_LPC_RID_B6
Definition: ramstage.h:25
#define V_PCH_LPC_RID_C6
Definition: ramstage.h:33
#define V_PCH_LPC_RID_D0
Definition: ramstage.h:35
#define V_PCH_LPC_RID_A2
Definition: ramstage.h:13
#define V_PCH_LPC_RID_A6
Definition: ramstage.h:17
#define V_PCH_LPC_RID_C0
Definition: ramstage.h:27
#define V_PCH_LPC_RID_D1
Definition: ramstage.h:36
@ SocC4
Definition: ramstage.h:66
@ SocA1
Definition: ramstage.h:47
@ SocA5
Definition: ramstage.h:51
@ SocA2
Definition: ramstage.h:48
@ SocD5
Definition: ramstage.h:75
@ SocC6
Definition: ramstage.h:68
@ SocB1
Definition: ramstage.h:55
@ SocB6
Definition: ramstage.h:60
@ SocC5
Definition: ramstage.h:67
@ SocD6
Definition: ramstage.h:76
@ SocA3
Definition: ramstage.h:49
@ SocA7
Definition: ramstage.h:53
@ SocC1
Definition: ramstage.h:63
@ SocB0
Definition: ramstage.h:54
@ SocB5
Definition: ramstage.h:59
@ SocB7
Definition: ramstage.h:61
@ SocB2
Definition: ramstage.h:56
@ SocC2
Definition: ramstage.h:64
@ SocB3
Definition: ramstage.h:57
@ SocD4
Definition: ramstage.h:74
@ SocD3
Definition: ramstage.h:73
@ SocC3
Definition: ramstage.h:65
@ SocSteppingMax
Definition: ramstage.h:78
@ SocD0
Definition: ramstage.h:70
@ SocA4
Definition: ramstage.h:50
@ SocD7
Definition: ramstage.h:77
@ SocA0
Definition: ramstage.h:46
@ SocC7
Definition: ramstage.h:69
@ SocD1
Definition: ramstage.h:71
@ SocC0
Definition: ramstage.h:62
@ SocD2
Definition: ramstage.h:72
@ SocA6
Definition: ramstage.h:52
@ SocB4
Definition: ramstage.h:58
#define V_PCH_LPC_RID_B7
Definition: ramstage.h:26
#define V_PCH_LPC_RID_D5
Definition: ramstage.h:40
#define B_PCH_LPC_RID_STEPPING_MASK
Definition: ramstage.h:43
#define V_PCH_LPC_RID_B5
Definition: ramstage.h:24
#define V_PCH_LPC_RID_B3
Definition: ramstage.h:22
#define V_PCH_LPC_RID_A1
Definition: ramstage.h:12
#define V_PCH_LPC_RID_A4
Definition: ramstage.h:15
#define V_PCH_LPC_RID_B4
Definition: ramstage.h:23
#define V_PCH_LPC_RID_A7
Definition: ramstage.h:18
#define V_PCH_LPC_RID_A0
Definition: ramstage.h:11
#define V_PCH_LPC_RID_A3
Definition: ramstage.h:14
#define V_PCH_LPC_RID_D7
Definition: ramstage.h:42
#define V_PCH_LPC_RID_C7
Definition: ramstage.h:34
#define V_PCH_LPC_RID_D4
Definition: ramstage.h:39
#define V_PCH_LPC_RID_B1
Definition: ramstage.h:20
#define V_PCH_LPC_RID_D3
Definition: ramstage.h:38
#define V_PCH_LPC_RID_B2
Definition: ramstage.h:21
#define V_PCH_LPC_RID_D2
Definition: ramstage.h:37
#define V_PCH_LPC_RID_C1
Definition: ramstage.h:28
#define V_PCH_LPC_RID_D6
Definition: ramstage.h:41
u8 revid
#define NULL
Definition: stddef.h:19
unsigned int uint32_t
Definition: stdint.h:14
uint8_t u8
Definition: stdint.h:45
void(* read_resources)(struct device *dev)
Definition: device.h:39
void(* enable)(struct device *dev)
Definition: device.h:45
struct pci_path pci
Definition: path.h:116
enum device_path_type type
Definition: path.h:114
Definition: device.h:107
struct device_path path
Definition: device.h:115
struct device_operations * ops
Definition: device.h:143
unsigned int devfn
Definition: path.h:54