summaryrefslogtreecommitdiffstats
path: root/src/usr/lpc
diff options
context:
space:
mode:
authorcrgeddes <crgeddes@us.ibm.com>2015-08-26 13:50:30 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2016-03-03 16:17:52 -0500
commitc73c1d03450fb1dfa0ef9c98485999aeaa0257d7 (patch)
tree70056c4a6b064db49d7419d2d5040f6569ea51fc /src/usr/lpc
parent8f30c7db00a3ce2940900ec2ba67838bcf432b98 (diff)
downloadtalos-hostboot-c73c1d03450fb1dfa0ef9c98485999aeaa0257d7.tar.gz
talos-hostboot-c73c1d03450fb1dfa0ef9c98485999aeaa0257d7.zip
FFS Support for Bootloader
This commit moves functionality out of pnor_common.C and puts it in a new file pnor_utils.C this file will be shared with bootloader and hostboot code. Quite a few files were pulled apart in order to make includes easier across modules. These are lpc_const.H and pnor_const.H. bl_pnorAccess leverages the new pnor_utils.C file that will help the bootloader parse pnor TOC Change-Id: I740f6f8a707760756a261535e62e2d0a849324f8 RTC:134064 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/696 Tested-by: Jenkins Server Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/lpc')
-rw-r--r--src/usr/lpc/lpcdd.C18
-rw-r--r--src/usr/lpc/lpcdd.H11
2 files changed, 12 insertions, 17 deletions
diff --git a/src/usr/lpc/lpcdd.C b/src/usr/lpc/lpcdd.C
index 45bc2354f..3b8a2cd5a 100644
--- a/src/usr/lpc/lpcdd.C
+++ b/src/usr/lpc/lpcdd.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
+/* Contributors Listed Below - COPYRIGHT 2014,2016 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -39,6 +39,7 @@
#include <targeting/common/targetservice.H>
#include <errl/errlmanager.H>
#include "lpcdd.H"
+#include <lpc/lpc_const.H>
#include <sys/time.h>
#include <lpc/lpc_reasoncodes.H>
#include <initservice/initserviceif.H>
@@ -379,7 +380,7 @@ LpcDD::LpcDD( TARGETING::Target* i_proc )
{
TRACFCOMP(g_trac_lpc, "LpcDD::LpcDD> " );
mutex_init( &iv_mutex );
- LPCBase_t baseAddr = LPC_PHYS_BASE + LPC_ADDR_START;
+ LPCBase_t baseAddr = LPC::LPC_PHYS_BASE + LPC_ADDR_START;
setLPCBaseAddr( static_cast<uint64_t *>(
@@ -635,7 +636,8 @@ errlHndl_t LpcDD::checkAddr(LPC::TransType i_type,
invalid_address = true;
break;
}
- *o_addr = getLPCBaseAddr()+ i_addr+ LPCHC_IO_SPACE- LPC_ADDR_START;
+ *o_addr =
+ getLPCBaseAddr()+ i_addr+ LPC::LPCHC_IO_SPACE- LPC_ADDR_START;
break;
case LPC::TRANS_MEM:
if( i_addr >= 0x10000000 )
@@ -643,8 +645,8 @@ errlHndl_t LpcDD::checkAddr(LPC::TransType i_type,
invalid_address = true;
break;
}
-
- *o_addr = getLPCBaseAddr()+ i_addr+ LPCHC_MEM_SPACE- LPC_ADDR_START;
+ *o_addr =
+ getLPCBaseAddr()+ i_addr+ LPC::LPCHC_MEM_SPACE- LPC_ADDR_START;
break;
case LPC::TRANS_FW:
if( i_addr >= 0x10000000 )
@@ -652,7 +654,8 @@ errlHndl_t LpcDD::checkAddr(LPC::TransType i_type,
invalid_address = true;
break;
}
- *o_addr = getLPCBaseAddr()+ i_addr + LPCHC_FW_SPACE- LPC_ADDR_START;
+ *o_addr =
+ getLPCBaseAddr()+ i_addr + LPC::LPCHC_FW_SPACE- LPC_ADDR_START;
break;
case LPC::TRANS_REG:
if( i_addr >= 0x100 )
@@ -660,7 +663,8 @@ errlHndl_t LpcDD::checkAddr(LPC::TransType i_type,
invalid_address = true;
break;
}
- *o_addr =getLPCBaseAddr()+ i_addr + LPCHC_REG_SPACE- LPC_ADDR_START;
+ *o_addr =
+ getLPCBaseAddr()+ i_addr + LPC::LPCHC_REG_SPACE- LPC_ADDR_START;
break;
case LPC::TRANS_ABS:
//Just use the address as given
diff --git a/src/usr/lpc/lpcdd.H b/src/usr/lpc/lpcdd.H
index 48fefa64c..1b4e3c5bd 100644
--- a/src/usr/lpc/lpcdd.H
+++ b/src/usr/lpc/lpcdd.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
+/* Contributors Listed Below - COPYRIGHT 2014,2016 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -152,20 +152,11 @@ class LpcDD
*
*/
enum {
- LPCHC_FW_SPACE = 0xF0000000, /**< LPC Host Controller FW Space */
- LPCHC_MEM_SPACE = 0xE0000000, /**< LPC Host Controller Mem Space */
- LPCHC_IO_SPACE = 0xD0010000, /**< LPC Host Controller I/O Space */
- LPCHC_REG_SPACE = 0xC0012000, /**< LPC Host Ctlr Register Space */
/** Start of LPC Addr within the memory mapped space*/
LPC_ADDR_START = 0xC0000000,
/** Size that LPC takes up (0xC0000000 to 0xFFFFFFFF)*/
LPC_SPACE_SIZE = 0x40000000,
- /** Physical addr of the start of LPC address space*/
- LPC_PHYS_BASE = 0x6030000000000,
-
-
-
/**< OPB LPCM Sync FIR Reg - used to read the FIR*/
OPB_LPCM_FIR_REG = 0x01010C00,
OpenPOWER on IntegriCloud