/***************************************************************************
 *     Copyright (c) 1999-2014, Broadcom Corporation
 *     All Rights Reserved
 *     Confidential Property of Broadcom Corporation
 *
 *
 * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
 * AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
 * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
 *
 * $brcm_Workfile: $
 * $brcm_Revision: $
 * $brcm_Date: $
 *
 * Module Description:
 *                     DO NOT EDIT THIS FILE DIRECTLY
 *
 * This module was generated magically with RDB from a source description
 * file. You must edit the source file for changes to be made to this file.
 *
 *
 * Date:           Generated on              Tue Dec  2 03:18:45 2014
 *                 Full Compile MD5 Checksum 3461841ff250f7118305e1f1650424cf
 *                   (minus title and desc)  
 *                 MD5 Checksum              92044aba65695bbffdeefc8d096b8587
 *
 * Compiled with:  RDB Utility               combo_header.pl
 *                 RDB Parser                3.0
 *                 unknown                   unknown
 *                 Perl Interpreter          5.008008
 *                 Operating System          linux
 *
 * Revision History:
 *
 * $brcm_Log: $
 *
 ***************************************************************************/

#ifndef BCHP_HIF_CONTINUATION_H__
#define BCHP_HIF_CONTINUATION_H__

/***************************************************************************
 *HIF_CONTINUATION - HIF Boot Continuation Registers
 ***************************************************************************/
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR0  0x00462000 /* Higher 8-bit of HIF's Read-only STB Boot Continuation Address 0 Register */
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR0     0x00462004 /* Lower 32-bit of HIF's Read-only STB Boot Continuation Address 0 Register */
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR1  0x00462008 /* Higher 8-bit of HIF's STB Boot Continuation Address 1 Register */
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR1     0x0046200c /* Lower 32-bit of HIF's STB Boot Continuation Address 1 Register */
#define BCHP_HIF_CONTINUATION_WEB_BOOT_HI_ADDR0  0x004620f8 /* Higher 8-bit of HIF's WEB Boot Continuation Address 0 Register */
#define BCHP_HIF_CONTINUATION_WEB_BOOT_ADDR0     0x004620fc /* Lower 32-bit of HIF's WEB Boot Continuation Address 0 Register */

/***************************************************************************
 *STB_BOOT_HI_ADDR0 - Higher 8-bit of HIF's Read-only STB Boot Continuation Address 0 Register
 ***************************************************************************/
/* HIF_CONTINUATION :: STB_BOOT_HI_ADDR0 :: reserved0 [31:08] */
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR0_reserved0_MASK     0xffffff00
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR0_reserved0_SHIFT    8

/* HIF_CONTINUATION :: STB_BOOT_HI_ADDR0 :: ADDRESS [07:00] */
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR0_ADDRESS_MASK       0x000000ff
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR0_ADDRESS_SHIFT      0
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR0_ADDRESS_DEFAULT    0x00000000

/***************************************************************************
 *STB_BOOT_ADDR0 - Lower 32-bit of HIF's Read-only STB Boot Continuation Address 0 Register
 ***************************************************************************/
/* HIF_CONTINUATION :: STB_BOOT_ADDR0 :: ADDRESS [31:00] */
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR0_ADDRESS_MASK          0xffffffff
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR0_ADDRESS_SHIFT         0
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR0_ADDRESS_DEFAULT       0xe0000000

/***************************************************************************
 *STB_BOOT_HI_ADDR1 - Higher 8-bit of HIF's STB Boot Continuation Address 1 Register
 ***************************************************************************/
/* HIF_CONTINUATION :: STB_BOOT_HI_ADDR1 :: reserved0 [31:08] */
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR1_reserved0_MASK     0xffffff00
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR1_reserved0_SHIFT    8

/* HIF_CONTINUATION :: STB_BOOT_HI_ADDR1 :: ADDRESS [07:00] */
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR1_ADDRESS_MASK       0x000000ff
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR1_ADDRESS_SHIFT      0
#define BCHP_HIF_CONTINUATION_STB_BOOT_HI_ADDR1_ADDRESS_DEFAULT    0x00000000

/***************************************************************************
 *STB_BOOT_ADDR1 - Lower 32-bit of HIF's STB Boot Continuation Address 1 Register
 ***************************************************************************/
/* HIF_CONTINUATION :: STB_BOOT_ADDR1 :: ADDRESS [31:00] */
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR1_ADDRESS_MASK          0xffffffff
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR1_ADDRESS_SHIFT         0
#define BCHP_HIF_CONTINUATION_STB_BOOT_ADDR1_ADDRESS_DEFAULT       0xffff0000

/***************************************************************************
 *WEB_BOOT_HI_ADDR0 - Higher 8-bit of HIF's WEB Boot Continuation Address 0 Register
 ***************************************************************************/
/* HIF_CONTINUATION :: WEB_BOOT_HI_ADDR0 :: reserved0 [31:08] */
#define BCHP_HIF_CONTINUATION_WEB_BOOT_HI_ADDR0_reserved0_MASK     0xffffff00
#define BCHP_HIF_CONTINUATION_WEB_BOOT_HI_ADDR0_reserved0_SHIFT    8

/* HIF_CONTINUATION :: WEB_BOOT_HI_ADDR0 :: ADDRESS [07:00] */
#define BCHP_HIF_CONTINUATION_WEB_BOOT_HI_ADDR0_ADDRESS_MASK       0x000000ff
#define BCHP_HIF_CONTINUATION_WEB_BOOT_HI_ADDR0_ADDRESS_SHIFT      0
#define BCHP_HIF_CONTINUATION_WEB_BOOT_HI_ADDR0_ADDRESS_DEFAULT    0x00000000

/***************************************************************************
 *WEB_BOOT_ADDR0 - Lower 32-bit of HIF's WEB Boot Continuation Address 0 Register
 ***************************************************************************/
/* HIF_CONTINUATION :: WEB_BOOT_ADDR0 :: ADDRESS [31:00] */
#define BCHP_HIF_CONTINUATION_WEB_BOOT_ADDR0_ADDRESS_MASK          0xffffffff
#define BCHP_HIF_CONTINUATION_WEB_BOOT_ADDR0_ADDRESS_SHIFT         0
#define BCHP_HIF_CONTINUATION_WEB_BOOT_ADDR0_ADDRESS_DEFAULT       0xffff0000

#endif /* #ifndef BCHP_HIF_CONTINUATION_H__ */

/* End of File */
