/***************************************************************************
 *     Copyright (c) 1999-2009, 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         Tue Nov 17 17:02:06 2009
 *                 MD5 Checksum         c5a869a181cd53ce96d34b0e7ab357f3
 *
 * 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/7420/rdb/c0/bchp_hif_mspi.h $
 * 
 * Hydra_Software_Devel/1   11/17/09 8:56p albertl
 * SW7420-455: Initial revision.
 *
 ***************************************************************************/

#ifndef BCHP_HIF_MSPI_H__
#define BCHP_HIF_MSPI_H__

/***************************************************************************
 *HIF_MSPI - Public MSPI Registers
 ***************************************************************************/
#define BCHP_HIF_MSPI_SPCR0_LSB                  0x00443200 /* SPCR0_LSB REGISTER */
#define BCHP_HIF_MSPI_SPCR0_MSB                  0x00443204 /* SPCR0_MSB Register */
#define BCHP_HIF_MSPI_SPCR1_LSB                  0x00443208 /* SPCR1_LSB REGISTER */
#define BCHP_HIF_MSPI_SPCR1_MSB                  0x0044320c /* SPCR1_MSB REGISTER */
#define BCHP_HIF_MSPI_NEWQP                      0x00443210 /* NEWQP REGISTER */
#define BCHP_HIF_MSPI_ENDQP                      0x00443214 /* ENDQP REGISTER */
#define BCHP_HIF_MSPI_SPCR2                      0x00443218 /* SPCR2 REGISTER */
#define BCHP_HIF_MSPI_MSPI_STATUS                0x00443220 /* MSPI STATUS REGISTER */
#define BCHP_HIF_MSPI_CPTQP                      0x00443224 /* CPTQP REGISTER */
#define BCHP_HIF_MSPI_TXRAM00                    0x00443240 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 0) */
#define BCHP_HIF_MSPI_TXRAM01                    0x00443244 /* LSbyte for bit 16 operation only (queue pointer = 0) */
#define BCHP_HIF_MSPI_TXRAM02                    0x00443248 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 1) */
#define BCHP_HIF_MSPI_TXRAM03                    0x0044324c /* LSbyte for bit 16 operation only (queue pointer = 1) */
#define BCHP_HIF_MSPI_TXRAM04                    0x00443250 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 2) */
#define BCHP_HIF_MSPI_TXRAM05                    0x00443254 /* LSbyte for bit 16 operation only (queue pointer = 2) */
#define BCHP_HIF_MSPI_TXRAM06                    0x00443258 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 3) */
#define BCHP_HIF_MSPI_TXRAM07                    0x0044325c /* LSbyte for bit 16 operation only (queue pointer = 3) */
#define BCHP_HIF_MSPI_TXRAM08                    0x00443260 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 4) */
#define BCHP_HIF_MSPI_TXRAM09                    0x00443264 /* LSbyte for bit 16 operation only (queue pointer = 4) */
#define BCHP_HIF_MSPI_TXRAM10                    0x00443268 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 5) */
#define BCHP_HIF_MSPI_TXRAM11                    0x0044326c /* LSbyte for bit 16 operation only (queue pointer = 5) */
#define BCHP_HIF_MSPI_TXRAM12                    0x00443270 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 6) */
#define BCHP_HIF_MSPI_TXRAM13                    0x00443274 /* LSbyte for bit 16 operation only (queue pointer = 6) */
#define BCHP_HIF_MSPI_TXRAM14                    0x00443278 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 7) */
#define BCHP_HIF_MSPI_TXRAM15                    0x0044327c /* LSbyte for bit 16 operation only (queue pointer = 7) */
#define BCHP_HIF_MSPI_TXRAM16                    0x00443280 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 8) */
#define BCHP_HIF_MSPI_TXRAM17                    0x00443284 /* LSbyte for bit 16 operation only (queue pointer = 8) */
#define BCHP_HIF_MSPI_TXRAM18                    0x00443288 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 9) */
#define BCHP_HIF_MSPI_TXRAM19                    0x0044328c /* LSbyte for bit 16 operation only (queue pointer = 9) */
#define BCHP_HIF_MSPI_TXRAM20                    0x00443290 /* MSbyte for bit 16 or bit 8 operation (queue pointer = a) */
#define BCHP_HIF_MSPI_TXRAM21                    0x00443294 /* LSbyte for bit 16 operation only (queue pointer = a) */
#define BCHP_HIF_MSPI_TXRAM22                    0x00443298 /* MSbyte for bit 16 or bit 8 operation (queue pointer = b) */
#define BCHP_HIF_MSPI_TXRAM23                    0x0044329c /* LSbyte for bit 16 operation only (queue pointer = b) */
#define BCHP_HIF_MSPI_TXRAM24                    0x004432a0 /* MSbyte for bit 16 or bit 8 operation (queue pointer = c) */
#define BCHP_HIF_MSPI_TXRAM25                    0x004432a4 /* LSbyte for bit 16 operation only (queue pointer = c) */
#define BCHP_HIF_MSPI_TXRAM26                    0x004432a8 /* MSbyte for bit 16 or bit 8 operation (queue pointer = d) */
#define BCHP_HIF_MSPI_TXRAM27                    0x004432ac /* LSbyte for bit 16 operation only (queue pointer = d) */
#define BCHP_HIF_MSPI_TXRAM28                    0x004432b0 /* MSbyte for bit 16 or bit 8 operation (queue pointer = e) */
#define BCHP_HIF_MSPI_TXRAM29                    0x004432b4 /* LSbyte for bit 16 operation only (queue pointer = e) */
#define BCHP_HIF_MSPI_TXRAM30                    0x004432b8 /* MSbyte for bit 16 or bit 8 operation (queue pointer = f) */
#define BCHP_HIF_MSPI_TXRAM31                    0x004432bc /* LSbyte for bit 16 operation only (queue pointer = f) */
#define BCHP_HIF_MSPI_RXRAM00                    0x004432c0 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 0) */
#define BCHP_HIF_MSPI_RXRAM01                    0x004432c4 /* LSbyte for bit 16 operation only (queue pointer = 0) */
#define BCHP_HIF_MSPI_RXRAM02                    0x004432c8 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 1) */
#define BCHP_HIF_MSPI_RXRAM03                    0x004432cc /* LSbyte for bit 16 operation only (queue pointer = 1) */
#define BCHP_HIF_MSPI_RXRAM04                    0x004432d0 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 2) */
#define BCHP_HIF_MSPI_RXRAM05                    0x004432d4 /* LSbyte for bit 16 operation only (queue pointer = 2) */
#define BCHP_HIF_MSPI_RXRAM06                    0x004432d8 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 3) */
#define BCHP_HIF_MSPI_RXRAM07                    0x004432dc /* LSbyte for bit 16 operation only (queue pointer = 3) */
#define BCHP_HIF_MSPI_RXRAM08                    0x004432e0 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 4) */
#define BCHP_HIF_MSPI_RXRAM09                    0x004432e4 /* LSbyte for bit 16 operation only (queue pointer = 4) */
#define BCHP_HIF_MSPI_RXRAM10                    0x004432e8 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 5) */
#define BCHP_HIF_MSPI_RXRAM11                    0x004432ec /* LSbyte for bit 16 operation only (queue pointer = 5) */
#define BCHP_HIF_MSPI_RXRAM12                    0x004432f0 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 6) */
#define BCHP_HIF_MSPI_RXRAM13                    0x004432f4 /* LSbyte for bit 16 operation only (queue pointer = 6) */
#define BCHP_HIF_MSPI_RXRAM14                    0x004432f8 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 7) */
#define BCHP_HIF_MSPI_RXRAM15                    0x004432fc /* LSbyte for bit 16 operation only (queue pointer = 7) */
#define BCHP_HIF_MSPI_RXRAM16                    0x00443300 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 8) */
#define BCHP_HIF_MSPI_RXRAM17                    0x00443304 /* LSbyte for bit 16 operation only (queue pointer = 8) */
#define BCHP_HIF_MSPI_RXRAM18                    0x00443308 /* MSbyte for bit 16 or bit 8 operation (queue pointer = 9) */
#define BCHP_HIF_MSPI_RXRAM19                    0x0044330c /* LSbyte for bit 16 operation only (queue pointer = 9) */
#define BCHP_HIF_MSPI_RXRAM20                    0x00443310 /* MSbyte for bit 16 or bit 8 operation (queue pointer = a) */
#define BCHP_HIF_MSPI_RXRAM21                    0x00443314 /* LSbyte for bit 16 operation only (queue pointer = a) */
#define BCHP_HIF_MSPI_RXRAM22                    0x00443318 /* MSbyte for bit 16 or bit 8 operation (queue pointer = b) */
#define BCHP_HIF_MSPI_RXRAM23                    0x0044331c /* LSbyte for bit 16 operation only (queue pointer = b) */
#define BCHP_HIF_MSPI_RXRAM24                    0x00443320 /* MSbyte for bit 16 or bit 8 operation (queue pointer = c) */
#define BCHP_HIF_MSPI_RXRAM25                    0x00443324 /* LSbyte for bit 16 operation only (queue pointer = c) */
#define BCHP_HIF_MSPI_RXRAM26                    0x00443328 /* MSbyte for bit 16 or bit 8 operation (queue pointer = d) */
#define BCHP_HIF_MSPI_RXRAM27                    0x0044332c /* LSbyte for bit 16 operation only (queue pointer = d) */
#define BCHP_HIF_MSPI_RXRAM28                    0x00443330 /* MSbyte for bit 16 or bit 8 operation (queue pointer = e) */
#define BCHP_HIF_MSPI_RXRAM29                    0x00443334 /* LSbyte for bit 16 operation only (queue pointer = e) */
#define BCHP_HIF_MSPI_RXRAM30                    0x00443338 /* MSbyte for bit 16 or bit 8 operation (queue pointer = f) */
#define BCHP_HIF_MSPI_RXRAM31                    0x0044333c /* LSbyte for bit 16 operation only (queue pointer = f) */
#define BCHP_HIF_MSPI_CDRAM00                    0x00443340 /* 8-bit command (queue pointer = 0) */
#define BCHP_HIF_MSPI_CDRAM01                    0x00443344 /* 8-bit command (queue pointer = 1) */
#define BCHP_HIF_MSPI_CDRAM02                    0x00443348 /* 8-bit command (queue pointer = 2) */
#define BCHP_HIF_MSPI_CDRAM03                    0x0044334c /* 8-bit command (queue pointer = 3) */
#define BCHP_HIF_MSPI_CDRAM04                    0x00443350 /* 8-bit command (queue pointer = 4) */
#define BCHP_HIF_MSPI_CDRAM05                    0x00443354 /* 8-bit command (queue pointer = 5) */
#define BCHP_HIF_MSPI_CDRAM06                    0x00443358 /* 8-bit command (queue pointer = 6) */
#define BCHP_HIF_MSPI_CDRAM07                    0x0044335c /* 8-bit command (queue pointer = 7) */
#define BCHP_HIF_MSPI_CDRAM08                    0x00443360 /* 8-bit command (queue pointer = 8) */
#define BCHP_HIF_MSPI_CDRAM09                    0x00443364 /* 8-bit command (queue pointer = 9) */
#define BCHP_HIF_MSPI_CDRAM10                    0x00443368 /* 8-bit command (queue pointer = a) */
#define BCHP_HIF_MSPI_CDRAM11                    0x0044336c /* 8-bit command (queue pointer = b) */
#define BCHP_HIF_MSPI_CDRAM12                    0x00443370 /* 8-bit command (queue pointer = c) */
#define BCHP_HIF_MSPI_CDRAM13                    0x00443374 /* 8-bit command (queue pointer = d) */
#define BCHP_HIF_MSPI_CDRAM14                    0x00443378 /* 8-bit command (queue pointer = e) */
#define BCHP_HIF_MSPI_CDRAM15                    0x0044337c /* 8-bit command (queue pointer = f) */
#define BCHP_HIF_MSPI_WRITE_LOCK                 0x00443380 /* Control bit to lock group of write commands */

