diff options
author | Louis Stermole <stermole@us.ibm.com> | 2016-09-14 13:04:13 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2016-09-20 10:39:23 -0400 |
commit | 50c1a970cfdc69dd6dc77c1b1c50d44190b8e55d (patch) | |
tree | 4e21d9634fcd8a88c4495b41b19e22e082202008 /src/import/chips/p9/procedures/hwp/initfiles | |
parent | 5dcf85e218314925e56cc133eeaec1c70ca687db (diff) | |
download | talos-hostboot-50c1a970cfdc69dd6dc77c1b1c50d44190b8e55d.tar.gz talos-hostboot-50c1a970cfdc69dd6dc77c1b1c50d44190b8e55d.zip |
Changes related to PHY register review, Round 3
Add workaround for DQSCLK_OFFSET based on Centaur experience
Remove setting of EN_RESET_WR_DELAY_WL
Modify setting of ADR/DP16 DLL Vreg control in initfiles and DLL reset
Change-Id: I6a0a4272f18d3ba534e1f3858520bbdb9259edc4
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29760
Reviewed-by: Brian R. Silver <bsilver@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: JACOB L. HARVEY <jlharvey@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29763
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C | 92 |
1 files changed, 71 insertions, 21 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C index 23ad44763..e6b1064c1 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_ddrphy_scom.C @@ -33,7 +33,7 @@ constexpr auto literal_0x0120 = 0x0120; constexpr auto literal_0x8100 = 0x8100; constexpr auto literal_0x8000 = 0x8000; constexpr auto literal_0xffe0 = 0xffe0; -constexpr auto literal_0x0040 = 0x0040; +constexpr auto literal_0x6740 = 0x6740; constexpr auto literal_0x0402 = 0x0402; constexpr auto literal_0x6000 = 0x6000; constexpr auto literal_0x4000 = 0x4000; @@ -233,8 +233,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -258,8 +258,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -819,8 +819,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -844,8 +844,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -1405,8 +1405,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -1430,8 +1430,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -1991,8 +1991,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -2016,8 +2016,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -2577,8 +2577,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -2602,8 +2602,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG { if (( true )) { - l_scom_buffer.insert<uint64_t> (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert<uint64_t> (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 62, 2, 62 ); } } @@ -3200,6 +3200,31 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG } } { + l_rc = fapi2::getScom( TGT0, 0x8000803d0701103full, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x8000803d0701103full)"); + break; + } + + { + if (( true )) + { + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 63, 1, 63 ); + } + } + + l_rc = fapi2::putScom(TGT0, 0x8000803d0701103full, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x8000803d0701103full)"); + break; + } + } + { l_rc = fapi2::getScom( TGT0, 0x800084310701103full, l_scom_buffer ); if (l_rc) @@ -3248,6 +3273,31 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& TG } } { + l_rc = fapi2::getScom( TGT0, 0x8000843d0701103full, l_scom_buffer ); + + if (l_rc) + { + FAPI_ERR("ERROR executing: getScom (0x8000843d0701103full)"); + break; + } + + { + if (( true )) + { + l_scom_buffer.insert<uint64_t> (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert<uint64_t> (literal_0x6740, 63, 1, 63 ); + } + } + + l_rc = fapi2::putScom(TGT0, 0x8000843d0701103full, l_scom_buffer); + + if (l_rc) + { + FAPI_ERR("ERROR executing: putScom (0x8000843d0701103full)"); + break; + } + } + { l_rc = fapi2::getScom( TGT0, 0x8000c00c0701103full, l_scom_buffer ); if (l_rc) |