18 #define MAX_NUM_ROOT_PORTS 8
131 printk(
BIOS_DEBUG,
"Adjusted number of PCIe root ports to %d as per strpfusecfg2\n",
193 unsigned int new_devfn;
206 "PCH: PCIe map %02x.%1x -> %02x.%1x\n",
237 if (rp == 1 || rp == 5 || (rp == 6 && is_lp))
266 }
else if (rp == 5 || rp == 6) {
293 if (rp == 1 || rp == 5 || (rp == 6 && is_lp))
297 if (!enabled_ports && is_lp &&
rpc.
ports[0])
498 reg32 += (0x2 << 16) | (0x2 << 8);
562 if (
config && (
config->pcie_port_force_aspm & (1 << (rp - 1))))
566 rp, do_aspm ?
"en" :
"dis");
672 if (rp == 1 || rp == 5 || (is_lp && rp == 6))
685 if (
CONFIG(PCIEXP_L1_SUB_STATE))
769 static const struct pci_driver pch_pcie
__pci_driver = {
#define printk(level,...)
const char * dev_path(const struct device *dev)
static __always_inline void pci_or_config32(const struct device *dev, u16 reg, u32 ormask)
static __always_inline void pci_and_config16(const struct device *dev, u16 reg, u16 andmask)
static __always_inline void pci_and_config8(const struct device *dev, u16 reg, u8 andmask)
static __always_inline void pci_update_config32(const struct device *dev, u16 reg, u32 mask, u32 or)
static __always_inline void pci_update_config8(const struct device *dev, u16 reg, u8 mask, u8 or)
static __always_inline void pci_or_config16(const struct device *dev, u16 reg, u16 ormask)
static __always_inline void pci_or_config8(const struct device *dev, u16 reg, u8 ormask)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
static __always_inline u8 pci_read_config8(const struct device *dev, u16 reg)
static __always_inline void pci_update_config16(const struct device *dev, u16 reg, u16 mask, u16 or)
static __always_inline void pci_and_config32(const struct device *dev, u16 reg, u32 andmask)
static __always_inline void pci_write_config8(const struct device *dev, u16 reg, u8 val)
void pch_iobp_write(u32 address, u32 data)
u32 pch_iobp_read(u32 address)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
#define BIOS_SPEW
BIOS_SPEW - Excessively verbose output.
#define PCI_BRIDGE_CTL_PARITY
#define PCI_DEVFN(slot, func)
#define PCI_BRIDGE_CONTROL
#define PCI_COMMAND_MASTER
#define PCI_COMMAND_MEMORY
void pci_bus_enable_resources(struct device *dev)
void pci_bus_read_resources(struct device *dev)
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
void pci_dev_set_resources(struct device *dev)
#define PCI_DID_INTEL_LPT_H_PCIE_RP8
#define PCI_DID_INTEL_LPT_H81
#define PCI_DID_INTEL_LPT_H_PCIE_RP2
#define PCI_DID_INTEL_LPT_LP_PCIE_RP2
#define PCI_DID_INTEL_LPT_LP_PCIE_RP4
#define PCI_DID_INTEL_LPT_H_PCIE_RP5
#define PCI_DID_INTEL_LPT_H_PCIE_RP1
#define PCI_DID_INTEL_LPT_H_PCIE_RP7
#define PCI_DID_INTEL_LPT_H_PCIE_RP6
#define PCI_DID_INTEL_LPT_H_PCIE_RP4
#define PCI_DID_INTEL_LPT_H_PCIE_RP3
#define PCI_DID_INTEL_LPT_LP_PCIE_RP3
#define PCI_DID_INTEL_LPT_LP_PCIE_RP1
#define PCI_DID_INTEL_LPT_LP_PCIE_RP5
#define PCI_DID_INTEL_LPT_LP_PCIE_RP6
void pciexp_scan_bridge(struct device *dev)
void pch_disable_devfn(struct device *dev)
#define RPFN_FNSET(port, func)
#define RPFN_FNMASK(port)
#define PCH_PCIE_DEV_SLOT
int gpio_is_native(int gpio_num)
static int pch_is_lp(void)
static bool is_rp_enabled(int rp)
static struct device_operations device_ops
#define MAX_NUM_ROOT_PORTS
static struct root_port_config rpc
static int max_root_ports(void)
static void root_port_config_update_gbe_port(void)
static void update_num_ports(void)
static void pch_pcie_early(struct device *dev)
static void root_port_init_config(struct device *dev)
static void pch_pcie_enable(struct device *dev)
static int root_port_is_first(struct device *dev)
static void pch_pcie_device_set_func(int index, int pci_func)
static void root_port_check_disable(struct device *dev)
static void pch_pcie_init(struct device *dev)
static const unsigned short pci_device_ids[]
static void pcie_add_0x0202000_iobp(u32 reg)
static void root_port_mark_disable(struct device *dev)
static void pcie_enable_clock_gating(void)
static const struct pci_driver pch_pcie __pci_driver
static void root_port_commit_config(void)
static int root_port_number(struct device *dev)
static int root_port_is_last(struct device *dev)
void(* read_resources)(struct device *dev)
DEVTREE_CONST void * chip_info
struct device * ports[MAX_NUM_ROOT_PORTS]