coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
csme_ie_kt.c File Reference
#include <device/pci.h>
#include <device/pci_ids.h>
#include <console/console.h>
#include <soc/pci_devs.h>
#include <soc/ramstage.h>
Include dependency graph for csme_ie_kt.c:

Go to the source code of this file.

Functions

static void pci_read_bases (struct device *dev, unsigned int howmany)
 Read the base address registers for a given device. More...
 
static void pci_csme_ie_kt_read_resources (struct device *dev)
 

Variables

static struct device_operations csme_ie_kt_ops
 
static const unsigned short pci_device_ids []
 
static const struct pci_driver csme_ie_kt __pci_driver
 

Function Documentation

◆ pci_csme_ie_kt_read_resources()

static void pci_csme_ie_kt_read_resources ( struct device dev)
static

CSME/IE KT has 2 BARs to check: 0x10 - KT IO BAR 0x14 - KT Memory BAR CSME/IE KT has no Expansion ROM BAR to check: 0x30 - KT Host XRBAR, READ ONLY

Definition at line 42 of file csme_ie_kt.c.

◆ pci_read_bases()

static void pci_read_bases ( struct device dev,
unsigned int  howmany 
)
static

Read the base address registers for a given device.

Parameters
devPointer to the dev structure.
howmanyHow many registers to read.

Workaround for Denverton-NS silicon (Rev A0/A1 for CSME/IE, Rev B0 for CSME only) CSME&IEs KT IO bar must be 16-byte aligned

Definition at line 15 of file csme_ie_kt.c.

References resource::align, BIOS_DEBUG, compact_resources(), resource::flags, resource::gran, resource::index, IORESOURCE_IO, IORESOURCE_PCI64, PCI_BASE_ADDRESS_0, pci_get_resource(), printk, and resource::size.

Here is the call graph for this function:

Variable Documentation

◆ __pci_driver

const struct pci_driver csme_ie_kt __pci_driver
static
Initial value:
= {
.ops = &csme_ie_kt_ops,
.vendor = PCI_VID_INTEL,
.devices = pci_device_ids,
}
static const unsigned short pci_device_ids[]
Definition: csme_ie_kt.c:61
static struct device_operations csme_ie_kt_ops
Definition: csme_ie_kt.c:54
#define PCI_VID_INTEL
Definition: pci_ids.h:2157

Definition at line 61 of file csme_ie_kt.c.

◆ csme_ie_kt_ops

struct device_operations csme_ie_kt_ops
static
Initial value:
= {
.read_resources = pci_csme_ie_kt_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
.ops_pci = &soc_pci_ops,
}
static void pci_csme_ie_kt_read_resources(struct device *dev)
Definition: csme_ie_kt.c:42
void pci_dev_enable_resources(struct device *dev)
Definition: pci_device.c:721
void pci_dev_set_resources(struct device *dev)
Definition: pci_device.c:691
struct pci_operations soc_pci_ops
Definition: chip.c:51

Definition at line 42 of file csme_ie_kt.c.

◆ pci_device_ids

const unsigned short pci_device_ids[]
static
Initial value:
= {
0
}
#define PCI_DID_INTEL_DNV_IE_KT
Definition: pci_ids.h:2784
#define PCI_DID_INTEL_DNV_ME_KT
Definition: pci_ids.h:2779

Definition at line 61 of file csme_ie_kt.c.