soc/amd: factor out common family 17h&19h TSC and monotonic timer code
The corresponding MSRs of all AMD family 17h and 19h CPUs/APUs match the code. Change-Id: I29cfef5d8920c29e36c55fc46a90eb579a042b64 Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/48305 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
This commit is contained in:
parent
0a93f7a7e9
commit
2f5c759077
|
@ -27,3 +27,14 @@ config MEMLAYOUT_LD_FILE
|
||||||
default "src/soc/amd/common/block/cpu/noncar/memlayout.ld"
|
default "src/soc/amd/common/block/cpu/noncar/memlayout.ld"
|
||||||
|
|
||||||
endif # SOC_AMD_COMMON_BLOCK_NONCAR
|
endif # SOC_AMD_COMMON_BLOCK_NONCAR
|
||||||
|
|
||||||
|
config SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
|
||||||
|
bool
|
||||||
|
select COLLECT_TIMESTAMPS_NO_TSC # selected use SoC-specific timestamp function
|
||||||
|
select TSC_SYNC_LFENCE
|
||||||
|
select UDELAY_TSC
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Select this option to add the common functions for getting the TSC
|
||||||
|
frequency of AMD family 17h and 19h CPUs/APUs and to provide TSC-
|
||||||
|
based monotonic timer functionality to the build.
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
ifeq ($(CONFIG_SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H),y)
|
||||||
|
|
||||||
|
subdirs-y += ../../../../../../cpu/x86/tsc
|
||||||
|
|
||||||
|
bootblock-y += tsc_freq.c
|
||||||
|
bootblock-y += monotonic_timer.c
|
||||||
|
|
||||||
|
verstage_x86-y += tsc_freq.c
|
||||||
|
verstage_x86-y += monotonic_timer.c
|
||||||
|
|
||||||
|
romstage-y += tsc_freq.c
|
||||||
|
romstage-y += monotonic_timer.c
|
||||||
|
|
||||||
|
ramstage-y += tsc_freq.c
|
||||||
|
ramstage-y += monotonic_timer.c
|
||||||
|
|
||||||
|
smm-y += tsc_freq.c
|
||||||
|
smm-y += monotonic_timer.c
|
||||||
|
|
||||||
|
endif # CONFIG_SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
|
|
@ -24,10 +24,7 @@ config CPU_SPECIFIC_OPTIONS
|
||||||
select IOAPIC
|
select IOAPIC
|
||||||
select HAVE_EM100_SUPPORT
|
select HAVE_EM100_SUPPORT
|
||||||
select HAVE_USBDEBUG_OPTIONS
|
select HAVE_USBDEBUG_OPTIONS
|
||||||
select COLLECT_TIMESTAMPS_NO_TSC
|
|
||||||
select SOC_AMD_COMMON_BLOCK_SPI
|
select SOC_AMD_COMMON_BLOCK_SPI
|
||||||
select TSC_SYNC_LFENCE
|
|
||||||
select UDELAY_TSC
|
|
||||||
select SOC_AMD_COMMON
|
select SOC_AMD_COMMON
|
||||||
select SOC_AMD_COMMON_BLOCK_NONCAR
|
select SOC_AMD_COMMON_BLOCK_NONCAR
|
||||||
select SOC_AMD_COMMON_BLOCK_HAS_ESPI
|
select SOC_AMD_COMMON_BLOCK_HAS_ESPI
|
||||||
|
@ -44,6 +41,7 @@ config CPU_SPECIFIC_OPTIONS
|
||||||
select SOC_AMD_COMMON_BLOCK_SMBUS
|
select SOC_AMD_COMMON_BLOCK_SMBUS
|
||||||
select SOC_AMD_COMMON_BLOCK_SMI
|
select SOC_AMD_COMMON_BLOCK_SMI
|
||||||
select SOC_AMD_COMMON_BLOCK_SMU
|
select SOC_AMD_COMMON_BLOCK_SMU
|
||||||
|
select SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
|
||||||
select SOC_AMD_COMMON_BLOCK_PSP_GEN2
|
select SOC_AMD_COMMON_BLOCK_PSP_GEN2
|
||||||
select PROVIDES_ROM_SHARING
|
select PROVIDES_ROM_SHARING
|
||||||
select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
|
select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
ifeq ($(CONFIG_SOC_AMD_PICASSO),y)
|
ifeq ($(CONFIG_SOC_AMD_PICASSO),y)
|
||||||
|
|
||||||
subdirs-y += ../../../cpu/amd/mtrr/
|
subdirs-y += ../../../cpu/amd/mtrr/
|
||||||
subdirs-y += ../../../cpu/x86/tsc
|
|
||||||
subdirs-y += ../../../cpu/x86/lapic
|
subdirs-y += ../../../cpu/x86/lapic
|
||||||
subdirs-y += ../../../cpu/x86/cache
|
subdirs-y += ../../../cpu/x86/cache
|
||||||
subdirs-y += ../../../cpu/x86/mtrr
|
subdirs-y += ../../../cpu/x86/mtrr
|
||||||
|
@ -17,8 +16,6 @@ bootblock-y += southbridge.c
|
||||||
bootblock-y += i2c.c
|
bootblock-y += i2c.c
|
||||||
bootblock-y += uart.c
|
bootblock-y += uart.c
|
||||||
bootblock-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
bootblock-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
||||||
bootblock-y += monotonic_timer.c
|
|
||||||
bootblock-y += tsc_freq.c
|
|
||||||
bootblock-y += gpio.c
|
bootblock-y += gpio.c
|
||||||
bootblock-y += config.c
|
bootblock-y += config.c
|
||||||
bootblock-y += reset.c
|
bootblock-y += reset.c
|
||||||
|
@ -30,8 +27,6 @@ romstage-y += reset.c
|
||||||
romstage-y += memmap.c
|
romstage-y += memmap.c
|
||||||
romstage-y += uart.c
|
romstage-y += uart.c
|
||||||
romstage-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
romstage-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
||||||
romstage-y += monotonic_timer.c
|
|
||||||
romstage-y += tsc_freq.c
|
|
||||||
romstage-y += aoac.c
|
romstage-y += aoac.c
|
||||||
romstage-y += southbridge.c
|
romstage-y += southbridge.c
|
||||||
romstage-y += psp.c
|
romstage-y += psp.c
|
||||||
|
@ -44,8 +39,6 @@ verstage-y += aoac.c
|
||||||
verstage_x86-y += gpio.c
|
verstage_x86-y += gpio.c
|
||||||
verstage_x86-y += uart.c
|
verstage_x86-y += uart.c
|
||||||
verstage_x86-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
verstage_x86-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
||||||
verstage_x86-y += monotonic_timer.c
|
|
||||||
verstage_x86-y += tsc_freq.c
|
|
||||||
verstage_x86-y += reset.c
|
verstage_x86-y += reset.c
|
||||||
|
|
||||||
ramstage-y += i2c.c
|
ramstage-y += i2c.c
|
||||||
|
@ -66,8 +59,6 @@ ramstage-y += memmap.c
|
||||||
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c
|
ramstage-$(CONFIG_HAVE_SMI_HANDLER) += smi.c
|
||||||
ramstage-y += uart.c
|
ramstage-y += uart.c
|
||||||
ramstage-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
ramstage-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
||||||
ramstage-y += monotonic_timer.c
|
|
||||||
ramstage-y += tsc_freq.c
|
|
||||||
ramstage-y += finalize.c
|
ramstage-y += finalize.c
|
||||||
ramstage-y += soc_util.c
|
ramstage-y += soc_util.c
|
||||||
ramstage-y += psp.c
|
ramstage-y += psp.c
|
||||||
|
@ -80,8 +71,6 @@ ramstage-y += xhci.c
|
||||||
ramstage-y += dmi.c
|
ramstage-y += dmi.c
|
||||||
|
|
||||||
smm-y += smihandler.c
|
smm-y += smihandler.c
|
||||||
smm-y += monotonic_timer.c
|
|
||||||
smm-y += tsc_freq.c
|
|
||||||
ifeq ($(CONFIG_DEBUG_SMI),y)
|
ifeq ($(CONFIG_DEBUG_SMI),y)
|
||||||
smm-y += uart.c
|
smm-y += uart.c
|
||||||
smm-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
smm-$(CONFIG_PICASSO_CONSOLE_UART) += uart_console.c
|
||||||
|
|
Loading…
Reference in New Issue