16 #include <soc/pci_devs.h>
63 config->panel_orientation);
70 if (
CONFIG(MAINBOARD_USE_LIBGFXINIT)) {
121 "Graphic memory bar2 is not programmed!");
123 memory_base += CONFIG_SOC_INTEL_GFX_FRAMEBUFFER_OFFSET;
134 die(
"IGD is disabled!");
144 "GTTMMADR is not programmed!");
173 #if CONFIG(HAVE_ACPI_TABLES)
325 static const struct pci_driver graphics_driver
__pci_driver = {
static int acpi_is_wakeup_s3(void)
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
int display_init_required(void)
void gfx_set_init_done(int done)
void __noreturn die(const char *fmt,...)
#define die_with_post_code(value, fmt,...)
DEVTREE_CONST struct device * pcidev_path_on_root(pci_devfn_t devfn)
struct resource * probe_resource(const struct device *dev, unsigned int index)
See if a resource structure already exists for a given index.
void fsp_report_framebuffer_info(const uintptr_t framebuffer_bar, enum lb_fb_orientation orientation)
void drivers_intel_gma_displays_ssdt_generate(const struct i915_gpu_controller_info *conf)
#define DDI_BUF_CTL_ENABLE
static __always_inline void pci_or_config16(const struct device *dev, u16 reg, u16 ormask)
void gma_gfxinit(int *lightup_ok)
enum cb_err intel_gma_init_igd_opregion(void)
#define PCI_COMMAND_MASTER
#define PCI_BASE_ADDRESS_2
#define PCI_BASE_ADDRESS_0
void pci_dev_init(struct device *dev)
Default handler: only runs the relevant PCI BIOS.
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_SKL_GT2_SHALM
#define PCI_DID_INTEL_ICL_GT2_ULT_1
#define PCI_DID_INTEL_SKL_GT3_SULTM
#define PCI_DID_INTEL_ADL_P_GT2_5
#define PCI_DID_INTEL_ICL_GT3_ULT
#define PCI_DID_INTEL_CML_GT2_ULT_6
#define PCI_DID_INTEL_CML_GT1_S_1
#define PCI_DID_INTEL_ADL_N_GT1
#define PCI_DID_INTEL_JSL_GT3
#define PCI_DID_INTEL_CML_GT1_ULT_1
#define PCI_DID_INTEL_ADL_GT1_6
#define PCI_DID_INTEL_ADL_GT1_8
#define PCI_DID_INTEL_CFL_H_GT2
#define PCI_DID_INTEL_EHL_GT1_2
#define PCI_DID_INTEL_ADL_GT1_3
#define PCI_DID_INTEL_CNL_GT2_ULT_4
#define PCI_DID_INTEL_SKL_GT4_SHALM
#define PCI_DID_INTEL_SKL_GT4E_SWSTM
#define PCI_DID_INTEL_CML_GT2_ULT_4
#define PCI_DID_INTEL_SKL_GT3FE_SSRVM
#define PCI_DID_INTEL_ADL_P_GT2_2
#define PCI_DID_INTEL_ADL_GT1_5
#define PCI_DID_INTEL_ICL_GT2_ULX_3
#define PCI_DID_INTEL_ADL_M_GT1
#define PCI_DID_INTEL_JSL_GT2
#define PCI_DID_INTEL_ICL_GT2_ULT_4
#define PCI_DID_INTEL_WHL_GT2_ULT_1
#define PCI_DID_INTEL_CNL_GT2_ULX_2
#define PCI_DID_INTEL_AML_GT2_ULX
#define PCI_DID_INTEL_CML_GT2_S_1
#define PCI_DID_INTEL_KBL_GT1_SULTM
#define PCI_DID_INTEL_KBL_GT1_SSRVM
#define PCI_DID_INTEL_CML_GT2_ULT_2
#define PCI_DID_INTEL_EHL_GT2_1
#define PCI_DID_INTEL_ICL_GT2_ULT_5
#define PCI_DID_INTEL_SKL_GT2_SULTM
#define PCI_DID_INTEL_TGL_GT0
#define PCI_DID_INTEL_KBL_GT2_DT2P2
#define PCI_DID_INTEL_CFL_S_GT2_4
#define PCI_DID_INTEL_CML_GT1_ULX_1
#define PCI_DID_INTEL_CML_GT2_ULX_1
#define PCI_DID_INTEL_ADL_P_GT2
#define PCI_DID_INTEL_ADL_P_GT2_7
#define PCI_DID_INTEL_KBL_GT2_SULTM
#define PCI_DID_INTEL_ADL_P_GT2_3
#define PCI_DID_INTEL_CNL_GT2_ULX_3
#define PCI_DID_INTEL_KBL_GT2_SHALM
#define PCI_DID_INTEL_KBL_GT4_SHALM
#define PCI_DID_INTEL_ADL_P_GT2_8
#define PCI_DID_INTEL_ADL_P_GT2_1
#define PCI_DID_INTEL_TGL_GT3_ULT
#define PCI_DID_INTEL_KBL_GT3E_SULTM_1
#define PCI_DID_INTEL_CML_GT2_S_2
#define PCI_DID_INTEL_CFL_S_GT2_2
#define PCI_DID_INTEL_CML_GT2_S_G0
#define PCI_DID_INTEL_CML_GT2_ULT_1
#define PCI_DID_INTEL_ADL_GT1_4
#define PCI_DID_INTEL_KBL_GT1_SHALM_2
#define PCI_DID_INTEL_KBL_GT2_SWSTM
#define PCI_DID_INTEL_CML_GT2_H_R1
#define PCI_DID_INTEL_CFL_S_GT2_3
#define PCI_DID_INTEL_ICL_GT2_ULX_0
#define PCI_DID_INTEL_CFL_S_GT1_1
#define PCI_DID_INTEL_CNL_GT2_ULT_3
#define PCI_DID_INTEL_ADL_GT1_9
#define PCI_DID_INTEL_GLK_IGD_EU12
#define PCI_DID_INTEL_ADL_M_GT2
#define PCI_DID_INTEL_TGL_GT2_ULT_1
#define PCI_DID_INTEL_CNL_GT2_ULT_2
#define PCI_DID_INTEL_CML_GT1_ULT_3
#define PCI_DID_INTEL_CML_GT1_ULT_4
#define PCI_DID_INTEL_CML_GT2_H_1
#define PCI_DID_INTEL_CML_GT1_H_2
#define PCI_DID_INTEL_ICL_GT2_ULX_4
#define PCI_DID_INTEL_ADL_P_GT2_4
#define PCI_DID_INTEL_KBL_GT2_SSRVM
#define PCI_DID_INTEL_MTL_M_GT2
#define PCI_DID_INTEL_KBL_GT3E_SULTM_2
#define PCI_DID_INTEL_TGL_GT1_H_16
#define PCI_DID_INTEL_ADL_N_GT2
#define PCI_DID_INTEL_KBL_GT1F_DT2
#define PCI_DID_INTEL_CML_GT2_S_P0
#define PCI_DID_INTEL_ADL_P_GT2_6
#define PCI_DID_INTEL_KBL_GT2_SULTMR
#define PCI_DID_INTEL_ADL_P_GT2_9
#define PCI_DID_INTEL_SKL_GT2_SULXM
#define PCI_DID_INTEL_CNL_GT2_ULX_4
#define PCI_DID_INTEL_TGL_GT1_H_32
#define PCI_DID_INTEL_ADL_GT1_7
#define PCI_DID_INTEL_ICL_GT2_ULX_2
#define PCI_DID_INTEL_APL_IGD_HD_505
#define PCI_DID_INTEL_ADL_GT1_1
#define PCI_DID_INTEL_TGL_GT2_ULX
#define PCI_DID_INTEL_ADL_GT1
#define PCI_DID_INTEL_ICL_GT2_ULX_6
#define PCI_DID_INTEL_ADL_GT0
#define PCI_DID_INTEL_KBL_GT1_SHALM_1
#define PCI_DID_INTEL_SKL_GT2_DT2P1
#define PCI_DID_INTEL_EHL_GT1_2_1
#define PCI_DID_INTEL_ICL_GT2_ULT_2
#define PCI_DID_INTEL_JSL_GT1
#define PCI_DID_INTEL_GLK_IGD
#define PCI_DID_INTEL_MTL_P_GT2_2
#define PCI_DID_INTEL_SKL_GT3E_SULTM_2
#define PCI_DID_INTEL_WHL_GT1_ULT_1
#define PCI_DID_INTEL_SKL_GT1F_DT2
#define PCI_DID_INTEL_CML_GT1_ULT_2
#define PCI_DID_INTEL_EHL_GT2_3
#define PCI_DID_INTEL_EHL_GT2_2
#define PCI_DID_INTEL_ADL_M_GT3
#define PCI_DID_INTEL_SKL_GT3E_SULTM_1
#define PCI_DID_INTEL_CML_GT2_ULT_3
#define PCI_DID_INTEL_ADL_N_GT3
#define PCI_DID_INTEL_ADL_S_GT1
#define PCI_DID_INTEL_ICL_GT0_ULT
#define PCI_DID_INTEL_ICL_GT2_ULX_1
#define PCI_DID_INTEL_CML_GT2_H_2
#define PCI_DID_INTEL_CFL_H_XEON_GT2
#define PCI_DID_INTEL_ICL_GT1_ULT
#define PCI_DID_INTEL_KBL_GT2_SULXM
#define PCI_DID_INTEL_EHL_GT1_3
#define PCI_DID_INTEL_CNL_GT2_ULX_1
#define PCI_DID_INTEL_CFL_S_GT1_2
#define PCI_DID_INTEL_EHL_GT1_1
#define PCI_DID_INTEL_CML_GT2_H_R0
#define PCI_DID_INTEL_ICL_GT2_ULX_5
#define PCI_DID_INTEL_APL_IGD_HD_500
#define PCI_DID_INTEL_ADL_GT1_2
#define PCI_DID_INTEL_KBL_GT2F_SULTM
#define PCI_DID_INTEL_CML_GT1_H_1
#define PCI_DID_INTEL_JSL_GT4
#define PCI_DID_INTEL_ICL_GT0_5_ULT
#define PCI_DID_INTEL_CFL_S_GT2_5
#define PCI_DID_INTEL_CML_GT1_S_2
#define PCI_DID_INTEL_SKL_GT1_SULTM
#define PCI_DID_INTEL_SKL_GT2_SWKSM
#define PCI_DID_INTEL_CFL_S_GT2_1
#define PCI_DID_INTEL_TGL_GT2_ULT
#define PCI_DID_INTEL_ICL_GT2_ULT_3
#define PCI_DID_INTEL_MTL_P_GT2_1
#define PCI_DID_INTEL_CNL_GT2_ULT_1
#define PCI_DID_INTEL_CML_GT2_ULT_5
#define POST_HW_INIT_FAILURE
Hardware initialization failure.
void scan_generic_bus(struct device *bus)
const struct smm_save_state_ops *legacy_ops __weak
const struct i915_gpu_controller_info * intel_igd_get_controller_info(const struct device *device)
void graphics_soc_panel_init(struct device *const dev)
const struct soc_intel_common_config * chip_get_common_soc_structure(void)
uint32_t graphics_gtt_read(unsigned long reg)
static uintptr_t graphics_get_gtt_base(void)
static const struct pci_driver graphics_driver __pci_driver
uintptr_t graphics_get_framebuffer_address(void)
static const unsigned short pci_device_ids[]
static uintptr_t graphics_get_bar(struct device *dev, unsigned long index)
void graphics_gtt_write(unsigned long reg, uint32_t data)
void graphics_gtt_rmw(unsigned long reg, uint32_t andmask, uint32_t ormask)
static void gma_init(struct device *const dev)
static int is_graphics_disabled(struct device *dev)
static const struct device_operations graphics_ops
static void gma_generate_ssdt(const struct device *device)
void(* read_resources)(struct device *dev)