soc/intel/cannonlake: Fix 16-bit read/write PCI_COMMAND register
Change-Id: If7e2c84c39039e0dc6811f247390f856fc634b33 Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/c/coreboot/+/40844 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
2ec1c13ac4
commit
ad87d1c8b9
|
@ -61,22 +61,21 @@ static uint32_t get_pmc_reg_base(void)
|
||||||
static void soc_config_pwrmbase(void)
|
static void soc_config_pwrmbase(void)
|
||||||
{
|
{
|
||||||
uint32_t reg32;
|
uint32_t reg32;
|
||||||
|
uint16_t reg16;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Assign Resources to PWRMBASE
|
* Assign Resources to PWRMBASE
|
||||||
* Clear BIT 1-2 Command Register
|
* Clear BIT 1-2 Command Register
|
||||||
*/
|
*/
|
||||||
reg32 = pci_read_config32(PCH_DEV_PMC, PCI_COMMAND);
|
reg16 = pci_read_config16(PCH_DEV_PMC, PCI_COMMAND);
|
||||||
reg32 &= ~(PCI_COMMAND_MEMORY);
|
reg16 &= ~(PCI_COMMAND_MEMORY);
|
||||||
pci_write_config32(PCH_DEV_PMC, PCI_COMMAND, reg32);
|
pci_write_config16(PCH_DEV_PMC, PCI_COMMAND, reg16);
|
||||||
|
|
||||||
/* Program PWRM Base */
|
/* Program PWRM Base */
|
||||||
pci_write_config32(PCH_DEV_PMC, PWRMBASE, PCH_PWRM_BASE_ADDRESS);
|
pci_write_config32(PCH_DEV_PMC, PWRMBASE, PCH_PWRM_BASE_ADDRESS);
|
||||||
|
|
||||||
/* Enable Bus Master and MMIO Space */
|
/* Enable Bus Master and MMIO Space */
|
||||||
reg32 = pci_read_config32(PCH_DEV_PMC, PCI_COMMAND);
|
pci_or_config16(PCH_DEV_PMC, PCI_COMMAND, PCI_COMMAND_MEMORY);
|
||||||
reg32 |= PCI_COMMAND_MEMORY;
|
|
||||||
pci_write_config32(PCH_DEV_PMC, PCI_COMMAND, reg32);
|
|
||||||
|
|
||||||
/* Enable PWRM in PMC */
|
/* Enable PWRM in PMC */
|
||||||
reg32 = read32((void *)(PCH_PWRM_BASE_ADDRESS + ACTL));
|
reg32 = read32((void *)(PCH_PWRM_BASE_ADDRESS + ACTL));
|
||||||
|
|
|
@ -48,9 +48,8 @@ void graphics_soc_init(struct device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* IGD needs to Bus Master */
|
/* IGD needs to Bus Master */
|
||||||
uint32_t reg32 = pci_read_config32(dev, PCI_COMMAND);
|
pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY |
|
||||||
reg32 |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY | PCI_COMMAND_IO;
|
PCI_COMMAND_IO);
|
||||||
pci_write_config32(dev, PCI_COMMAND, reg32);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GFX PEIM module inside FSP binary is taking care of graphics
|
* GFX PEIM module inside FSP binary is taking care of graphics
|
||||||
|
|
Loading…
Reference in New Issue