/***************************************************************************
 *     Copyright (c) 1999-2010, Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 * 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         Fri May  7 20:12:15 2010
 *                 MD5 Checksum         9170aeef162fecc7d1a70fbd8134c303
 *
 * Compiled with:  RDB Utility          combo_header.pl
 *                 RDB Parser           3.0
 *                 unknown              unknown
 *                 Perl Interpreter     5.008008
 *                 Operating System     linux
 *
 * Revision History:
 *
 * $brcm_Log: /magnum/basemodules/chp/7468/rdb/b0/bchp_ebi.h $
 * 
 * Hydra_Software_Devel/1   5/7/10 10:30p albertl
 * SW7468-226: Initial revision.
 *
 ***************************************************************************/

#ifndef BCHP_EBI_H__
#define BCHP_EBI_H__

/***************************************************************************
 *EBI - EBI Registers
 ***************************************************************************/
#define BCHP_EBI_CS_BASE_0                       0x00310800 /* EBI CS Base 0 Register */
#define BCHP_EBI_CS_BASE_1                       0x00310808 /* EBI CS Base 1 Register */
#define BCHP_EBI_CS_BASE_2                       0x00310810 /* EBI CS Base 2 Register */
#define BCHP_EBI_CS_SPI_SELECT                   0x00310920 /* SPI CS Select */

/***************************************************************************
 *CS_BASE_0 - EBI CS Base 0 Register
 ***************************************************************************/
/* EBI :: CS_BASE_0 :: base_addr [31:13] */
#define BCHP_EBI_CS_BASE_0_base_addr_MASK                          0xffffe000
#define BCHP_EBI_CS_BASE_0_base_addr_SHIFT                         13

/* EBI :: CS_BASE_0 :: reserved0 [12:04] */
#define BCHP_EBI_CS_BASE_0_reserved0_MASK                          0x00001ff0
#define BCHP_EBI_CS_BASE_0_reserved0_SHIFT                         4

/* EBI :: CS_BASE_0 :: size [03:00] */
#define BCHP_EBI_CS_BASE_0_size_MASK                               0x0000000f
#define BCHP_EBI_CS_BASE_0_size_SHIFT                              0
#define BCHP_EBI_CS_BASE_0_size_SIZE_8KB                           0
#define BCHP_EBI_CS_BASE_0_size_SIZE_16KB                          1
#define BCHP_EBI_CS_BASE_0_size_SIZE_32KB                          2
#define BCHP_EBI_CS_BASE_0_size_SIZE_64KB                          3
#define BCHP_EBI_CS_BASE_0_size_SIZE_128KB                         4
#define BCHP_EBI_CS_BASE_0_size_SIZE_256KB                         5
#define BCHP_EBI_CS_BASE_0_size_SIZE_512KB                         6
#define BCHP_EBI_CS_BASE_0_size_SIZE_1MB                           7
#define BCHP_EBI_CS_BASE_0_size_SIZE_2MB                           8
#define BCHP_EBI_CS_BASE_0_size_SIZE_4MB                           9
#define BCHP_EBI_CS_BASE_0_size_SIZE_8MB                           10
#define BCHP_EBI_CS_BASE_0_size_SIZE_16MB                          11
#define BCHP_EBI_CS_BASE_0_size_SIZE_32MB                          12
#define BCHP_EBI_CS_BASE_0_size_SIZE_64MB                          13
#define BCHP_EBI_CS_BASE_0_size_SIZE_128MB                         14
#define BCHP_EBI_CS_BASE_0_size_SIZE_256MB                         15

/***************************************************************************
 *CS_BASE_1 - EBI CS Base 1 Register
 ***************************************************************************/
/* EBI :: CS_BASE_1 :: base_addr [31:13] */
#define BCHP_EBI_CS_BASE_1_base_addr_MASK                          0xffffe000
#define BCHP_EBI_CS_BASE_1_base_addr_SHIFT                         13

/* EBI :: CS_BASE_1 :: reserved0 [12:04] */
#define BCHP_EBI_CS_BASE_1_reserved0_MASK                          0x00001ff0
#define BCHP_EBI_CS_BASE_1_reserved0_SHIFT                         4

