From 6781c16acf6de4b08cbc55f2569062ba1c655592 Mon Sep 17 00:00:00 2001 From: Chris Steffen Date: Fri, 16 Nov 2018 11:08:54 -0600 Subject: P9 Xbus/DMI CM Workaround - Linearity Workaround to help with data compression Change-Id: I7957e5aa6c2e10463e09ca6c6d2ddcacb8aee7d2 CQ: FW685728 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68851 Tested-by: FSP CI Jenkins Tested-by: HWSV CI Tested-by: Hostboot CI Tested-by: Jenkins Server Reviewed-by: Megan P. Nguyen Reviewed-by: William G. Hoffa Reviewed-by: Jennifer A. Stofer Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68853 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW --- .../p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C | 21 +++++++++++---------- .../p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C | 21 +++++++++++---------- .../p9/procedures/hwp/initfiles/p9c_dmi_io_scom.C | 12 +++++++++++- 3 files changed, 33 insertions(+), 21 deletions(-) (limited to 'src/import/chips/p9/procedures/hwp/initfiles') diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C index 63bc6083b..627a74c20 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g0_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -43,12 +43,12 @@ constexpr uint64_t literal_0b0000011 = 0b0000011; constexpr uint64_t literal_0b000000 = 0b000000; constexpr uint64_t literal_0b100111 = 0b100111; constexpr uint64_t literal_0b1010 = 0b1010; -constexpr uint64_t literal_0b01 = 0b01; +constexpr uint64_t literal_0b00 = 0b00; constexpr uint64_t literal_0b11 = 0b11; +constexpr uint64_t literal_0b01010000 = 0b01010000; constexpr uint64_t literal_0b01011100 = 0b01011100; -constexpr uint64_t literal_0b01100110 = 0b01100110; +constexpr uint64_t literal_0b00110111 = 0b00110111; constexpr uint64_t literal_0b00111101 = 0b00111101; -constexpr uint64_t literal_0b01000100 = 0b01000100; constexpr uint64_t literal_0b0010000 = 0b0010000; constexpr uint64_t literal_0b00001 = 0b00001; constexpr uint64_t literal_0b0001 = 0b0001; @@ -61,7 +61,7 @@ constexpr uint64_t literal_0b0000000000000000 = 0b0000000000000000; constexpr uint64_t literal_0b01111111 = 0b01111111; constexpr uint64_t literal_0b10 = 0b10; constexpr uint64_t literal_0b1100 = 0b1100; -constexpr uint64_t literal_0b00 = 0b00; +constexpr uint64_t literal_0b01 = 0b01; constexpr uint64_t literal_0b01110 = 0b01110; fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target& TGT0, @@ -3213,7 +3213,7 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target& { FAPI_TRY(fapi2::getScom( TGT0, 0x8008c00006010c3full, l_scom_buffer )); - l_scom_buffer.insert<48, 2, 62, uint64_t>(literal_0b01 ); + l_scom_buffer.insert<48, 2, 62, uint64_t>(literal_0b00 ); constexpr auto l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_PEAK_TUNE_OFF = 0x0; l_scom_buffer.insert<55, 1, 63, uint64_t>(l_IOF1_RX_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_PEAK_TUNE_OFF ); l_scom_buffer.insert<57, 2, 62, uint64_t>(literal_0b11 ); @@ -3240,20 +3240,20 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target& if ((l_TGT0_ATTR_IO_XBUS_CHAN_EQ & ENUM_ATTR_IO_XBUS_CHAN_EQ_LOWER_VGA_GAIN_TARGET)) { - l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01011100 ); + l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01010000 ); } else if (( true )) { - l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01100110 ); + l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01011100 ); } if ((l_TGT0_ATTR_IO_XBUS_CHAN_EQ & ENUM_ATTR_IO_XBUS_CHAN_EQ_LOWER_VGA_GAIN_TARGET)) { - l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00111101 ); + l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00110111 ); } else if (( true )) { - l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b01000100 ); + l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00111101 ); } FAPI_TRY(fapi2::putScom(TGT0, 0x8008d00006010c3full, l_scom_buffer)); @@ -3377,6 +3377,7 @@ fapi2::ReturnCode p9_xbus_g0_scom(const fapi2::Target& constexpr auto l_IOF1_RX_RX0_RXCTL_DATASM_DATASM_REGS_RX_CTL_DATASM_CLKDIST_PDWN_OFF = 0x0; l_scom_buffer.insert<60, 1, 63, uint64_t>(l_IOF1_RX_RX0_RXCTL_DATASM_DATASM_REGS_RX_CTL_DATASM_CLKDIST_PDWN_OFF ); + l_scom_buffer.insert<56, 4, 60, uint64_t>(literal_0b0010 ); FAPI_TRY(fapi2::putScom(TGT0, 0x800b800006010c3full, l_scom_buffer)); } { diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C index 87200fec3..43487aa9c 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_xbus_g1_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -44,12 +44,12 @@ constexpr uint64_t literal_0b000000 = 0b000000; constexpr uint64_t literal_0b100111 = 0b100111; constexpr uint64_t literal_0b000001 = 0b000001; constexpr uint64_t literal_0b1010 = 0b1010; -constexpr uint64_t literal_0b01 = 0b01; +constexpr uint64_t literal_0b00 = 0b00; constexpr uint64_t literal_0b11 = 0b11; +constexpr uint64_t literal_0b01010000 = 0b01010000; constexpr uint64_t literal_0b01011100 = 0b01011100; -constexpr uint64_t literal_0b01100110 = 0b01100110; +constexpr uint64_t literal_0b00110111 = 0b00110111; constexpr uint64_t literal_0b00111101 = 0b00111101; -constexpr uint64_t literal_0b01000100 = 0b01000100; constexpr uint64_t literal_0b0010000 = 0b0010000; constexpr uint64_t literal_0b00001 = 0b00001; constexpr uint64_t literal_0b0001 = 0b0001; @@ -62,7 +62,7 @@ constexpr uint64_t literal_0b0000000000000000 = 0b0000000000000000; constexpr uint64_t literal_0b01111111 = 0b01111111; constexpr uint64_t literal_0b10 = 0b10; constexpr uint64_t literal_0b1100 = 0b1100; -constexpr uint64_t literal_0b00 = 0b00; +constexpr uint64_t literal_0b01 = 0b01; constexpr uint64_t literal_0b01110 = 0b01110; fapi2::ReturnCode p9_xbus_g1_scom(const fapi2::Target& TGT0, @@ -3214,7 +3214,7 @@ fapi2::ReturnCode p9_xbus_g1_scom(const fapi2::Target& { FAPI_TRY(fapi2::getScom( TGT0, 0x8008c02006010c3full, l_scom_buffer )); - l_scom_buffer.insert<48, 2, 62, uint64_t>(literal_0b01 ); + l_scom_buffer.insert<48, 2, 62, uint64_t>(literal_0b00 ); constexpr auto l_IOF1_RX_RX1_RXCTL_CTL_REGS_RX_CTL_REGS_RX_PEAK_TUNE_OFF = 0x0; l_scom_buffer.insert<55, 1, 63, uint64_t>(l_IOF1_RX_RX1_RXCTL_CTL_REGS_RX_CTL_REGS_RX_PEAK_TUNE_OFF ); l_scom_buffer.insert<57, 2, 62, uint64_t>(literal_0b11 ); @@ -3241,20 +3241,20 @@ fapi2::ReturnCode p9_xbus_g1_scom(const fapi2::Target& if ((l_TGT0_ATTR_IO_XBUS_CHAN_EQ & ENUM_ATTR_IO_XBUS_CHAN_EQ_LOWER_VGA_GAIN_TARGET)) { - l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01011100 ); + l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01010000 ); } else if (( true )) { - l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01100110 ); + l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01011100 ); } if ((l_TGT0_ATTR_IO_XBUS_CHAN_EQ & ENUM_ATTR_IO_XBUS_CHAN_EQ_LOWER_VGA_GAIN_TARGET)) { - l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00111101 ); + l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00110111 ); } else if (( true )) { - l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b01000100 ); + l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00111101 ); } FAPI_TRY(fapi2::putScom(TGT0, 0x8008d02006010c3full, l_scom_buffer)); @@ -3378,6 +3378,7 @@ fapi2::ReturnCode p9_xbus_g1_scom(const fapi2::Target& constexpr auto l_IOF1_RX_RX1_RXCTL_DATASM_DATASM_REGS_RX_CTL_DATASM_CLKDIST_PDWN_OFF = 0x0; l_scom_buffer.insert<60, 1, 63, uint64_t>(l_IOF1_RX_RX1_RXCTL_DATASM_DATASM_REGS_RX_CTL_DATASM_CLKDIST_PDWN_OFF ); + l_scom_buffer.insert<56, 4, 60, uint64_t>(literal_0b0010 ); FAPI_TRY(fapi2::putScom(TGT0, 0x800b802006010c3full, l_scom_buffer)); } { diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_io_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_io_scom.C index 90b99acde..d65aeca70 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_io_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9c_dmi_io_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2017,2018 */ +/* Contributors Listed Below - COPYRIGHT 2017,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -54,6 +54,8 @@ constexpr uint64_t literal_7 = 7; constexpr uint64_t literal_0b1010 = 0b1010; constexpr uint64_t literal_0b01 = 0b01; constexpr uint64_t literal_0b00 = 0b00; +constexpr uint64_t literal_0b01010000 = 0b01010000; +constexpr uint64_t literal_0b00110111 = 0b00110111; constexpr uint64_t literal_0b0010111 = 0b0010111; constexpr uint64_t literal_0b00010 = 0b00010; constexpr uint64_t literal_0b0010 = 0b0010; @@ -4238,6 +4240,13 @@ fapi2::ReturnCode p9c_dmi_io_scom(const fapi2::Target& T l_scom_buffer.insert<48, 2, 62, uint64_t>(literal_0b00 ); FAPI_TRY(fapi2::putScom(TGT0, 0x8008c0600701103full, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x8008d0600701103full, l_scom_buffer )); + + l_scom_buffer.insert<48, 8, 56, uint64_t>(literal_0b01010000 ); + l_scom_buffer.insert<56, 8, 56, uint64_t>(literal_0b00110111 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x8008d0600701103full, l_scom_buffer)); + } { FAPI_TRY(fapi2::getScom( TGT0, 0x800970600701103full, l_scom_buffer )); @@ -4359,6 +4368,7 @@ fapi2::ReturnCode p9c_dmi_io_scom(const fapi2::Target& T l_scom_buffer.insert<60, 1, 63, uint64_t>(l_IOMP_RX3_RXCTL_DATASM_DATASM_REGS_RX_CTL_DATASM_CLKDIST_PDWN_OFF ); constexpr auto l_IOMP_RX3_RXCTL_DATASM_DATASM_REGS_RX_PG_DATASM_SPARE_MODE_0_ON = 0x1; l_scom_buffer.insert<48, 1, 63, uint64_t>(l_IOMP_RX3_RXCTL_DATASM_DATASM_REGS_RX_PG_DATASM_SPARE_MODE_0_ON ); + l_scom_buffer.insert<56, 4, 60, uint64_t>(literal_0b0010 ); FAPI_TRY(fapi2::putScom(TGT0, 0x800b80600701103full, l_scom_buffer)); } { -- cgit v1.2.1