/***************************************************************************
 *SPCR0_LSB - SPCR0_LSB REGISTER
 ***************************************************************************/
/* HIF_MSPI :: SPCR0_LSB :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_SPCR0_LSB_reserved0_MASK                     0xffffff00
#define BCHP_HIF_MSPI_SPCR0_LSB_reserved0_SHIFT                    8

/* HIF_MSPI :: SPCR0_LSB :: SPBR [07:00] */
#define BCHP_HIF_MSPI_SPCR0_LSB_SPBR_MASK                          0x000000ff
#define BCHP_HIF_MSPI_SPCR0_LSB_SPBR_SHIFT                         0

/***************************************************************************
 *SPCR0_MSB - SPCR0_MSB Register
 ***************************************************************************/
/* HIF_MSPI :: SPCR0_MSB :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_SPCR0_MSB_reserved0_MASK                     0xffffff00
#define BCHP_HIF_MSPI_SPCR0_MSB_reserved0_SHIFT                    8

/* HIF_MSPI :: SPCR0_MSB :: MSTR [07:07] */
#define BCHP_HIF_MSPI_SPCR0_MSB_MSTR_MASK                          0x00000080
#define BCHP_HIF_MSPI_SPCR0_MSB_MSTR_SHIFT                         7

/* HIF_MSPI :: SPCR0_MSB :: StartTransDelay [06:06] */
#define BCHP_HIF_MSPI_SPCR0_MSB_StartTransDelay_MASK               0x00000040
#define BCHP_HIF_MSPI_SPCR0_MSB_StartTransDelay_SHIFT              6

