From c7267631e23ec113de898bf07b5f6f212acc3629 Mon Sep 17 00:00:00 2001 From: Aamir Bohra Date: Sat, 30 Jun 2018 12:38:43 +0530 Subject: soc/intel/icelake: Add PID based on Icelake EDS Change-Id: I2d9e06f06a39dc76a3c1351d7976505d7bd92d10 Signed-off-by: Subrata Banik Signed-off-by: Aamir Bohra Reviewed-on: https://review.coreboot.org/29436 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/soc/intel/icelake/bootblock/pch.c | 33 ++++++----------------------- src/soc/intel/icelake/include/soc/pcr_ids.h | 13 +++++++----- 2 files changed, 14 insertions(+), 32 deletions(-) diff --git a/src/soc/intel/icelake/bootblock/pch.c b/src/soc/intel/icelake/bootblock/pch.c index 2fc94f4820..96722e21be 100644 --- a/src/soc/intel/icelake/bootblock/pch.c +++ b/src/soc/intel/icelake/bootblock/pch.c @@ -34,9 +34,7 @@ #include #include -#define PCR_PSF3_TO_SHDW_PMC_REG_BASE_CNP_LP 0x1400 -#define PCR_PSF3_TO_SHDW_PMC_REG_BASE_CNP_H 0x0980 - +#define PCR_PSF3_TO_SHDW_PMC_REG_BASE 0x0600 #define PCR_PSFX_TO_SHDW_BAR0 0 #define PCR_PSFX_TO_SHDW_BAR1 0x4 #define PCR_PSFX_TO_SHDW_BAR2 0x8 @@ -56,20 +54,6 @@ #define PCR_DMI_LPCIOD 0x2770 #define PCR_DMI_LPCIOE 0x2774 -static uint32_t get_pmc_reg_base(void) -{ - uint8_t pch_series; - - pch_series = get_pch_series(); - - if (pch_series == PCH_H) - return PCR_PSF3_TO_SHDW_PMC_REG_BASE_CNP_H; - else if (pch_series == PCH_LP) - return PCR_PSF3_TO_SHDW_PMC_REG_BASE_CNP_LP; - else - return 0; -} - static void soc_config_pwrmbase(void) { uint32_t reg32; @@ -113,26 +97,21 @@ void bootblock_pch_early_init(void) static void soc_config_acpibase(void) { uint32_t pmc_reg_value; - uint32_t pmc_base_reg; - - pmc_base_reg = get_pmc_reg_base(); - if (!pmc_base_reg) - die("Invalid PMC base address\n"); - pmc_reg_value = pcr_read32(PID_PSF3, pmc_base_reg + - PCR_PSFX_TO_SHDW_BAR4); + pmc_reg_value = pcr_read32(PID_PSF3, PCR_PSF3_TO_SHDW_PMC_REG_BASE + + PCR_PSFX_TO_SHDW_BAR4); if (pmc_reg_value != 0xFFFFFFFF) { /* Disable Io Space before changing the address */ - pcr_rmw32(PID_PSF3, pmc_base_reg + + pcr_rmw32(PID_PSF3, PCR_PSF3_TO_SHDW_PMC_REG_BASE + PCR_PSFX_T0_SHDW_PCIEN, ~PCR_PSFX_TO_SHDW_PCIEN_IOEN, 0); /* Program ABASE in PSF3 PMC space BAR4*/ - pcr_write32(PID_PSF3, pmc_base_reg + + pcr_write32(PID_PSF3, PCR_PSF3_TO_SHDW_PMC_REG_BASE + PCR_PSFX_TO_SHDW_BAR4, ACPI_BASE_ADDRESS); /* Enable IO Space */ - pcr_rmw32(PID_PSF3, pmc_base_reg + + pcr_rmw32(PID_PSF3, PCR_PSF3_TO_SHDW_PMC_REG_BASE + PCR_PSFX_T0_SHDW_PCIEN, ~0, PCR_PSFX_TO_SHDW_PCIEN_IOEN); } diff --git a/src/soc/intel/icelake/include/soc/pcr_ids.h b/src/soc/intel/icelake/include/soc/pcr_ids.h index b75bf67036..4cfb2946d0 100644 --- a/src/soc/intel/icelake/include/soc/pcr_ids.h +++ b/src/soc/intel/icelake/include/soc/pcr_ids.h @@ -20,11 +20,14 @@ */ #define PID_EMMC 0x52 #define PID_SDX 0x53 -#define PID_GPIOCOM4 0x6a -#define PID_GPIOCOM3 0x6b -#define PID_GPIOCOM2 0x6c -#define PID_GPIOCOM1 0x6d + #define PID_GPIOCOM0 0x6e +#define PID_GPIOCOM1 0x6d +#define PID_GPIOCOM2 0x6c +#define PID_GPIOCOM3 0x6b +#define PID_GPIOCOM4 0x6a +#define PID_GPIOCOM5 0x69 + #define PID_DMI 0x88 #define PID_PSTH 0x89 #define PID_CSME0 0x90 @@ -35,7 +38,7 @@ #define PID_PSF4 0xbd #define PID_SCS 0xc0 #define PID_RTC 0xc3 -#define PID_ITSS 0xc2 +#define PID_ITSS 0xc4 #define PID_LPC 0xc7 #define PID_SERIALIO 0xcb -- cgit v1.2.3