/* EBI :: CS_BASE_1 :: size [03:00] */
#define BCHP_EBI_CS_BASE_1_size_MASK                               0x0000000f
#define BCHP_EBI_CS_BASE_1_size_SHIFT                              0
#define BCHP_EBI_CS_BASE_1_size_SIZE_8KB                           0
#define BCHP_EBI_CS_BASE_1_size_SIZE_16KB                          1
#define BCHP_EBI_CS_BASE_1_size_SIZE_32KB                          2
#define BCHP_EBI_CS_BASE_1_size_SIZE_64KB                          3
#define BCHP_EBI_CS_BASE_1_size_SIZE_128KB                         4
#define BCHP_EBI_CS_BASE_1_size_SIZE_256KB                         5
#define BCHP_EBI_CS_BASE_1_size_SIZE_512KB                         6
#define BCHP_EBI_CS_BASE_1_size_SIZE_1MB                           7
#define BCHP_EBI_CS_BASE_1_size_SIZE_2MB                           8
#define BCHP_EBI_CS_BASE_1_size_SIZE_4MB                           9
#define BCHP_EBI_CS_BASE_1_size_SIZE_8MB                           10
#define BCHP_EBI_CS_BASE_1_size_SIZE_16MB                          11
#define BCHP_EBI_CS_BASE_1_size_SIZE_32MB                          12
#define BCHP_EBI_CS_BASE_1_size_SIZE_64MB                          13
#define BCHP_EBI_CS_BASE_1_size_SIZE_128MB                         14
#define BCHP_EBI_CS_BASE_1_size_SIZE_256MB                         15

/***************************************************************************
 *CS_BASE_2 - EBI CS Base 2 Register
 ***************************************************************************/
/* EBI :: CS_BASE_2 :: base_addr [31:13] */
#define BCHP_EBI_CS_BASE_2_base_addr_MASK                          0xffffe000
#define BCHP_EBI_CS_BASE_2_base_addr_SHIFT                         13

/* EBI :: CS_BASE_2 :: reserved0 [12:04] */
#define BCHP_EBI_CS_BASE_2_reserved0_MASK                          0x00001ff0
#define BCHP_EBI_CS_BASE_2_reserved0_SHIFT                         4

/* EBI :: CS_BASE_2 :: size [03:00] */
#define BCHP_EBI_CS_BASE_2_size_MASK                               0x0000000f
#define BCHP_EBI_CS_BASE_2_size_SHIFT                              0
#define BCHP_EBI_CS_BASE_2_size_SIZE_8KB                           0
#define BCHP_EBI_CS_BASE_2_size_SIZE_16KB                          1
#define BCHP_EBI_CS_BASE_2_size_SIZE_32KB                          2
#define BCHP_EBI_CS_BASE_2_size_SIZE_64KB                          3
#define BCHP_EBI_CS_BASE_2_size_SIZE_128KB                         4
#define BCHP_EBI_CS_BASE_2_size_SIZE_256KB                         5
#define BCHP_EBI_CS_BASE_2_size_SIZE_512KB                         6
#define BCHP_EBI_CS_BASE_2_size_SIZE_1MB                           7
#define BCHP_EBI_CS_BASE_2_size_SIZE_2MB                           8
#define BCHP_EBI_CS_BASE_2_size_SIZE_4MB                           9
#define BCHP_EBI_CS_BASE_2_size_SIZE_8MB                           10
#define BCHP_EBI_CS_BASE_2_size_SIZE_16MB                          11
#define BCHP_EBI_CS_BASE_2_size_SIZE_32MB                          12
#define BCHP_EBI_CS_BASE_2_size_SIZE_64MB                          13
#define BCHP_EBI_CS_BASE_2_size_SIZE_128MB                         14
#define BCHP_EBI_CS_BASE_2_size_SIZE_256MB                         15

/***************************************************************************
 *CS_SPI_SELECT - SPI CS Select
 ***************************************************************************/
/* EBI :: CS_SPI_SELECT :: reserved0 [31:08] */
#define BCHP_EBI_CS_SPI_SELECT_reserved0_MASK                      0xffffff00
#define BCHP_EBI_CS_SPI_SELECT_reserved0_SHIFT                     8

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_7_SEL [07:07] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_7_SEL_MASK               0x00000080
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_7_SEL_SHIFT              7

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_6_SEL [06:06] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_6_SEL_MASK               0x00000040
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_6_SEL_SHIFT              6

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_5_SEL [05:05] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_5_SEL_MASK               0x00000020
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_5_SEL_SHIFT              5

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_4_SEL [04:04] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_4_SEL_MASK               0x00000010
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_4_SEL_SHIFT              4

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_3_SEL [03:03] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_3_SEL_MASK               0x00000008
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_3_SEL_SHIFT              3

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_2_SEL [02:02] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_2_SEL_MASK               0x00000004
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_2_SEL_SHIFT              2

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_1_SEL [01:01] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_1_SEL_MASK               0x00000002
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_1_SEL_SHIFT              1

/* EBI :: CS_SPI_SELECT :: SPI_EBI_CS_0_SEL [00:00] */
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_0_SEL_MASK               0x00000001
#define BCHP_EBI_CS_SPI_SELECT_SPI_EBI_CS_0_SEL_SHIFT              0

#endif /* #ifndef BCHP_EBI_H__ */

/* End of File */