/* HIF_MSPI :: SPCR0_MSB :: BitS [05:02] */
#define BCHP_HIF_MSPI_SPCR0_MSB_BitS_MASK                          0x0000003c
#define BCHP_HIF_MSPI_SPCR0_MSB_BitS_SHIFT                         2

/* HIF_MSPI :: SPCR0_MSB :: CPOL [01:01] */
#define BCHP_HIF_MSPI_SPCR0_MSB_CPOL_MASK                          0x00000002
#define BCHP_HIF_MSPI_SPCR0_MSB_CPOL_SHIFT                         1

/* HIF_MSPI :: SPCR0_MSB :: CPHA [00:00] */
#define BCHP_HIF_MSPI_SPCR0_MSB_CPHA_MASK                          0x00000001
#define BCHP_HIF_MSPI_SPCR0_MSB_CPHA_SHIFT                         0

/***************************************************************************
 *SPCR1_LSB - SPCR1_LSB REGISTER
 ***************************************************************************/
/* HIF_MSPI :: SPCR1_LSB :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_SPCR1_LSB_reserved0_MASK                     0xffffff00
#define BCHP_HIF_MSPI_SPCR1_LSB_reserved0_SHIFT                    8

/* HIF_MSPI :: SPCR1_LSB :: DTL [07:00] */
#define BCHP_HIF_MSPI_SPCR1_LSB_DTL_MASK                           0x000000ff
#define BCHP_HIF_MSPI_SPCR1_LSB_DTL_SHIFT                          0

