summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/tod_init
diff options
context:
space:
mode:
authorMatt Ploetz <maploetz@us.ibm.com>2014-09-12 12:56:19 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-09-15 09:38:48 -0500
commit8243ed0af4c1585212db069b5c863c8c83a15925 (patch)
treec237e3f2288fa040e53b41a8794fa7162eaecbcc /src/usr/hwpf/hwp/tod_init
parentda34aa986965077bf901eb7d3ff7f7804d80020f (diff)
downloadtalos-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.C44
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
OpenPOWER on IntegriCloud