coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
pcie.c File Reference
#include <console/console.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_def.h>
#include <device/pci_ops.h>
#include <device/pciexp.h>
#include <device/pci_ids.h>
#include <southbridge/intel/common/pciehp.h>
#include <assert.h>
#include "chip.h"
#include "pch.h"
Include dependency graph for pcie.c:

Go to the source code of this file.

Functions

static const char * pch_pcie_acpi_name (const struct device *dev)
 
static void pch_pcie_pm_early (struct device *dev)
 
static void pch_pcie_pm_late (struct device *dev)
 
static void pci_init (struct device *dev)
 
static void pch_pcie_enable (struct device *dev)
 
static void pch_pciexp_scan_bridge (struct device *dev)
 

Variables

static struct device_operations device_ops
 
static const unsigned short pci_device_ids []
 
static const struct pci_driver pch_pcie __pci_driver
 

Function Documentation

◆ pch_pcie_acpi_name()

static const char* pch_pcie_acpi_name ( const struct device dev)
static

Definition at line 16 of file pcie.c.

References ASSERT, pci_path::devfn, NULL, device::path, device_path::pci, PCI_FUNC, and PCI_SLOT.

◆ pch_pcie_enable()

static void pch_pcie_enable ( struct device dev)
static

Definition at line 212 of file pcie.c.

References pch_pcie_pm_early().

Here is the call graph for this function:

◆ pch_pcie_pm_early()

static void pch_pcie_pm_early ( struct device dev)
static

Definition at line 36 of file pcie.c.

References CIR9, pci_path::devfn, device::path, device_path::pci, PCI_FUNC, pci_or_config32(), pci_read_config32(), pci_read_config8(), pci_write_config32(), pci_write_config8(), RCBA32, and RPC.

Referenced by pch_pcie_enable().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pch_pcie_pm_late()

static void pch_pcie_pm_late ( struct device dev)
static

◆ pch_pciexp_scan_bridge()

static void pch_pciexp_scan_bridge ( struct device dev)
static

Definition at line 218 of file pcie.c.

◆ pci_init()

Variable Documentation

◆ __pci_driver

const struct pci_driver pch_pcie __pci_driver
static
Initial value:
= {
.ops = &device_ops,
.vendor = PCI_VID_INTEL,
.devices = pci_device_ids,
}
#define PCI_VID_INTEL
Definition: pci_ids.h:2157
static struct device_operations device_ops
Definition: pcie.c:233
static const unsigned short pci_device_ids[]
Definition: pcie.c:244

Definition at line 244 of file pcie.c.

◆ device_ops

struct device_operations device_ops
static
Initial value:
= {
.read_resources = pci_bus_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_bus_enable_resources,
.init = pci_init,
.enable = pch_pcie_enable,
.acpi_name = pch_pcie_acpi_name,
.ops_pci = &pci_dev_ops_pci,
}
void pci_bus_enable_resources(struct device *dev)
Definition: pci_device.c:758
void pci_bus_read_resources(struct device *dev)
Definition: pci_device.c:540
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
Definition: pci_device.c:911
void pci_dev_set_resources(struct device *dev)
Definition: pci_device.c:691
static const char * pch_pcie_acpi_name(const struct device *dev)
Definition: pcie.c:16
static void pci_init(struct device *dev)
Definition: pcie.c:180
static void pch_pcie_enable(struct device *dev)
Definition: pcie.c:212
static void pch_pciexp_scan_bridge(struct device *dev)
Definition: pcie.c:218

Definition at line 218 of file pcie.c.

◆ pci_device_ids

const unsigned short pci_device_ids[]
static
Initial value:
= { 0x1c10, 0x1c12, 0x1c14, 0x1c16,
0x1c18, 0x1c1a, 0x1c1c, 0x1c1e,
0x1e10, 0x1e12, 0x1e14, 0x1e16,
0x1e18, 0x1e1a, 0x1e1c, 0x1e1e,
0 }

Definition at line 244 of file pcie.c.