/***************************************************************************
 *SPCR1_MSB - SPCR1_MSB REGISTER
 ***************************************************************************/
/* HIF_MSPI :: SPCR1_MSB :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_SPCR1_MSB_reserved0_MASK                     0xffffff00
#define BCHP_HIF_MSPI_SPCR1_MSB_reserved0_SHIFT                    8

/* HIF_MSPI :: SPCR1_MSB :: RDSCLK [07:00] */
#define BCHP_HIF_MSPI_SPCR1_MSB_RDSCLK_MASK                        0x000000ff
#define BCHP_HIF_MSPI_SPCR1_MSB_RDSCLK_SHIFT                       0

/***************************************************************************
 *NEWQP - NEWQP REGISTER
 ***************************************************************************/
/* HIF_MSPI :: NEWQP :: reserved0 [31:04] */
#define BCHP_HIF_MSPI_NEWQP_reserved0_MASK                         0xfffffff0
#define BCHP_HIF_MSPI_NEWQP_reserved0_SHIFT                        4

/* HIF_MSPI :: NEWQP :: newqp [03:00] */
#define BCHP_HIF_MSPI_NEWQP_newqp_MASK                             0x0000000f
#define BCHP_HIF_MSPI_NEWQP_newqp_SHIFT                            0

/***************************************************************************
 *ENDQP - ENDQP REGISTER
 ***************************************************************************/
/* HIF_MSPI :: ENDQP :: reserved0 [31:04] */
#define BCHP_HIF_MSPI_ENDQP_reserved0_MASK                         0xfffffff0
#define BCHP_HIF_MSPI_ENDQP_reserved0_SHIFT                        4

/* HIF_MSPI :: ENDQP :: endqp [03:00] */
#define BCHP_HIF_MSPI_ENDQP_endqp_MASK                             0x0000000f
#define BCHP_HIF_MSPI_ENDQP_endqp_SHIFT                            0

/***************************************************************************
 *SPCR2 - SPCR2 REGISTER
 ***************************************************************************/
/* HIF_MSPI :: SPCR2 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_SPCR2_reserved0_MASK                         0xffffff00
#define BCHP_HIF_MSPI_SPCR2_reserved0_SHIFT                        8

/* HIF_MSPI :: SPCR2 :: cont_after_cmd [07:07] */
#define BCHP_HIF_MSPI_SPCR2_cont_after_cmd_MASK                    0x00000080
#define BCHP_HIF_MSPI_SPCR2_cont_after_cmd_SHIFT                   7

/* HIF_MSPI :: SPCR2 :: spe [06:06] */
#define BCHP_HIF_MSPI_SPCR2_spe_MASK                               0x00000040
#define BCHP_HIF_MSPI_SPCR2_spe_SHIFT                              6

