49 size = (0x3 | ((gen_io_dec >> 16) & 0xfc)) + 1;
120 #if CONFIG(HAVE_ACPI_TABLES)
131 #if CONFIG(HAVE_ACPI_TABLES)
struct resource * new_resource(struct device *dev, unsigned int index)
See if a resource structure already exists for a given index and if not allocate one.
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
#define LPC_LGIR_ADDR_MASK
#define LPC_LGMR_ADDR_MASK
#define LPC_LGMR_WINDOW_SIZE
#define LPC_GENERIC_IO_RANGE(n)
#define LPC_GENERIC_MEM_RANGE
#define LPC_NUM_GENERIC_IO_RANGES
void lpc_open_pmio_window(uint16_t base, uint16_t size)
void pci_dev_enable_resources(struct device *dev)
void pci_dev_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_MCC_SUPER_ESPI
#define PCI_DID_INTEL_UPT_LP_Y_PREMIUM
#define PCI_DID_INTEL_ADP_S_ESPI_12
#define PCI_DID_INTEL_ADP_S_ESPI_25
#define PCI_DID_INTEL_ADP_S_ESPI_1
#define PCI_DID_INTEL_ADP_S_ESPI_4
#define PCI_DID_INTEL_ADP_S_ESPI_21
#define PCI_DID_INTEL_ADP_M_N_ESPI_4
#define PCI_DID_INTEL_ADP_M_N_ESPI_30
#define PCI_DID_INTEL_ADP_S_ESPI_30
#define PCI_DID_INTEL_ICL_BASE_Y_ESPI
#define PCI_DID_INTEL_TGP_ESPI_10
#define PCI_DID_INTEL_MCC_PREMIUM_ESPI
#define PCI_DID_INTEL_TGP_ESPI_16
#define PCI_DID_INTEL_ADP_P_ESPI_10
#define PCI_DID_INTEL_ICL_SUPER_Y_ESPI
#define PCI_DID_INTEL_CNP_H_LPC_H370
#define PCI_DID_INTEL_ADP_S_ESPI_29
#define PCI_DID_INTEL_ADP_M_N_ESPI_18
#define PCI_DID_INTEL_TGP_ESPI_9
#define PCI_DID_INTEL_ADP_P_ESPI_22
#define PCI_DID_INTEL_ADP_M_N_ESPI_17
#define PCI_DID_INTEL_CNL_U_PREMIUM_LPC
#define PCI_DID_INTEL_ADP_P_ESPI_25
#define PCI_DID_INTEL_ADP_S_ESPI_8
#define PCI_DID_INTEL_ADP_S_ESPI_16
#define PCI_DID_INTEL_TGP_ESPI_14
#define PCI_DID_INTEL_CMP_SUPER_Y_LPC
#define PCI_DID_INTEL_MTL_ESPI_7
#define PCI_DID_INTEL_TGP_ESPI_17
#define PCI_DID_INTEL_ADP_M_N_ESPI_0
#define PCI_DID_INTEL_MCC_ESPI_1
#define PCI_DID_INTEL_CNL_Y_PREMIUM_LPC
#define PCI_DID_INTEL_UPT_LP_U_PREMIUM
#define PCI_DID_INTEL_ICL_U_SUPER_U_ESPI_REV0
#define PCI_DID_INTEL_ADP_M_N_ESPI_21
#define PCI_DID_INTEL_APL_LPC
#define PCI_DID_INTEL_LWB_C627A
#define PCI_DID_INTEL_ADP_S_ESPI_13
#define PCI_DID_INTEL_MTL_ESPI_2
#define PCI_DID_INTEL_SPT_H_HM175
#define PCI_DID_INTEL_TGP_ESPI_6
#define PCI_DID_INTEL_ADP_M_N_ESPI_24
#define PCI_DID_INTEL_ADP_M_N_ESPI_14
#define PCI_DID_INTEL_ADP_M_N_ESPI_10
#define PCI_DID_INTEL_TGP_SUPER_U_ESPI
#define PCI_DID_INTEL_MCC_ESPI_0
#define PCI_DID_INTEL_ADP_P_ESPI_9
#define PCI_DID_INTEL_ADP_M_N_ESPI_26
#define PCI_DID_INTEL_ADP_P_ESPI_11
#define PCI_DID_INTEL_LWB_C627_SUPER_2
#define PCI_DID_INTEL_SPT_H_B150
#define PCI_DID_INTEL_ADP_P_ESPI_27
#define PCI_DID_INTEL_ADP_M_ESPI_32
#define PCI_DID_INTEL_LWB_C627A_SUPER
#define PCI_DID_INTEL_ADP_P_ESPI_30
#define PCI_DID_INTEL_ADP_S_ESPI_26
#define PCI_DID_INTEL_UPT_H_H310C
#define PCI_DID_INTEL_LWB_C629A_SUPER
#define PCI_DID_INTEL_LWB_C626
#define PCI_DID_INTEL_LWB_C628_SUPER
#define PCI_DID_INTEL_UPT_H_Z270
#define PCI_DID_INTEL_CMP_H_LPC_Z490
#define PCI_DID_INTEL_TGP_ESPI_22
#define PCI_DID_INTEL_ADP_S_ESPI_22
#define PCI_DID_INTEL_TGP_H_ESPI_H570
#define PCI_DID_INTEL_EMB_SUPER
#define PCI_DID_INTEL_SPT_LP_U_PREMIUM_HDCP22
#define PCI_DID_INTEL_TGP_ESPI_20
#define PCI_DID_INTEL_CMP_H_LPC_HM470
#define PCI_DID_INTEL_ADP_P_ESPI_32
#define PCI_DID_INTEL_CMP_SUPER_U_LPC
#define PCI_DID_INTEL_UPT_H_H270
#define PCI_DID_INTEL_CNP_H_LPC_HM370
#define PCI_DID_INTEL_CMP_H_LPC_W480
#define PCI_DID_INTEL_TGP_ESPI_7
#define PCI_DID_INTEL_TGP_ESPI_15
#define PCI_DID_INTEL_SPT_H_Z170
#define PCI_DID_INTEL_LWB_C621A_SUPER
#define PCI_DID_INTEL_CMP_PREMIUM_Y_LPC
#define PCI_DID_INTEL_ADP_M_N_ESPI_15
#define PCI_DID_INTEL_ICL_BASE_U_ESPI
#define PCI_DID_INTEL_MTL_ESPI_3
#define PCI_DID_INTEL_ADP_P_ESPI_17
#define PCI_DID_INTEL_SPT_H_C232
#define PCI_DID_INTEL_ADP_S_ESPI_15
#define PCI_DID_INTEL_ADP_P_ESPI_0
#define PCI_DID_INTEL_TGP_H_ESPI_QM580
#define PCI_DID_INTEL_TGP_ESPI_3
#define PCI_DID_INTEL_TGP_ESPI_24
#define PCI_DID_INTEL_CNP_H_LPC_C246
#define PCI_DID_INTEL_ADP_P_ESPI_33
#define PCI_DID_INTEL_ADP_M_N_ESPI_31
#define PCI_DID_INTEL_SPT_H_C236
#define PCI_DID_INTEL_CMP_H_LPC_Q470
#define PCI_DID_INTEL_TGP_BASE_U_ESPI
#define PCI_DID_INTEL_LWB_C624_SUPER
#define PCI_DID_INTEL_CMP_H_LPC_H470
#define PCI_DID_INTEL_MCC_ESPI_2
#define PCI_DID_INTEL_LWB_C629
#define PCI_DID_INTEL_ADP_S_ESPI_19
#define PCI_DID_INTEL_TGP_H_ESPI_HM570
#define PCI_DID_INTEL_LWB_C622
#define PCI_DID_INTEL_MTL_ESPI_1
#define PCI_DID_INTEL_MCC_ESPI_3
#define PCI_DID_INTEL_ADP_M_N_ESPI_9
#define PCI_DID_INTEL_ADP_S_ESPI_3
#define PCI_DID_INTEL_CMP_H_LPC_WM490
#define PCI_DID_INTEL_TGP_ESPI_26
#define PCI_DID_INTEL_MCC_ESPI_4
#define PCI_DID_INTEL_ADP_P_ESPI_8
#define PCI_DID_INTEL_ADP_M_N_ESPI_27
#define PCI_DID_INTEL_ADP_M_N_ESPI_23
#define PCI_DID_INTEL_ADP_M_N_ESPI_12
#define PCI_DID_INTEL_ADP_M_N_ESPI_2
#define PCI_DID_INTEL_ADP_P_ESPI_16
#define PCI_DID_INTEL_LWB_C625
#define PCI_DID_INTEL_GLK_LPC
#define PCI_DID_INTEL_TGP_ESPI_2
#define PCI_DID_INTEL_ADP_P_ESPI_13
#define PCI_DID_INTEL_ADP_P_ESPI_23
#define PCI_DID_INTEL_ADP_M_N_ESPI_3
#define PCI_DID_INTEL_ADP_M_N_ESPI_28
#define PCI_DID_INTEL_TGP_H_ESPI_Z590
#define PCI_DID_INTEL_ADP_P_ESPI_1
#define PCI_DID_INTEL_ADP_P_ESPI_7
#define PCI_DID_INTEL_UPT_LP_U_BASE
#define PCI_DID_INTEL_ADP_P_ESPI_31
#define PCI_DID_INTEL_SPT_LP_SAMPLE
#define PCI_DID_INTEL_ADP_S_ESPI_6
#define PCI_DID_INTEL_ADP_P_ESPI_28
#define PCI_DID_INTEL_LWB_C628
#define PCI_DID_INTEL_GLK_ESPI
#define PCI_DID_INTEL_ADP_S_ESPI_18
#define PCI_DID_INTEL_ADP_S_ESPI_7
#define PCI_DID_INTEL_ADP_S_ESPI_9
#define PCI_DID_INTEL_TGP_PREMIUM_Y_ESPI
#define PCI_DID_INTEL_MCC_BASE_ESPI
#define PCI_DID_INTEL_TGP_H_ESPI_Q570
#define PCI_DID_INTEL_ADP_M_N_ESPI_25
#define PCI_DID_INTEL_ICL_Y_PREMIUM_ESPI
#define PCI_DID_INTEL_ADP_S_ESPI_10
#define PCI_DID_INTEL_ADP_P_ESPI_6
#define PCI_DID_INTEL_UPT_H_B365
#define PCI_DID_INTEL_ADP_M_N_ESPI_1
#define PCI_DID_INTEL_LWB_C621
#define PCI_DID_INTEL_ADP_P_ESPI_18
#define PCI_DID_INTEL_ADP_M_N_ESPI_8
#define PCI_DID_INTEL_UPT_H_Z370
#define PCI_DID_INTEL_SPT_H_CM238
#define PCI_DID_INTEL_CMP_PREMIUM_U_LPC
#define PCI_DID_INTEL_SPT_H_HM170
#define PCI_DID_INTEL_ADP_P_ESPI_12
#define PCI_DID_INTEL_ADP_P_ESPI_5
#define PCI_DID_INTEL_CNP_H_LPC_B360
#define PCI_DID_INTEL_MTL_ESPI_4
#define PCI_DID_INTEL_TGP_H_ESPI_H510
#define PCI_DID_INTEL_ADP_M_N_ESPI_5
#define PCI_DID_INTEL_SPT_H_H170
#define PCI_DID_INTEL_SPR_ESPI_1
#define PCI_DID_INTEL_SPT_H_Q170
#define PCI_DID_INTEL_UPT_H_Q250
#define PCI_DID_INTEL_ADP_P_ESPI_21
#define PCI_DID_INTEL_TGP_ESPI_8
#define PCI_DID_INTEL_MTL_ESPI_0
#define PCI_DID_INTEL_TGP_ESPI_25
#define PCI_DID_INTEL_TGP_ESPI_11
#define PCI_DID_INTEL_CNP_H_LPC_CM246
#define PCI_DID_INTEL_ADP_P_ESPI_14
#define PCI_DID_INTEL_TGP_PREMIUM_U_ESPI
#define PCI_DID_INTEL_SPT_H_H110
#define PCI_DID_INTEL_TGP_ESPI_0
#define PCI_DID_INTEL_TGP_ESPI_12
#define PCI_DID_INTEL_ADP_S_ESPI_0
#define PCI_DID_INTEL_CNP_H_LPC_Q370
#define PCI_DID_INTEL_ADP_S_ESPI_20
#define PCI_DID_INTEL_JSP_SUPER_ESPI
#define PCI_DID_INTEL_ADP_M_N_ESPI_7
#define PCI_DID_INTEL_TGP_ESPI_18
#define PCI_DID_INTEL_ADP_P_ESPI_20
#define PCI_DID_INTEL_TGP_ESPI_13
#define PCI_DID_INTEL_TGP_H_ESPI_WM590
#define PCI_DID_INTEL_TGP_ESPI_4
#define PCI_DID_INTEL_SPT_LP_U_BASE
#define PCI_DID_INTEL_TGP_H_ESPI_B560
#define PCI_DID_INTEL_LWB_C627_SUPER_1
#define PCI_DID_INTEL_ADP_P_ESPI_2
#define PCI_DID_INTEL_SPT_H_CM236
#define PCI_DID_INTEL_CNP_H_LPC_Z390
#define PCI_DID_INTEL_MTL_ESPI_6
#define PCI_DID_INTEL_ADP_M_N_ESPI_16
#define PCI_DID_INTEL_LWB_C621_SUPER
#define PCI_DID_INTEL_ADP_P_ESPI_3
#define PCI_DID_INTEL_ADP_M_N_ESPI_20
#define PCI_DID_INTEL_CNP_H_LPC_H310
#define PCI_DID_INTEL_UPT_LP_SUPER_SKU
#define PCI_DID_INTEL_ADP_P_ESPI_26
#define PCI_DID_INTEL_SPT_H_QM175
#define PCI_DID_INTEL_CMP_BASE_U_LPC
#define PCI_DID_INTEL_LWB_C629A
#define PCI_DID_INTEL_TGP_ESPI_19
#define PCI_DID_INTEL_SPT_H_QM170
#define PCI_DID_INTEL_ADP_M_N_ESPI_22
#define PCI_DID_INTEL_ADP_S_ESPI_14
#define PCI_DID_INTEL_ADP_M_N_ESPI_11
#define PCI_DID_INTEL_LWB_C627
#define PCI_DID_INTEL_CNL_BASE_U_LPC
#define PCI_DID_INTEL_UPT_H_B250
#define PCI_DID_INTEL_ADP_S_ESPI_24
#define PCI_DID_INTEL_ADP_P_ESPI_24
#define PCI_DID_INTEL_TGP_SUPER_Y_ESPI
#define PCI_DID_INTEL_ADP_P_ESPI_15
#define PCI_DID_INTEL_TGP_ESPI_21
#define PCI_DID_INTEL_ICL_U_PREMIUM_ESPI
#define PCI_DID_INTEL_ADP_P_ESPI_29
#define PCI_DID_INTEL_ADP_S_ESPI_17
#define PCI_DID_INTEL_LWB_C624
#define PCI_DID_INTEL_ADP_S_ESPI_11
#define PCI_DID_INTEL_TGP_H_ESPI_W580
#define PCI_DID_INTEL_SPT_LP_U_BASE_HDCP22
#define PCI_DID_INTEL_ICL_U_SUPER_U_ESPI
#define PCI_DID_INTEL_ADP_S_ESPI_5
#define PCI_DID_INTEL_ADP_P_ESPI_19
#define PCI_DID_INTEL_UPT_H_Q270
#define PCI_DID_INTEL_ADP_S_ESPI_2
#define PCI_DID_INTEL_ADP_M_N_ESPI_19
#define PCI_DID_INTEL_LWB_C621A
#define PCI_DID_INTEL_ADP_S_ESPI_23
#define PCI_DID_INTEL_MTL_ESPI_5
#define PCI_DID_INTEL_SPT_LP_U_PREMIUM
#define PCI_DID_INTEL_SPT_H_Q150
#define PCI_DID_INTEL_ADP_S_ESPI_31
#define PCI_DID_INTEL_ADP_M_N_ESPI_29
#define PCI_DID_INTEL_ADP_S_ESPI_28
#define PCI_DID_INTEL_ADP_P_ESPI_4
#define PCI_DID_INTEL_SPT_LP_Y_PREMIUM
#define PCI_DID_INTEL_CNP_H_LPC_C242
#define PCI_DID_INTEL_ADP_S_ESPI_27
#define PCI_DID_INTEL_CMP_H_LPC_QM480
#define PCI_DID_INTEL_CNP_H_LPC_QM370
#define PCI_DID_INTEL_ADP_M_N_ESPI_13
#define PCI_DID_INTEL_SPT_LP_Y_PREMIUM_HDCP22
#define PCI_DID_INTEL_TGP_ESPI_1
#define PCI_DID_INTEL_TGP_ESPI_23
#define PCI_DID_INTEL_TGP_ESPI_5
#define IORESOURCE_RESERVE
#define IORESOURCE_ASSIGNED
void scan_static_bus(struct device *bus)
const struct smm_save_state_ops *legacy_ops __weak
void lpc_soc_init(struct device *dev)
static struct device_operations device_ops
static void pch_lpc_read_resources(struct device *dev)
__weak void pch_lpc_soc_fill_io_resources(struct device *dev)
static void pch_lpc_add_io_resources(struct device *dev)
static void pch_lpc_loop_resources(struct device *dev)
void pch_lpc_add_new_resource(struct device *dev, uint8_t offset, uintptr_t base, size_t size, unsigned long flags)
static const struct pci_driver pch_lpc __pci_driver
static const unsigned short pci_device_ids[]
static void pch_lpc_set_resources(struct device *dev)
static void pch_lpc_add_mmio_resources(struct device *dev)
static void pch_lpc_set_child_resources(struct device *dev)
static const char * lpc_acpi_name(const struct device *dev)
static unsigned long southbridge_write_acpi_tables(const struct device *device, unsigned long start, struct acpi_rsdp *rsdp)
DEVTREE_CONST struct bus * next
DEVTREE_CONST struct device * children
void(* read_resources)(struct device *dev)
DEVTREE_CONST struct device * sibling
DEVTREE_CONST struct bus * link_list
DEVTREE_CONST struct resource * resource_list
DEVTREE_CONST struct resource * next