diff options
author | Brian Silver <bsilver@us.ibm.com> | 2016-02-23 13:06:24 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-04-01 21:24:12 -0400 |
commit | 63c0bd93248e3f5e4f71f8beb421bc1dda22d660 (patch) | |
tree | e64896126fc993252dceb65b3ace363a457fe865 /src/import/chips/p9/procedures/hwp/memory/lib/phy/read_cntrl.H | |
parent | 7579370f3bac7777f3b509aa2f33b6612bf44ff3 (diff) | |
download | talos-hostboot-63c0bd93248e3f5e4f71f8beb421bc1dda22d660.tar.gz talos-hostboot-63c0bd93248e3f5e4f71f8beb421bc1dda22d660.zip |
Change read control API to match desired design, add design doc
Change-Id: I008392a4b24461906735546b9af37a89c5600600
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/24657
Tested-by: Jenkins Server
Reviewed-by: Craig C. Hamilton <cchamilt@us.ibm.com>
Reviewed-by: Andre A. Marin <aamarin@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22771
Tested-by: FSP CI Jenkins
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/phy/read_cntrl.H')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/phy/read_cntrl.H | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/read_cntrl.H b/src/import/chips/p9/procedures/hwp/memory/lib/phy/read_cntrl.H index 59e7a2ce5..9c9eb82b0 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/read_cntrl.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/read_cntrl.H @@ -126,8 +126,8 @@ class rcTraits<fapi2::TARGET_TYPE_MCA> /// @tparam T fapi2 Target Type - derived /// @tparam TT traits type defaults to rcTraits<T> /// -template< fapi2::TargetType T, typename TT = rcTraits<T> > -class rc +template< fapi2::TargetType T = fapi2::TARGET_TYPE_MCA, typename TT = rcTraits<T> > +class rc_class { public: @@ -140,6 +140,7 @@ class rc static inline fapi2::ReturnCode read_vref_config0( const fapi2::Target<T>& i_target, fapi2::buffer<uint64_t>& o_data ) { FAPI_TRY( mss::getScom(i_target, TT::RC_VREF_CONFIG0_REG, o_data) ); + FAPI_DBG("rc_vref_config0: 0x%016llx", o_data); fapi_try_exit: return fapi2::current_err; } @@ -168,6 +169,7 @@ class rc static inline fapi2::ReturnCode read_vref_config1( const fapi2::Target<T>& i_target, fapi2::buffer<uint64_t>& o_data ) { FAPI_TRY( mss::getScom(i_target, TT::RC_VREF_CONFIG1_REG, o_data) ); + FAPI_DBG("rc_vref_config1: 0x%016llx", o_data); fapi_try_exit: return fapi2::current_err; } @@ -197,6 +199,7 @@ class rc static inline fapi2::ReturnCode read_config0( const fapi2::Target<T>& i_target, fapi2::buffer<uint64_t>& o_data ) { FAPI_TRY( mss::getScom(i_target, TT::RC_CONFIG0_REG, o_data) ); + FAPI_DBG("rc_config0: 0x%016llx", o_data); fapi_try_exit: return fapi2::current_err; } @@ -225,6 +228,7 @@ class rc static inline fapi2::ReturnCode read_config1( const fapi2::Target<T>& i_target, fapi2::buffer<uint64_t>& o_data ) { FAPI_TRY( mss::getScom(i_target, TT::RC_CONFIG1_REG, o_data) ); + FAPI_DBG("rc_config1: 0x%016llx", o_data); fapi_try_exit: return fapi2::current_err; } @@ -252,6 +256,7 @@ class rc static inline fapi2::ReturnCode read_config2( const fapi2::Target<T>& i_target, fapi2::buffer<uint64_t>& o_data ) { FAPI_TRY( mss::getScom(i_target, TT::RC_CONFIG2_REG, o_data) ); + FAPI_DBG("rc_config2: 0x%016llx", o_data); fapi_try_exit: return fapi2::current_err; } @@ -279,6 +284,7 @@ class rc static inline fapi2::ReturnCode read_config3( const fapi2::Target<T>& i_target, fapi2::buffer<uint64_t>& o_data ) { FAPI_TRY( mss::getScom(i_target, TT::RC_CONFIG3_REG, o_data) ); + FAPI_DBG("rc_config3: 0x%016llx", o_data); fapi_try_exit: return fapi2::current_err; } @@ -452,8 +458,29 @@ class rc return fapi2::current_err; } + /// + /// @brief reset rc + /// @param[in] i_target fapi2 target of the port + /// @return fapi2::ReturnCode, FAPI2_RC_SUCCESS if ok + /// + static inline fapi2::ReturnCode reset( const fapi2::Target<T>& i_target ) + { + FAPI_TRY( reset_config0(i_target) ); + FAPI_TRY( reset_config1(i_target) ); + FAPI_TRY( reset_config2(i_target) ); + FAPI_TRY( reset_config3(i_target) ); + + FAPI_TRY( reset_vref_config0(i_target) ); + FAPI_TRY( reset_vref_config1(i_target) ); + + fapi_try_exit: + return fapi2::current_err; + } + }; +using rc = rc_class<fapi2::TARGET_TYPE_MCA>; + } #endif |