/* HIF_MSPI :: SPCR2 :: spifie [05:05] */
#define BCHP_HIF_MSPI_SPCR2_spifie_MASK                            0x00000020
#define BCHP_HIF_MSPI_SPCR2_spifie_SHIFT                           5

/* HIF_MSPI :: SPCR2 :: wren [04:04] */
#define BCHP_HIF_MSPI_SPCR2_wren_MASK                              0x00000010
#define BCHP_HIF_MSPI_SPCR2_wren_SHIFT                             4

/* HIF_MSPI :: SPCR2 :: wrt0 [03:03] */
#define BCHP_HIF_MSPI_SPCR2_wrt0_MASK                              0x00000008
#define BCHP_HIF_MSPI_SPCR2_wrt0_SHIFT                             3

/* HIF_MSPI :: SPCR2 :: loopq [02:02] */
#define BCHP_HIF_MSPI_SPCR2_loopq_MASK                             0x00000004
#define BCHP_HIF_MSPI_SPCR2_loopq_SHIFT                            2

/* HIF_MSPI :: SPCR2 :: hie [01:01] */
#define BCHP_HIF_MSPI_SPCR2_hie_MASK                               0x00000002
#define BCHP_HIF_MSPI_SPCR2_hie_SHIFT                              1

/* HIF_MSPI :: SPCR2 :: halt [00:00] */
#define BCHP_HIF_MSPI_SPCR2_halt_MASK                              0x00000001
#define BCHP_HIF_MSPI_SPCR2_halt_SHIFT                             0

/***************************************************************************
 *MSPI_STATUS - MSPI STATUS REGISTER
 ***************************************************************************/
/* HIF_MSPI :: MSPI_STATUS :: reserved0 [31:02] */
#define BCHP_HIF_MSPI_MSPI_STATUS_reserved0_MASK                   0xfffffffc
#define BCHP_HIF_MSPI_MSPI_STATUS_reserved0_SHIFT                  2

/* HIF_MSPI :: MSPI_STATUS :: HALTA [01:01] */
#define BCHP_HIF_MSPI_MSPI_STATUS_HALTA_MASK                       0x00000002
#define BCHP_HIF_MSPI_MSPI_STATUS_HALTA_SHIFT                      1

/* HIF_MSPI :: MSPI_STATUS :: SPIF [00:00] */
#define BCHP_HIF_MSPI_MSPI_STATUS_SPIF_MASK                        0x00000001
#define BCHP_HIF_MSPI_MSPI_STATUS_SPIF_SHIFT                       0

/***************************************************************************
 *CPTQP - CPTQP REGISTER
 ***************************************************************************/
/* HIF_MSPI :: CPTQP :: reserved0 [31:04] */
#define BCHP_HIF_MSPI_CPTQP_reserved0_MASK                         0xfffffff0
#define BCHP_HIF_MSPI_CPTQP_reserved0_SHIFT                        4

/* HIF_MSPI :: CPTQP :: cptqp [03:00] */
#define BCHP_HIF_MSPI_CPTQP_cptqp_MASK                             0x0000000f
#define BCHP_HIF_MSPI_CPTQP_cptqp_SHIFT                            0

