summaryrefslogtreecommitdiff
path: root/src/soc/intel/icelake
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/icelake')
-rw-r--r--src/soc/intel/icelake/acpi.c16
-rw-r--r--src/soc/intel/icelake/chip.c7
-rw-r--r--src/soc/intel/icelake/cpu.c7
-rw-r--r--src/soc/intel/icelake/fsp_params.c15
-rw-r--r--src/soc/intel/icelake/pmc.c3
-rw-r--r--src/soc/intel/icelake/smmrelocate.c2
6 files changed, 20 insertions, 30 deletions
diff --git a/src/soc/intel/icelake/acpi.c b/src/soc/intel/icelake/acpi.c
index ae7b344df0..c61d877d1c 100644
--- a/src/soc/intel/icelake/acpi.c
+++ b/src/soc/intel/icelake/acpi.c
@@ -137,8 +137,9 @@ acpi_cstate_t *soc_get_cstate_map(size_t *entries)
ARRAY_SIZE(cstate_set_non_s0ix))];
int *set;
int i;
- struct device *dev = SA_DEV_ROOT;
- config_t *config = dev->chip_info;
+
+ config_t *config = config_of_path(SA_DEVFN_ROOT);
+
int is_s0ix_enable = config->s0ix_enable;
if (is_s0ix_enable) {
@@ -158,8 +159,8 @@ acpi_cstate_t *soc_get_cstate_map(size_t *entries)
void soc_power_states_generation(int core_id, int cores_per_package)
{
- struct device *dev = SA_DEV_ROOT;
- config_t *config = dev->chip_info;
+ config_t *config = config_of_path(SA_DEVFN_ROOT);
+
if (config->eist_enable)
/* Generate P-state tables */
generate_p_state_entries(core_id, cores_per_package);
@@ -168,8 +169,8 @@ void soc_power_states_generation(int core_id, int cores_per_package)
void soc_fill_fadt(acpi_fadt_t *fadt)
{
const uint16_t pmbase = ACPI_BASE_ADDRESS;
- const struct device *dev = pcidev_on_root(0, 0);
- const struct soc_intel_icelake_config *config = dev->chip_info;
+
+ config_t *config = config_of_path(SA_DEVFN_ROOT);
if (!config->PmTimerDisabled) {
fadt->pm_tmr_blk = pmbase + PM1_TMR;
@@ -193,8 +194,7 @@ uint32_t soc_read_sci_irq_select(void)
void acpi_create_gnvs(struct global_nvs_t *gnvs)
{
- const struct device *dev = pcidev_on_root(0, 0);
- const struct soc_intel_icelake_config *config = dev->chip_info;
+ config_t *config = config_of_path(SA_DEVFN_ROOT);
/* Set unknown wake source */
gnvs->pm1i = -1;
diff --git a/src/soc/intel/icelake/chip.c b/src/soc/intel/icelake/chip.c
index ceef266c06..c4abb0c3f7 100644
--- a/src/soc/intel/icelake/chip.c
+++ b/src/soc/intel/icelake/chip.c
@@ -107,12 +107,7 @@ const char *soc_acpi_name(const struct device *dev)
static void soc_fill_gpio_pm_configuration(void)
{
uint8_t value[TOTAL_GPIO_COMM];
- const struct device *dev;
- dev = pcidev_on_root(SA_DEV_SLOT_ROOT, 0);
- if (!dev || !dev->chip_info)
- return;
-
- const config_t *config = dev->chip_info;
+ const config_t *config = config_of_path(SA_DEVFN_ROOT);
if (config->gpio_override_pm)
memcpy(value, config->gpio_pm, sizeof(uint8_t) *
diff --git a/src/soc/intel/icelake/cpu.c b/src/soc/intel/icelake/cpu.c
index 67d41d79fd..cf92cd9c3f 100644
--- a/src/soc/intel/icelake/cpu.c
+++ b/src/soc/intel/icelake/cpu.c
@@ -40,8 +40,7 @@ static void soc_fsp_load(void)
static void configure_isst(void)
{
- struct device *dev = SA_DEV_ROOT;
- config_t *conf = dev->chip_info;
+ config_t *conf = config_of_path(SA_DEVFN_ROOT);
msr_t msr;
if (conf->speed_shift_enable) {
@@ -66,10 +65,10 @@ static void configure_isst(void)
static void configure_misc(void)
{
- struct device *dev = SA_DEV_ROOT;
- config_t *conf = dev->chip_info;
msr_t msr;
+ config_t *conf = config_of_path(SA_DEVFN_ROOT);
+
msr = rdmsr(IA32_MISC_ENABLE);
msr.lo |= (1 << 0); /* Fast String enable */
msr.lo |= (1 << 3); /* TM1/TM2/EMTTM enable */
diff --git a/src/soc/intel/icelake/fsp_params.c b/src/soc/intel/icelake/fsp_params.c
index 382b1843f4..ce162ef40f 100644
--- a/src/soc/intel/icelake/fsp_params.c
+++ b/src/soc/intel/icelake/fsp_params.c
@@ -29,13 +29,8 @@
static void parse_devicetree(FSP_S_CONFIG *params)
{
- struct device *dev = pcidev_on_root(0, 0);
- if (!dev) {
- printk(BIOS_ERR, "Could not find root device\n");
- return;
- }
-
- const struct soc_intel_icelake_config *config = dev->chip_info;
+ const struct soc_intel_icelake_config *config;
+ config = config_of_path(SA_DEVFN_ROOT);
for (int i = 0; i < CONFIG_SOC_INTEL_I2C_DEV_MAX; i++)
params->SerialIoI2cMode[i] = config->SerialIoI2cMode[i];
@@ -55,8 +50,10 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
{
int i;
FSP_S_CONFIG *params = &supd->FspsConfig;
- struct device *dev = SA_DEV_ROOT;
- config_t *config = dev->chip_info;
+
+ struct device *dev;
+ struct soc_intel_icelake_config *config;
+ config = config_of_path(SA_DEVFN_ROOT);
/* Parse device tree and enable/disable devices */
parse_devicetree(params);
diff --git a/src/soc/intel/icelake/pmc.c b/src/soc/intel/icelake/pmc.c
index d98c83ecdb..b1c66b9efc 100644
--- a/src/soc/intel/icelake/pmc.c
+++ b/src/soc/intel/icelake/pmc.c
@@ -135,8 +135,7 @@ static void pch_power_options(void)
static void pmc_init(void *unused)
{
- struct device *dev = SA_DEV_ROOT;
- config_t *config = dev->chip_info;
+ config_t *config = config_of_path(SA_DEVFN_ROOT);
rtc_init();
diff --git a/src/soc/intel/icelake/smmrelocate.c b/src/soc/intel/icelake/smmrelocate.c
index 4e2d6840bb..926ef63dbf 100644
--- a/src/soc/intel/icelake/smmrelocate.c
+++ b/src/soc/intel/icelake/smmrelocate.c
@@ -255,7 +255,7 @@ static void setup_ied_area(struct smm_relocation_params *params)
void smm_info(uintptr_t *perm_smbase, size_t *perm_smsize,
size_t *smm_save_state_size)
{
- struct device *dev = SA_DEV_ROOT;
+ struct device *dev = pcidev_path_on_root(SA_DEVFN_ROOT);
printk(BIOS_DEBUG, "Setting up SMI for CPU\n");