From 9ae3d4f24ad9af4e8d6e422cc7fab30a87127ec7 Mon Sep 17 00:00:00 2001 From: Josh Rispoli Date: Fri, 30 Jan 2015 11:40:39 -0600 Subject: devtree: Update boot frequency based on OCC State Change-Id: Ic1a425374a0208badf91cc757f80a7958b8f5994 RTC:116962 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15441 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III --- src/usr/devtree/bld_devtree.C | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'src/usr/devtree/bld_devtree.C') diff --git a/src/usr/devtree/bld_devtree.C b/src/usr/devtree/bld_devtree.C index 908ce6e1f..84a34ad6f 100644 --- a/src/usr/devtree/bld_devtree.C +++ b/src/usr/devtree/bld_devtree.C @@ -48,7 +48,7 @@ #include #include #include - +#include trace_desc_t *g_trac_devtree = NULL; TRAC_INIT(&g_trac_devtree, "DEVTREE", 4096); @@ -653,8 +653,28 @@ uint32_t bld_cpu_node(devTree * i_dt, dtOffset_t & i_parentNode, i_dt->addPropertyCell32(cpuNode, "ibm,purr", 1); i_dt->addPropertyCell32(cpuNode, "ibm,spurr", 1); - //Set Nominal freq - uint64_t freq = sys->getAttr(); + //Set core clock freq + uint64_t freq = 0; + +#ifdef CONFIG_HTMGT + if(sys->getAttr()) + { + // Safe mode on, OCC failed to load. Set safe freq + freq = sys->getAttr(); + } + else + { + // Safe mode off, set nominal freq + freq = sys->getAttr(); + } +#elif CONFIG_SET_NOMINAL_PSTATE + // Set nominal core freq if CONFIG_SET_NOMINAL_PSTATE is enabled + freq = sys->getAttr(); +#else + // Else, set safe core freq + freq = sys->getAttr(); +#endif + freq *= MHZ; uint32_t ex_freq[2] = {static_cast(freq >> 32), -- cgit v1.2.3