/***************************************************************************
 *TXRAM00 - MSbyte for bit 16 or bit 8 operation (queue pointer = 0)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM00 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM00_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM00_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM00 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM00_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM00_txram_SHIFT                          0

/***************************************************************************
 *TXRAM01 - LSbyte for bit 16 operation only (queue pointer = 0)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM01 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM01_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM01_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM01 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM01_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM01_txram_SHIFT                          0

/***************************************************************************
 *TXRAM02 - MSbyte for bit 16 or bit 8 operation (queue pointer = 1)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM02 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM02_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM02_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM02 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM02_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM02_txram_SHIFT                          0

/***************************************************************************
 *TXRAM03 - LSbyte for bit 16 operation only (queue pointer = 1)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM03 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM03_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM03_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM03 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM03_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM03_txram_SHIFT                          0

/***************************************************************************
 *TXRAM04 - MSbyte for bit 16 or bit 8 operation (queue pointer = 2)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM04 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM04_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM04_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM04 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM04_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM04_txram_SHIFT                          0

/***************************************************************************
 *TXRAM05 - LSbyte for bit 16 operation only (queue pointer = 2)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM05 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM05_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM05_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM05 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM05_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM05_txram_SHIFT                          0

/***************************************************************************
 *TXRAM06 - MSbyte for bit 16 or bit 8 operation (queue pointer = 3)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM06 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM06_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM06_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM06 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM06_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM06_txram_SHIFT                          0

/***************************************************************************
 *TXRAM07 - LSbyte for bit 16 operation only (queue pointer = 3)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM07 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM07_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM07_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM07 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM07_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM07_txram_SHIFT                          0

/***************************************************************************
 *TXRAM08 - MSbyte for bit 16 or bit 8 operation (queue pointer = 4)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM08 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM08_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM08_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM08 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM08_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM08_txram_SHIFT                          0

/***************************************************************************
 *TXRAM09 - LSbyte for bit 16 operation only (queue pointer = 4)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM09 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM09_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM09_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM09 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM09_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM09_txram_SHIFT                          0

/***************************************************************************
 *TXRAM10 - MSbyte for bit 16 or bit 8 operation (queue pointer = 5)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM10 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM10_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM10_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM10 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM10_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM10_txram_SHIFT                          0

/***************************************************************************
 *TXRAM11 - LSbyte for bit 16 operation only (queue pointer = 5)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM11 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM11_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM11_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM11 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM11_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM11_txram_SHIFT                          0

/***************************************************************************
 *TXRAM12 - MSbyte for bit 16 or bit 8 operation (queue pointer = 6)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM12 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM12_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM12_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM12 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM12_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM12_txram_SHIFT                          0

/***************************************************************************
 *TXRAM13 - LSbyte for bit 16 operation only (queue pointer = 6)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM13 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM13_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM13_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM13 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM13_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM13_txram_SHIFT                          0

/***************************************************************************
 *TXRAM14 - MSbyte for bit 16 or bit 8 operation (queue pointer = 7)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM14 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM14_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM14_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM14 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM14_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM14_txram_SHIFT                          0

/***************************************************************************
 *TXRAM15 - LSbyte for bit 16 operation only (queue pointer = 7)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM15 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM15_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM15_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM15 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM15_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM15_txram_SHIFT                          0

/***************************************************************************
 *TXRAM16 - MSbyte for bit 16 or bit 8 operation (queue pointer = 8)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM16 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM16_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM16_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM16 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM16_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM16_txram_SHIFT                          0

/***************************************************************************
 *TXRAM17 - LSbyte for bit 16 operation only (queue pointer = 8)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM17 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM17_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM17_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM17 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM17_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM17_txram_SHIFT                          0

/***************************************************************************
 *TXRAM18 - MSbyte for bit 16 or bit 8 operation (queue pointer = 9)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM18 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM18_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM18_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM18 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM18_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM18_txram_SHIFT                          0

/***************************************************************************
 *TXRAM19 - LSbyte for bit 16 operation only (queue pointer = 9)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM19 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM19_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM19_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM19 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM19_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM19_txram_SHIFT                          0

/***************************************************************************
 *TXRAM20 - MSbyte for bit 16 or bit 8 operation (queue pointer = a)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM20 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM20_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM20_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM20 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM20_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM20_txram_SHIFT                          0

/***************************************************************************
 *TXRAM21 - LSbyte for bit 16 operation only (queue pointer = a)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM21 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM21_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM21_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM21 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM21_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM21_txram_SHIFT                          0

/***************************************************************************
 *TXRAM22 - MSbyte for bit 16 or bit 8 operation (queue pointer = b)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM22 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM22_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM22_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM22 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM22_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM22_txram_SHIFT                          0

/***************************************************************************
 *TXRAM23 - LSbyte for bit 16 operation only (queue pointer = b)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM23 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM23_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM23_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM23 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM23_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM23_txram_SHIFT                          0

/***************************************************************************
 *TXRAM24 - MSbyte for bit 16 or bit 8 operation (queue pointer = c)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM24 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM24_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM24_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM24 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM24_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM24_txram_SHIFT                          0

/***************************************************************************
 *TXRAM25 - LSbyte for bit 16 operation only (queue pointer = c)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM25 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM25_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM25_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM25 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM25_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM25_txram_SHIFT                          0

/***************************************************************************
 *TXRAM26 - MSbyte for bit 16 or bit 8 operation (queue pointer = d)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM26 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM26_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM26_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM26 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM26_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM26_txram_SHIFT                          0

/***************************************************************************
 *TXRAM27 - LSbyte for bit 16 operation only (queue pointer = d)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM27 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM27_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM27_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM27 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM27_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM27_txram_SHIFT                          0

/***************************************************************************
 *TXRAM28 - MSbyte for bit 16 or bit 8 operation (queue pointer = e)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM28 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM28_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM28_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM28 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM28_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM28_txram_SHIFT                          0

/***************************************************************************
 *TXRAM29 - LSbyte for bit 16 operation only (queue pointer = e)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM29 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM29_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM29_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM29 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM29_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM29_txram_SHIFT                          0

/***************************************************************************
 *TXRAM30 - MSbyte for bit 16 or bit 8 operation (queue pointer = f)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM30 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM30_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM30_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM30 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM30_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM30_txram_SHIFT                          0

/***************************************************************************
 *TXRAM31 - LSbyte for bit 16 operation only (queue pointer = f)
 ***************************************************************************/
