Hello Kane Chen,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/45027
to review the following change.
Change subject: mb/google/puff: Use customized emmc dll settings for Kaisa. ......................................................................
mb/google/puff: Use customized emmc dll settings for Kaisa.
ODM is reporting some systems are stuck in linux kernel because of crc errors during mmc cmd6 transaction.
The dll settings in this commit is one of dll settings in CML FSP. But on the certain SKU, fsp chooses the another dll settings.
So this commit picks the working dll for Kaisa from fsp and overrides it in coreboot, and ODM is able to boot to OS without problem.
Before we clarify final dll selection, Kaisa needs this dll settings to recover the failing boards.
BUG=b:161682230
Signed-off-by: Kane Chen kane.chen@intel.corp-partner.google.com Change-Id: I301b7a668cedf4d7d175084717e280f5e19b31c4 --- M src/mainboard/google/hatch/Kconfig.name M src/mainboard/google/hatch/variants/kaisa/overridetree.cb 2 files changed, 6 insertions(+), 4 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/27/45027/1
diff --git a/src/mainboard/google/hatch/Kconfig.name b/src/mainboard/google/hatch/Kconfig.name index 3f803c5..0a381ab1 100644 --- a/src/mainboard/google/hatch/Kconfig.name +++ b/src/mainboard/google/hatch/Kconfig.name @@ -35,10 +35,12 @@ bool "-> Kaisa Legacy (32MB)" select BOARD_GOOGLE_BASEBOARD_PUFF select BOARD_ROMSIZE_KB_32768 + select SOC_INTEL_COMMON_MMC_OVERRIDE
config BOARD_GOOGLE_KAISA bool "-> Kaisa" select BOARD_GOOGLE_BASEBOARD_PUFF + select SOC_INTEL_COMMON_MMC_OVERRIDE
config BOARD_GOOGLE_KOHAKU bool "-> Kohaku" diff --git a/src/mainboard/google/hatch/variants/kaisa/overridetree.cb b/src/mainboard/google/hatch/variants/kaisa/overridetree.cb index c6aef05..0585f51 100644 --- a/src/mainboard/google/hatch/variants/kaisa/overridetree.cb +++ b/src/mainboard/google/hatch/variants/kaisa/overridetree.cb @@ -169,7 +169,7 @@ # Refer to EDS-Vol2-14.3.8. # [14:8] steps of delay for HS400, each 125ps, range: 0 - 78. # [6:0] steps of delay for SDR104/HS200, each 125ps, range: 0 - 79. - register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0x911" + register "common_soc_config.emmc_dll.emmc_tx_data_cntl1" = "0xC0B"
# EMMC TX DATA Delay 2 # Refer to EDS-Vol2-14.3.9. @@ -177,7 +177,7 @@ # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78. # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 -79. # [6:0] steps of delay for SDR12, each 125ps. Range: 0 - 79. - register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C262828" + register "common_soc_config.emmc_dll.emmc_tx_data_cntl2" = "0x1C292929"
# EMMC RX CMD/DATA Delay 1 # Refer to EDS-Vol2-14.3.10. @@ -185,7 +185,7 @@ # [22:16] steps of delay for DDR50, each 125ps, range: 0 - 78. # [14:8] steps of delay for SDR25/HS50, each 125ps, range: 0 - 119. # [6:0] steps of delay for SDR12, each 125ps, range: 0 - 119. - register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C16583b" + register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl1" = "0x1C101616"
# EMMC RX CMD/DATA Delay 2 # Refer to EDS-Vol2-14.3.12. @@ -196,7 +196,7 @@ # 11: Reserved # [14:8] steps of delay for Auto Tuning Mode, each 125ps, range: 0 - 39. # [6:0] steps of delay for HS200, each 125ps, range: 0 - 79. - register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x1001D" + register "common_soc_config.emmc_dll.emmc_rx_cmd_data_cntl2" = "0x20006"
# EMMC Rx Strobe Delay # Refer to EDS-Vol2-14.3.11.