soc/intel/apollolake: Add CQOS CAR implementation

Add new option to set up Cache-As-RAM by using CQOS, Cache Quality of
Service. CQOS allows setting ways of cache in no-fill mode, while keeping
other ways in regular evicting mode. This effectively allows using CAR
and cache simultaneously.

BUG=chrome-os-partner:51959
TEST=switch from NEM to CQOS and back, boot

Change-Id: Ic7f9899918f94a5788b02a4fbd2f5d5ba9aaf91d
Signed-off-by: Andrey Petrov <andrey.petrov@intel.com>
Reviewed-on: https://review.coreboot.org/15455
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Andrey Petrov
2016-06-27 13:39:34 -07:00
committed by Martin Roth
parent 7f72c9b30e
commit 3f4aece4e0
4 changed files with 128 additions and 2 deletions

View File

@@ -227,6 +227,27 @@ config NHLT_DA7219
default n
help
Include DSP firmware settings for headset codec.
choice
prompt "Cache-as-ram implementation"
default CAR_CQOS
help
This option allows you to select how cache-as-ram (CAR) is set up.
config CAR_NEM
bool "Non-evict mode"
help
Traditionally, CAR is set up by using Non-Evict mode. This method
does not allow CAR and cache to co-exist, because cache fills are
block in NEM mode.
config CAR_CQOS
bool "Cache Quality of Service"
help
Cache Quality of Service allows more fine-grained control of cache
usage. As result, it is possible to set up portion of L2 cache for
CAR and use remainder for actual caching.
endchoice
config SPI_FLASH_INCLUDE_ALL_DRIVERS
bool