From 50c1a970cfdc69dd6dc77c1b1c50d44190b8e55d Mon Sep 17 00:00:00 2001 From: Louis Stermole Date: Wed, 14 Sep 2016 13:04:13 -0500 Subject: 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 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: JACOB L. HARVEY Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29763 Tested-by: FSP CI Jenkins Reviewed-by: Christian R. Geddes --- .../p9/procedures/hwp/initfiles/p9_ddrphy_scom.C | 92 +++++++++++++++++----- 1 file changed, 71 insertions(+), 21 deletions(-) (limited to 'src/import/chips/p9/procedures/hwp/initfiles') 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& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -258,8 +258,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -819,8 +819,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -844,8 +844,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -1405,8 +1405,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -1430,8 +1430,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -1991,8 +1991,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -2016,8 +2016,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -2577,8 +2577,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -2602,8 +2602,8 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG { if (( true )) { - l_scom_buffer.insert (literal_0x0040, 48, 12, 48 ); - l_scom_buffer.insert (literal_0x0040, 62, 2, 62 ); + l_scom_buffer.insert (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (literal_0x6740, 62, 2, 62 ); } } @@ -3199,6 +3199,31 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG break; } } + { + 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 (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (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 ); @@ -3247,6 +3272,31 @@ fapi2::ReturnCode p9_ddrphy_scom(const fapi2::Target& TG break; } } + { + 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 (literal_0x6740, 48, 12, 48 ); + l_scom_buffer.insert (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 ); -- cgit v1.2.1