/* HIF_MSPI :: TXRAM31 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_TXRAM31_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_TXRAM31_reserved0_SHIFT                      8

/* HIF_MSPI :: TXRAM31 :: txram [07:00] */
#define BCHP_HIF_MSPI_TXRAM31_txram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_TXRAM31_txram_SHIFT                          0

/***************************************************************************
 *RXRAM00 - MSbyte for bit 16 or bit 8 operation (queue pointer = 0)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM00 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM00_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM00_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM00 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM00_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM00_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM01 - LSbyte for bit 16 operation only (queue pointer = 0)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM01 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM01_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM01_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM01 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM01_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM01_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM02 - MSbyte for bit 16 or bit 8 operation (queue pointer = 1)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM02 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM02_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM02_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM02 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM02_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM02_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM03 - LSbyte for bit 16 operation only (queue pointer = 1)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM03 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM03_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM03_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM03 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM03_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM03_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM04 - MSbyte for bit 16 or bit 8 operation (queue pointer = 2)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM04 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM04_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM04_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM04 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM04_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM04_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM05 - LSbyte for bit 16 operation only (queue pointer = 2)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM05 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM05_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM05_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM05 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM05_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM05_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM06 - MSbyte for bit 16 or bit 8 operation (queue pointer = 3)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM06 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM06_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM06_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM06 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM06_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM06_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM07 - LSbyte for bit 16 operation only (queue pointer = 3)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM07 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM07_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM07_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM07 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM07_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM07_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM08 - MSbyte for bit 16 or bit 8 operation (queue pointer = 4)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM08 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM08_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM08_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM08 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM08_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM08_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM09 - LSbyte for bit 16 operation only (queue pointer = 4)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM09 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM09_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM09_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM09 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM09_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM09_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM10 - MSbyte for bit 16 or bit 8 operation (queue pointer = 5)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM10 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM10_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM10_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM10 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM10_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM10_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM11 - LSbyte for bit 16 operation only (queue pointer = 5)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM11 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM11_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM11_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM11 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM11_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM11_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM12 - MSbyte for bit 16 or bit 8 operation (queue pointer = 6)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM12 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM12_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM12_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM12 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM12_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM12_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM13 - LSbyte for bit 16 operation only (queue pointer = 6)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM13 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM13_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM13_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM13 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM13_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM13_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM14 - MSbyte for bit 16 or bit 8 operation (queue pointer = 7)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM14 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM14_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM14_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM14 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM14_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM14_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM15 - LSbyte for bit 16 operation only (queue pointer = 7)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM15 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM15_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM15_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM15 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM15_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM15_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM16 - MSbyte for bit 16 or bit 8 operation (queue pointer = 8)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM16 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM16_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM16_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM16 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM16_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM16_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM17 - LSbyte for bit 16 operation only (queue pointer = 8)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM17 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM17_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM17_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM17 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM17_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM17_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM18 - MSbyte for bit 16 or bit 8 operation (queue pointer = 9)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM18 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM18_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM18_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM18 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM18_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM18_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM19 - LSbyte for bit 16 operation only (queue pointer = 9)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM19 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM19_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM19_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM19 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM19_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM19_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM20 - MSbyte for bit 16 or bit 8 operation (queue pointer = a)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM20 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM20_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM20_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM20 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM20_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM20_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM21 - LSbyte for bit 16 operation only (queue pointer = a)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM21 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM21_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM21_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM21 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM21_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM21_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM22 - MSbyte for bit 16 or bit 8 operation (queue pointer = b)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM22 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM22_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM22_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM22 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM22_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM22_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM23 - LSbyte for bit 16 operation only (queue pointer = b)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM23 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM23_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM23_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM23 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM23_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM23_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM24 - MSbyte for bit 16 or bit 8 operation (queue pointer = c)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM24 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM24_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM24_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM24 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM24_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM24_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM25 - LSbyte for bit 16 operation only (queue pointer = c)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM25 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM25_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM25_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM25 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM25_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM25_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM26 - MSbyte for bit 16 or bit 8 operation (queue pointer = d)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM26 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM26_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM26_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM26 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM26_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM26_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM27 - LSbyte for bit 16 operation only (queue pointer = d)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM27 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM27_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM27_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM27 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM27_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM27_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM28 - MSbyte for bit 16 or bit 8 operation (queue pointer = e)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM28 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM28_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM28_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM28 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM28_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM28_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM29 - LSbyte for bit 16 operation only (queue pointer = e)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM29 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM29_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM29_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM29 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM29_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM29_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM30 - MSbyte for bit 16 or bit 8 operation (queue pointer = f)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM30 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM30_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM30_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM30 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM30_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM30_rxram_SHIFT                          0

/***************************************************************************
 *RXRAM31 - LSbyte for bit 16 operation only (queue pointer = f)
 ***************************************************************************/
