diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/jasperlake/chip.h | 20 | ||||
-rw-r--r-- | src/soc/intel/jasperlake/fsp_params.c | 9 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/soc/intel/jasperlake/chip.h b/src/soc/intel/jasperlake/chip.h index 87a98fb351..256fa06d8d 100644 --- a/src/soc/intel/jasperlake/chip.h +++ b/src/soc/intel/jasperlake/chip.h @@ -405,6 +405,26 @@ struct soc_intel_jasperlake_config { */ bool disable_external_bypass_vr; + /* + * Core Display Clock Frequency selection, FSP UPD CdClock values + 1 + * + * FSP will use the value to program clock frequency for core display if GOP + * is not run. Ex: the Chromebook normal mode. + * For the cases GOP is run, GOP will be in charge of the related register + * settings. + */ + enum { + CD_CLOCK_172_8_MHZ = 1, + CD_CLOCK_180_MHZ = 2, + CD_CLOCK_192_MHZ = 3, + CD_CLOCK_307_MHZ = 4, + CD_CLOCK_312_MHZ = 5, + CD_CLOCK_552_MHZ = 6, + CD_CLOCK_556_8_MHZ = 7, + CD_CLOCK_648_MHZ = 8, + CD_CLOCK_652_8_MHZ = 9, + } cd_clock; + }; typedef struct soc_intel_jasperlake_config config_t; diff --git a/src/soc/intel/jasperlake/fsp_params.c b/src/soc/intel/jasperlake/fsp_params.c index 085148f7b3..a5bcd55c8f 100644 --- a/src/soc/intel/jasperlake/fsp_params.c +++ b/src/soc/intel/jasperlake/fsp_params.c @@ -209,6 +209,15 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd) params->PchFivrExtVnnRailEnabledStates = 0; } + /* + * We intentionally want the default to be maximum value(0xff) to align with + * FSP, so we reserve the `0` value here to mean auto instead, and shift the + * other values by 1. + * + * Please refer to src/soc/intel/jasperlake/chip.h for the detail definition. + */ + params->CdClock = config->cd_clock ? config->cd_clock - 1 : 0xff; + /* Override/Fill FSP Silicon Param for mainboard */ mainboard_silicon_init_params(params); } |