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

Go to the source code of this file.

Macros

#define CPU_CPIE_VW_IDX_BASE   24
 

Functions

static bool is_part_of_group (const struct device *dev, const struct pcie_rp_group *groups)
 
const struct pcie_rp_groupsoc_get_pch_rp_groups (void)
 
enum pcie_rp_type soc_get_pcie_rp_type (const struct device *dev)
 
int soc_get_cpu_rp_vw_idx (const struct device *dev)
 

Variables

static const struct pcie_rp_group pch_lp_rp_groups []
 
static const struct pcie_rp_group pch_h_rp_groups []
 
static const struct pcie_rp_group cpu_rp_groups []
 

Macro Definition Documentation

◆ CPU_CPIE_VW_IDX_BASE

#define CPU_CPIE_VW_IDX_BASE   24

Definition at line 7 of file pcie_rp.c.

Function Documentation

◆ is_part_of_group()

static bool is_part_of_group ( const struct device dev,
const struct pcie_rp_group groups 
)
static

Definition at line 28 of file pcie_rp.c.

References pcie_rp_group::count, pci_path::devfn, DEVICE_PATH_PCI, device::path, device_path::pci, PCI_FUNC, PCI_SLOT, rp_start_fn(), pcie_rp_group::slot, and device_path::type.

Here is the call graph for this function:

◆ soc_get_cpu_rp_vw_idx()

int soc_get_cpu_rp_vw_idx ( const struct device dev)

◆ soc_get_pch_rp_groups()

const struct pcie_rp_group* soc_get_pch_rp_groups ( void  )

Definition at line 50 of file pcie_rp.c.

References CONFIG, pch_h_rp_groups, and pch_lp_rp_groups.

Referenced by soc_init_pre_device().

Here is the caller graph for this function:

◆ soc_get_pcie_rp_type()

enum pcie_rp_type soc_get_pcie_rp_type ( const struct device dev)

Definition at line 50 of file pcie_rp.c.

Variable Documentation

◆ cpu_rp_groups

const struct pcie_rp_group cpu_rp_groups[]
static
Initial value:
= {
{ .slot = SA_DEV_SLOT_PEG, .start = 0, .count = 3, .lcap_port_base = 1 },
{ .slot = SA_DEV_SLOT_CPU_PCIE, .start = 0, .count = 1, .lcap_port_base = 1 },
{ 0 }
}
#define SA_DEV_SLOT_PEG
Definition: pci_devs.h:25
#define SA_DEV_SLOT_CPU_PCIE
Definition: pci_devs.h:45

Definition at line 1 of file pcie_rp.c.

◆ pch_h_rp_groups

const struct pcie_rp_group pch_h_rp_groups[]
static
Initial value:
= {
{ .slot = PCH_DEV_SLOT_PCIE, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_1, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_2, .count = 8, .lcap_port_base = 1 },
{ 0 }
}
#define PCH_DEV_SLOT_PCIE_1
Definition: pci_devs.h:193
#define PCH_DEV_SLOT_PCIE
Definition: pci_devs.h:175
#define PCH_DEV_SLOT_PCIE_2
Definition: pci_devs.h:149

Definition at line 1 of file pcie_rp.c.

Referenced by soc_get_pch_rp_groups().

◆ pch_lp_rp_groups

const struct pcie_rp_group pch_lp_rp_groups[]
static
Initial value:
= {
{ .slot = PCH_DEV_SLOT_PCIE, .count = 8, .lcap_port_base = 1 },
{ .slot = PCH_DEV_SLOT_PCIE_1, .count = 4, .lcap_port_base = 1 },
{ 0 }
}

Definition at line 1 of file pcie_rp.c.

Referenced by soc_get_pch_rp_groups().