/* HIF_MSPI :: RXRAM31 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_RXRAM31_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_RXRAM31_reserved0_SHIFT                      8

/* HIF_MSPI :: RXRAM31 :: rxram [07:00] */
#define BCHP_HIF_MSPI_RXRAM31_rxram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_RXRAM31_rxram_SHIFT                          0

/***************************************************************************
 *CDRAM00 - 8-bit command (queue pointer = 0)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM00 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM00_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM00_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM00 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM00_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM00_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM01 - 8-bit command (queue pointer = 1)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM01 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM01_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM01_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM01 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM01_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM01_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM02 - 8-bit command (queue pointer = 2)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM02 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM02_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM02_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM02 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM02_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM02_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM03 - 8-bit command (queue pointer = 3)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM03 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM03_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM03_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM03 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM03_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM03_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM04 - 8-bit command (queue pointer = 4)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM04 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM04_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM04_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM04 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM04_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM04_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM05 - 8-bit command (queue pointer = 5)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM05 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM05_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM05_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM05 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM05_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM05_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM06 - 8-bit command (queue pointer = 6)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM06 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM06_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM06_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM06 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM06_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM06_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM07 - 8-bit command (queue pointer = 7)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM07 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM07_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM07_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM07 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM07_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM07_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM08 - 8-bit command (queue pointer = 8)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM08 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM08_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM08_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM08 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM08_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM08_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM09 - 8-bit command (queue pointer = 9)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM09 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM09_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM09_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM09 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM09_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM09_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM10 - 8-bit command (queue pointer = a)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM10 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM10_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM10_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM10 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM10_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM10_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM11 - 8-bit command (queue pointer = b)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM11 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM11_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM11_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM11 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM11_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM11_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM12 - 8-bit command (queue pointer = c)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM12 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM12_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM12_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM12 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM12_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM12_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM13 - 8-bit command (queue pointer = d)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM13 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM13_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM13_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM13 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM13_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM13_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM14 - 8-bit command (queue pointer = e)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM14 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM14_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM14_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM14 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM14_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM14_cdram_SHIFT                          0

/***************************************************************************
 *CDRAM15 - 8-bit command (queue pointer = f)
 ***************************************************************************/
/* HIF_MSPI :: CDRAM15 :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_CDRAM15_reserved0_MASK                       0xffffff00
#define BCHP_HIF_MSPI_CDRAM15_reserved0_SHIFT                      8

/* HIF_MSPI :: CDRAM15 :: cdram [07:00] */
#define BCHP_HIF_MSPI_CDRAM15_cdram_MASK                           0x000000ff
#define BCHP_HIF_MSPI_CDRAM15_cdram_SHIFT                          0

/***************************************************************************
 *WRITE_LOCK - Control bit to lock group of write commands
 ***************************************************************************/
/* HIF_MSPI :: WRITE_LOCK :: reserved0 [31:01] */
#define BCHP_HIF_MSPI_WRITE_LOCK_reserved0_MASK                    0xfffffffe
#define BCHP_HIF_MSPI_WRITE_LOCK_reserved0_SHIFT                   1

/* HIF_MSPI :: WRITE_LOCK :: WriteLock [00:00] */
#define BCHP_HIF_MSPI_WRITE_LOCK_WriteLock_MASK                    0x00000001
#define BCHP_HIF_MSPI_WRITE_LOCK_WriteLock_SHIFT                   0

#endif /* #ifndef BCHP_HIF_MSPI_H__ */

/* End of File */
