coreboot/src/soc
Barnali Sarkar a1de1a0810 soc/intel/skylake: Remove unnecessary P-State and Flex Ratio assignment
This patch basically does two things -

1) Remove unnecessary setting of flex_ratio to TDP nominal:
Factory configured (default) Max Non-TURBO ratio(P1) is already cofigured
in MSR_PLATFORM_INFO(0xCE).
If this Maximum Non-TURBO Ratio(P1) needs to be modified, it should be done
using MSR_FLEX_RATIO (0x194).
Here, in this code, the FLEX_RATIO is being modified by the TDP Nominal
Ratio, reading the MSR_CONFIG_TDP_NOMINAL(0x648). But this value is
actually less than the factory configured Maximum Non TURBO Ratio (P1).
So, this code is actually not required.

Also, the Bit 12 in PCH Soft Strap Register is already set in descriptor.
This Bit implies Processor Boot Max Frequency -
0 = Disable Boot Max Frequency
1 = Enable Boot Max Frequency (Default)
This setting determines if the processor will operate at maximum frequency
at power-on and boot.

Thus this patch will avoid one extra platform warm reset now onwards.

2) Remove wrongly setting Max Frequency in Bootblock phase:
In the function set_max_frequency(), the P-State max ratio was set to
TDP Nominal ratio if C-TDP was enabled, else it was set to Max Non
Trbo ratio.

But, when the cpu gets reset, it will operate with the Max-Non Turbo
ratio only, which is greater than the TDP Nominal ratio.
So, no need to set back the ratio to TDP Nominal which is lower than
the currently operating frequency.

BUG=none
BRANCH=none
TEST=Build and boot poppy

Change-Id: I24bfc86ddf0f038d85da938e41e950382fe2a6c3
Signed-off-by: Barnali Sarkar <barnali.sarkar@intel.com>
Reviewed-on: https://review.coreboot.org/20050
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-07-01 08:49:11 +00:00
..
amd soc/amd/stoneyridge: Convert monotonic timer 2017-06-29 14:49:55 +00:00
broadcom/cygnus soc/broadcom/cygnus: Move spi driver to use spi_bus_map 2017-05-24 04:39:30 +02:00
dmp/vortex86ex Consolidate reset API, add generic reset_prepare mechanism 2017-06-13 20:53:09 +02:00
imgtec/pistachio Consolidate reset API, add generic reset_prepare mechanism 2017-06-13 20:53:09 +02:00
intel soc/intel/skylake: Remove unnecessary P-State and Flex Ratio assignment 2017-07-01 08:49:11 +00:00
lowrisc/lowrisc soc/lowrisc: Place CBMEM at top of autodetected RAM 2016-12-06 18:51:13 +01:00
marvell/mvmap2315 soc/marvell/armada38x: Remove unused SoC armada38x 2017-05-24 04:43:23 +02:00
mediatek/mt8173 Consolidate reset API, add generic reset_prepare mechanism 2017-06-13 20:53:09 +02:00
nvidia device/Kconfig: Introduce MAINBOARD_FORCE_NATIVE_VGA_INIT 2017-06-08 14:31:43 +02:00
qualcomm spi: Remove unused/unnecessary spi_init function definitions 2017-06-07 22:49:37 +02:00
rockchip rockchip/rk3399: update the ddr 200MHz frequency configuration 2017-06-26 00:45:02 +00:00
samsung Consolidate reset API, add generic reset_prepare mechanism 2017-06-13 20:53:09 +02:00
ucb/riscv soc/ucb/riscv: Place CBMEM at top of autodetected RAM 2016-12-06 18:48:28 +01:00