diff options
author | Matt Ploetz <maploetz@us.ibm.com> | 2014-09-12 12:56:19 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-09-15 09:38:48 -0500 |
commit | 8243ed0af4c1585212db069b5c863c8c83a15925 (patch) | |
tree | c237e3f2288fa040e53b41a8794fa7162eaecbcc /src/usr/hwpf/hwp/tod_init | |
parent | da34aa986965077bf901eb7d3ff7f7804d80020f (diff) | |
download | talos-hostboot-8243ed0af4c1585212db069b5c863c8c83a15925.tar.gz talos-hostboot-8243ed0af4c1585212db069b5c863c8c83a15925.zip |
SW276360: MPV:ITC820:Brazos:TOD - Bitterroot hard bug ground all TOD clks - Syst
Change-Id: I64c6c4e42d096a56e1583b8dcb10e944032dcf45
CQ:SW276360
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13290
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Tested-by: MATTHEW A. PLOETZ <maploetz@us.ibm.com>
Reviewed-by: MATTHEW A. PLOETZ <maploetz@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13341
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/tod_init')
-rw-r--r-- | src/usr/hwpf/hwp/tod_init/proc_tod_setup/proc_tod_setup.C | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/src/usr/hwpf/hwp/tod_init/proc_tod_setup/proc_tod_setup.C b/src/usr/hwpf/hwp/tod_init/proc_tod_setup/proc_tod_setup.C index d7f3eb525..39f5b4a28 100644 --- a/src/usr/hwpf/hwp/tod_init/proc_tod_setup/proc_tod_setup.C +++ b/src/usr/hwpf/hwp/tod_init/proc_tod_setup/proc_tod_setup.C @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: proc_tod_setup.C,v 1.20 2014/05/27 16:30:54 jklazyns Exp $ +// $Id: proc_tod_setup.C,v 1.21 2014/09/09 16:13:20 jklazyns Exp $ //------------------------------------------------------------------------------ // *! (C) Copyright International Business Machines Corp. 2012 // *! All Rights Reserved -- Property of IBM @@ -245,7 +245,11 @@ fapi::ReturnCode configure_tod_node(tod_topology_node* i_tod_node, if (is_mdmt) { rc_ecmd |= data.setBit(TOD_PSS_MSS_CTRL_REG_PRI_M_S_TOD_SEL); - if (i_osc_sel == TOD_OSC_0 || i_osc_sel == TOD_OSC_0_AND_1) + if (i_osc_sel == TOD_OSC_0_AND_1) + { + rc_ecmd |= data.clearBit(TOD_PSS_MSS_CTRL_REG_PRI_M_PATH_SEL); + } + else if (i_osc_sel == TOD_OSC_0) { rc_ecmd |= data.clearBit(TOD_PSS_MSS_CTRL_REG_PRI_M_PATH_SEL); } @@ -268,7 +272,11 @@ fapi::ReturnCode configure_tod_node(tod_topology_node* i_tod_node, if (is_mdmt) { rc_ecmd |= data.setBit(TOD_PSS_MSS_CTRL_REG_SEC_M_S_TOD_SEL); - if (i_osc_sel == TOD_OSC_0 || i_osc_sel == TOD_OSC_0_AND_1) + if (i_osc_sel == TOD_OSC_0_AND_1) + { + rc_ecmd |= data.setBit(TOD_PSS_MSS_CTRL_REG_SEC_M_PATH_SEL); + } + else if (i_osc_sel == TOD_OSC_0) { rc_ecmd |= data.clearBit(TOD_PSS_MSS_CTRL_REG_SEC_M_PATH_SEL); } @@ -416,13 +424,35 @@ fapi::ReturnCode configure_tod_node(tod_topology_node* i_tod_node, uint32_t path_sel = 0; if (is_mdmt) { - if (i_osc_sel == TOD_OSC_0 || i_osc_sel == TOD_OSC_0_AND_1) + if (i_tod_sel==TOD_PRIMARY) { - path_sel = TOD_PORT_CTRL_REG_M_PATH_0; + if (i_osc_sel == TOD_OSC_0_AND_1) + { + path_sel = TOD_PORT_CTRL_REG_M_PATH_0; + } + else if (i_osc_sel == TOD_OSC_0) + { + path_sel = TOD_PORT_CTRL_REG_M_PATH_0; + } + else // i_osc_sel == TOD_OSC_1 + { + path_sel = TOD_PORT_CTRL_REG_M_PATH_1; + } } - else // i_osc_sel == TOD_OSC_1 + else { - path_sel = TOD_PORT_CTRL_REG_M_PATH_1; + if (i_osc_sel == TOD_OSC_0_AND_1) + { + path_sel = TOD_PORT_CTRL_REG_M_PATH_1; + } + else if (i_osc_sel == TOD_OSC_0) + { + path_sel = TOD_PORT_CTRL_REG_M_PATH_0; + } + else // i_osc_sel == TOD_OSC_1 + { + path_sel = TOD_PORT_CTRL_REG_M_PATH_1; + } } } else // Chip is not master; slave path selected |