/***************************************************************************
 *     Copyright (c) 1999-2013, 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         Sat Apr  6 03:07:48 2013
 *                 MD5 Checksum         d41d8cd98f00b204e9800998ecf8427e
 *
 * 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_MSPI_H__
#define BCHP_HIF_MSPI_H__

/***************************************************************************
 *HIF_MSPI - Public MSPI Registers
 ***************************************************************************/
#define BCHP_HIF_MSPI_SPCR0_LSB                  0x203d3400 /* SPCR0_LSB REGISTER */
#define BCHP_HIF_MSPI_SPCR0_MSB                  0x203d3404 /* SPCR0_MSB Register */
#define BCHP_HIF_MSPI_SPCR1_LSB                  0x203d3408 /* SPCR1_LSB REGISTER */
#define BCHP_HIF_MSPI_SPCR1_MSB                  0x203d340c /* SPCR1_MSB REGISTER */
#define BCHP_HIF_MSPI_NEWQP                      0x203d3410 /* NEWQP REGISTER */
#define BCHP_HIF_MSPI_ENDQP                      0x203d3414 /* ENDQP REGISTER */
#define BCHP_HIF_MSPI_SPCR2                      0x203d3418 /* SPCR2 REGISTER */
#define BCHP_HIF_MSPI_MSPI_STATUS                0x203d3420 /* MSPI STATUS REGISTER */
#define BCHP_HIF_MSPI_CPTQP                      0x203d3424 /* CPTQP REGISTER */
#define BCHP_HIF_MSPI_SPCR3                      0x203d3428 /* SPCR3 REGISTER */
#define BCHP_HIF_MSPI_REVISION                   0x203d342c /* REVISION ID REGISTER */
#define BCHP_HIF_MSPI_TXRAM00                    0x203d3440 /* Most significant byte of TXRAM[0] (queue pointer = 0) */
#define BCHP_HIF_MSPI_TXRAM01                    0x203d3444 /* Least significant byte of TXRAM[0] (queue pointer = 0) */
#define BCHP_HIF_MSPI_TXRAM02                    0x203d3448 /* Most significant byte of TXRAM[1] (queue pointer = 1) */
#define BCHP_HIF_MSPI_TXRAM03                    0x203d344c /* Least significant byte of TXRAM[1] (queue pointer = 1) */
#define BCHP_HIF_MSPI_TXRAM04                    0x203d3450 /* Most significant byte of TXRAM[2] (queue pointer = 2) */
#define BCHP_HIF_MSPI_TXRAM05                    0x203d3454 /* Least significant byte of TXRAM[2] (queue pointer = 2) */
#define BCHP_HIF_MSPI_TXRAM06                    0x203d3458 /* Most significant byte of TXRAM[3] (queue pointer = 3) */
#define BCHP_HIF_MSPI_TXRAM07                    0x203d345c /* Least significant byte of TXRAM[3] (queue pointer = 3) */
#define BCHP_HIF_MSPI_TXRAM08                    0x203d3460 /* Most significant byte of TXRAM[4] (queue pointer = 4) */
#define BCHP_HIF_MSPI_TXRAM09                    0x203d3464 /* Least significant byte of TXRAM[4] (queue pointer = 4) */
#define BCHP_HIF_MSPI_TXRAM10                    0x203d3468 /* Most significant byte of TXRAM[5] (queue pointer = 5) */
#define BCHP_HIF_MSPI_TXRAM11                    0x203d346c /* Least significant byte of TXRAM[5] (queue pointer = 5) */
#define BCHP_HIF_MSPI_TXRAM12                    0x203d3470 /* Most significant byte of TXRAM[6] (queue pointer = 6) */
#define BCHP_HIF_MSPI_TXRAM13                    0x203d3474 /* Least significant byte of TXRAM[6] (queue pointer = 6) */
#define BCHP_HIF_MSPI_TXRAM14                    0x203d3478 /* Most significant byte of TXRAM[7] (queue pointer = 7) */
#define BCHP_HIF_MSPI_TXRAM15                    0x203d347c /* Least significant byte of TXRAM[7] (queue pointer = 7) */
#define BCHP_HIF_MSPI_TXRAM16                    0x203d3480 /* Most significant byte of TXRAM[8] (queue pointer = 8) */
#define BCHP_HIF_MSPI_TXRAM17                    0x203d3484 /* Least significant byte of TXRAM[8] (queue pointer = 8) */
#define BCHP_HIF_MSPI_TXRAM18                    0x203d3488 /* Most significant byte of TXRAM[9] (queue pointer = 9) */
#define BCHP_HIF_MSPI_TXRAM19                    0x203d348c /* Least significant byte of TXRAM[9] (queue pointer = 9) */
#define BCHP_HIF_MSPI_TXRAM20                    0x203d3490 /* Most significant byte of TXRAM[10] (queue pointer = 10) */
#define BCHP_HIF_MSPI_TXRAM21                    0x203d3494 /* Least significant byte of TXRAM[10] (queue pointer = 10) */
#define BCHP_HIF_MSPI_TXRAM22                    0x203d3498 /* Most significant byte of TXRAM[11] (queue pointer = 11) */
#define BCHP_HIF_MSPI_TXRAM23                    0x203d349c /* Least significant byte of TXRAM[11] (queue pointer = 11) */
#define BCHP_HIF_MSPI_TXRAM24                    0x203d34a0 /* Most significant byte of TXRAM[12] (queue pointer = 12) */
#define BCHP_HIF_MSPI_TXRAM25                    0x203d34a4 /* Least significant byte of TXRAM[12] (queue pointer = 12) */
#define BCHP_HIF_MSPI_TXRAM26                    0x203d34a8 /* Most significant byte of TXRAM[13] (queue pointer = 13) */
#define BCHP_HIF_MSPI_TXRAM27                    0x203d34ac /* Least significant byte of TXRAM[13] (queue pointer = 13) */
#define BCHP_HIF_MSPI_TXRAM28                    0x203d34b0 /* Most significant byte of TXRAM[14] (queue pointer = 14) */
#define BCHP_HIF_MSPI_TXRAM29                    0x203d34b4 /* Least significant byte of TXRAM[14] (queue pointer = 14) */
#define BCHP_HIF_MSPI_TXRAM30                    0x203d34b8 /* Most significant byte of TXRAM[15] (queue pointer = 15) */
#define BCHP_HIF_MSPI_TXRAM31                    0x203d34bc /* Least significant byte of TXRAM[15] (queue pointer = 15) */
#define BCHP_HIF_MSPI_RXRAM00                    0x203d34c0 /* Most significant byte of RXRAM[0] (queue pointer = 0) */
#define BCHP_HIF_MSPI_RXRAM01                    0x203d34c4 /* Least significant byte of RXRAM[0] (queue pointer = 0) */
#define BCHP_HIF_MSPI_RXRAM02                    0x203d34c8 /* Most significant byte of RXRAM[1] (queue pointer = 1) */
#define BCHP_HIF_MSPI_RXRAM03                    0x203d34cc /* Least significant byte of RXRAM[1] (queue pointer = 1) */
#define BCHP_HIF_MSPI_RXRAM04                    0x203d34d0 /* Most significant byte of RXRAM[2] (queue pointer = 2) */
#define BCHP_HIF_MSPI_RXRAM05                    0x203d34d4 /* Least significant byte of RXRAM[2] (queue pointer = 2) */
#define BCHP_HIF_MSPI_RXRAM06                    0x203d34d8 /* Most significant byte of RXRAM[3] (queue pointer = 3) */
#define BCHP_HIF_MSPI_RXRAM07                    0x203d34dc /* Least significant byte of RXRAM[3] (queue pointer = 3) */
#define BCHP_HIF_MSPI_RXRAM08                    0x203d34e0 /* Most significant byte of RXRAM[4] (queue pointer = 4) */
#define BCHP_HIF_MSPI_RXRAM09                    0x203d34e4 /* Least significant byte of RXRAM[4] (queue pointer = 4) */
#define BCHP_HIF_MSPI_RXRAM10                    0x203d34e8 /* Most significant byte of RXRAM[5] (queue pointer = 5) */
#define BCHP_HIF_MSPI_RXRAM11                    0x203d34ec /* Least significant byte of RXRAM[5] (queue pointer = 5) */
#define BCHP_HIF_MSPI_RXRAM12                    0x203d34f0 /* Most significant byte of RXRAM[6] (queue pointer = 6) */
#define BCHP_HIF_MSPI_RXRAM13                    0x203d34f4 /* Least significant byte of RXRAM[6] (queue pointer = 6) */
#define BCHP_HIF_MSPI_RXRAM14                    0x203d34f8 /* Most significant byte of RXRAM[7] (queue pointer = 7) */
#define BCHP_HIF_MSPI_RXRAM15                    0x203d34fc /* Least significant byte of RXRAM[7] (queue pointer = 7) */
#define BCHP_HIF_MSPI_RXRAM16                    0x203d3500 /* Most significant byte of RXRAM[8] (queue pointer = 8) */
#define BCHP_HIF_MSPI_RXRAM17                    0x203d3504 /* Least significant byte of RXRAM[8] (queue pointer = 8) */
#define BCHP_HIF_MSPI_RXRAM18                    0x203d3508 /* Most significant byte of RXRAM[9] (queue pointer = 9) */
#define BCHP_HIF_MSPI_RXRAM19                    0x203d350c /* Least significant byte of RXRAM[9] (queue pointer = 9) */
#define BCHP_HIF_MSPI_RXRAM20                    0x203d3510 /* Most significant byte of RXRAM[10] (queue pointer = 10) */
#define BCHP_HIF_MSPI_RXRAM21                    0x203d3514 /* Least significant byte of RXRAM[10] (queue pointer = 10) */
#define BCHP_HIF_MSPI_RXRAM22                    0x203d3518 /* Most significant byte of RXRAM[11] (queue pointer = 11) */
#define BCHP_HIF_MSPI_RXRAM23                    0x203d351c /* Least significant byte of RXRAM[11] (queue pointer = 11) */
#define BCHP_HIF_MSPI_RXRAM24                    0x203d3520 /* Most significant byte of RXRAM[12] (queue pointer = 12) */
#define BCHP_HIF_MSPI_RXRAM25                    0x203d3524 /* Least significant byte of RXRAM[12] (queue pointer = 12) */
#define BCHP_HIF_MSPI_RXRAM26                    0x203d3528 /* Most significant byte of RXRAM[13] (queue pointer = 13) */
#define BCHP_HIF_MSPI_RXRAM27                    0x203d352c /* Least significant byte of RXRAM[13] (queue pointer = 13) */
#define BCHP_HIF_MSPI_RXRAM28                    0x203d3530 /* Most significant byte of RXRAM[14] (queue pointer = 14) */
#define BCHP_HIF_MSPI_RXRAM29                    0x203d3534 /* Least significant byte of RXRAM[14] (queue pointer = 14) */
#define BCHP_HIF_MSPI_RXRAM30                    0x203d3538 /* Most significant byte of RXRAM[15] (queue pointer = 15) */
#define BCHP_HIF_MSPI_RXRAM31                    0x203d353c /* Least significant byte of RXRAM[15] (queue pointer = 15) */
#define BCHP_HIF_MSPI_CDRAM00                    0x203d3540 /* 8-bit command (queue pointer = 0) */
#define BCHP_HIF_MSPI_CDRAM01                    0x203d3544 /* 8-bit command (queue pointer = 1) */
#define BCHP_HIF_MSPI_CDRAM02                    0x203d3548 /* 8-bit command (queue pointer = 2) */
#define BCHP_HIF_MSPI_CDRAM03                    0x203d354c /* 8-bit command (queue pointer = 3) */
#define BCHP_HIF_MSPI_CDRAM04                    0x203d3550 /* 8-bit command (queue pointer = 4) */
#define BCHP_HIF_MSPI_CDRAM05                    0x203d3554 /* 8-bit command (queue pointer = 5) */
#define BCHP_HIF_MSPI_CDRAM06                    0x203d3558 /* 8-bit command (queue pointer = 6) */
#define BCHP_HIF_MSPI_CDRAM07                    0x203d355c /* 8-bit command (queue pointer = 7) */
#define BCHP_HIF_MSPI_CDRAM08                    0x203d3560 /* 8-bit command (queue pointer = 8) */
#define BCHP_HIF_MSPI_CDRAM09                    0x203d3564 /* 8-bit command (queue pointer = 9) */
#define BCHP_HIF_MSPI_CDRAM10                    0x203d3568 /* 8-bit command (queue pointer = a) */
#define BCHP_HIF_MSPI_CDRAM11                    0x203d356c /* 8-bit command (queue pointer = b) */
#define BCHP_HIF_MSPI_CDRAM12                    0x203d3570 /* 8-bit command (queue pointer = c) */
#define BCHP_HIF_MSPI_CDRAM13                    0x203d3574 /* 8-bit command (queue pointer = d) */
#define BCHP_HIF_MSPI_CDRAM14                    0x203d3578 /* 8-bit command (queue pointer = e) */
#define BCHP_HIF_MSPI_CDRAM15                    0x203d357c /* 8-bit command (queue pointer = f) */
#define BCHP_HIF_MSPI_WRITE_LOCK                 0x203d3580 /* Control bit to lock group of write commands */
#define BCHP_HIF_MSPI_DISABLE_FLUSH_GEN          0x203d3584 /* Debug bit to mask the generation of flush signals from Mspi */

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_SPCR0_LSB_SPBR_DEFAULT                       0x00000000

/***************************************************************************
 *SPCR0_MSB - SPCR0_MSB Register
 ***************************************************************************/
/* HIF_MSPI :: SPCR0_MSB :: reserved0 [31:09] */
#define BCHP_HIF_MSPI_SPCR0_MSB_reserved0_MASK                     0xfffffe00
#define BCHP_HIF_MSPI_SPCR0_MSB_reserved0_SHIFT                    9

/* HIF_MSPI :: SPCR0_MSB :: StartTransDelay [08:08] */
#define BCHP_HIF_MSPI_SPCR0_MSB_StartTransDelay_MASK               0x00000100
#define BCHP_HIF_MSPI_SPCR0_MSB_StartTransDelay_SHIFT              8
#define BCHP_HIF_MSPI_SPCR0_MSB_StartTransDelay_DEFAULT            0x00000000

/* union - case data_reg_8 [07:02] */
/* HIF_MSPI :: SPCR0_MSB :: data_reg_8 :: reserved0 [07:06] */
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_8_reserved0_MASK          0x000000c0
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_8_reserved0_SHIFT         6

/* HIF_MSPI :: SPCR0_MSB :: data_reg_8 :: BITS [05:02] */
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_8_BITS_MASK               0x0000003c
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_8_BITS_SHIFT              2
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_8_BITS_DEFAULT            0x00000000

/* union - case data_reg_32 [07:02] */
/* HIF_MSPI :: SPCR0_MSB :: data_reg_32 :: BITS [07:02] */
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_32_BITS_MASK              0x000000fc
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_32_BITS_SHIFT             2
#define BCHP_HIF_MSPI_SPCR0_MSB_data_reg_32_BITS_DEFAULT           0x00000000

/* 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
#define BCHP_HIF_MSPI_SPCR0_MSB_CPOL_DEFAULT                       0x00000000

/* 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
#define BCHP_HIF_MSPI_SPCR0_MSB_CPHA_DEFAULT                       0x00000000

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_SPCR1_LSB_DTL_DEFAULT                        0x00000000

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_SPCR1_MSB_RDSCLK_DEFAULT                     0x00000000

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_NEWQP_newqp_DEFAULT                          0x00000000

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_ENDQP_endqp_DEFAULT                          0x00000000

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_SPCR2_cont_after_cmd_DEFAULT                 0x00000000

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

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

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

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

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

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

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

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_MSPI_STATUS_HALTA_DEFAULT                    0x00000000

/* 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
#define BCHP_HIF_MSPI_MSPI_STATUS_SPIF_DEFAULT                     0x00000000

/***************************************************************************
 *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
#define BCHP_HIF_MSPI_CPTQP_cptqp_DEFAULT                          0x00000000

/***************************************************************************
 *SPCR3 - SPCR3 REGISTER
 ***************************************************************************/
/* HIF_MSPI :: SPCR3 :: reserved0 [31:10] */
#define BCHP_HIF_MSPI_SPCR3_reserved0_MASK                         0xfffffc00
#define BCHP_HIF_MSPI_SPCR3_reserved0_SHIFT                        10

/* HIF_MSPI :: SPCR3 :: cpharx [09:09] */
#define BCHP_HIF_MSPI_SPCR3_cpharx_MASK                            0x00000200
#define BCHP_HIF_MSPI_SPCR3_cpharx_SHIFT                           9
#define BCHP_HIF_MSPI_SPCR3_cpharx_DEFAULT                         0x00000000

/* HIF_MSPI :: SPCR3 :: data_reg_size [08:08] */
#define BCHP_HIF_MSPI_SPCR3_data_reg_size_MASK                     0x00000100
#define BCHP_HIF_MSPI_SPCR3_data_reg_size_SHIFT                    8
#define BCHP_HIF_MSPI_SPCR3_data_reg_size_DEFAULT                  0x00000000

/* HIF_MSPI :: SPCR3 :: hdouttype [07:07] */
#define BCHP_HIF_MSPI_SPCR3_hdouttype_MASK                         0x00000080
#define BCHP_HIF_MSPI_SPCR3_hdouttype_SHIFT                        7
#define BCHP_HIF_MSPI_SPCR3_hdouttype_DEFAULT                      0x00000000

/* HIF_MSPI :: SPCR3 :: halfduplex [06:06] */
#define BCHP_HIF_MSPI_SPCR3_halfduplex_MASK                        0x00000040
#define BCHP_HIF_MSPI_SPCR3_halfduplex_SHIFT                       6
#define BCHP_HIF_MSPI_SPCR3_halfduplex_DEFAULT                     0x00000000

/* HIF_MSPI :: SPCR3 :: txramdam [05:04] */
#define BCHP_HIF_MSPI_SPCR3_txramdam_MASK                          0x00000030
#define BCHP_HIF_MSPI_SPCR3_txramdam_SHIFT                         4
#define BCHP_HIF_MSPI_SPCR3_txramdam_DEFAULT                       0x00000000
#define BCHP_HIF_MSPI_SPCR3_txramdam_DAM_8B                        0
#define BCHP_HIF_MSPI_SPCR3_txramdam_DAM_16B                       1
#define BCHP_HIF_MSPI_SPCR3_txramdam_DAM_32B                       2

/* HIF_MSPI :: SPCR3 :: rxramdam [03:02] */
#define BCHP_HIF_MSPI_SPCR3_rxramdam_MASK                          0x0000000c
#define BCHP_HIF_MSPI_SPCR3_rxramdam_SHIFT                         2
#define BCHP_HIF_MSPI_SPCR3_rxramdam_DEFAULT                       0x00000000
#define BCHP_HIF_MSPI_SPCR3_rxramdam_DAM_8B                        0
#define BCHP_HIF_MSPI_SPCR3_rxramdam_DAM_16B                       1
#define BCHP_HIF_MSPI_SPCR3_rxramdam_DAM_32B                       2

/* HIF_MSPI :: SPCR3 :: fastdt [01:01] */
#define BCHP_HIF_MSPI_SPCR3_fastdt_MASK                            0x00000002
#define BCHP_HIF_MSPI_SPCR3_fastdt_SHIFT                           1
#define BCHP_HIF_MSPI_SPCR3_fastdt_DEFAULT                         0x00000000

/* HIF_MSPI :: SPCR3 :: fastbr [00:00] */
#define BCHP_HIF_MSPI_SPCR3_fastbr_MASK                            0x00000001
#define BCHP_HIF_MSPI_SPCR3_fastbr_SHIFT                           0
#define BCHP_HIF_MSPI_SPCR3_fastbr_DEFAULT                         0x00000000

/***************************************************************************
 *REVISION - REVISION ID REGISTER
 ***************************************************************************/
/* HIF_MSPI :: REVISION :: reserved0 [31:08] */
#define BCHP_HIF_MSPI_REVISION_reserved0_MASK                      0xffffff00
#define BCHP_HIF_MSPI_REVISION_reserved0_SHIFT                     8

/* HIF_MSPI :: REVISION :: major [07:04] */
#define BCHP_HIF_MSPI_REVISION_major_MASK                          0x000000f0
#define BCHP_HIF_MSPI_REVISION_major_SHIFT                         4
#define BCHP_HIF_MSPI_REVISION_major_DEFAULT                       0x00000001

/* HIF_MSPI :: REVISION :: minor [03:00] */
#define BCHP_HIF_MSPI_REVISION_minor_MASK                          0x0000000f
#define BCHP_HIF_MSPI_REVISION_minor_SHIFT                         0
#define BCHP_HIF_MSPI_REVISION_minor_DEFAULT                       0x00000005

/***************************************************************************
 *TXRAM00 - Most significant byte of TXRAM[0] (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 - Least significant byte of TXRAM[0] (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 - Most significant byte of TXRAM[1] (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 - Least significant byte of TXRAM[1] (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 - Most significant byte of TXRAM[2] (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 - Least significant byte of TXRAM[2] (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 - Most significant byte of TXRAM[3] (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 - Least significant byte of TXRAM[3] (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 - Most significant byte of TXRAM[4] (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 - Least significant byte of TXRAM[4] (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 - Most significant byte of TXRAM[5] (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 - Least significant byte of TXRAM[5] (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 - Most significant byte of TXRAM[6] (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 - Least significant byte of TXRAM[6] (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 - Most significant byte of TXRAM[7] (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 - Least significant byte of TXRAM[7] (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 - Most significant byte of TXRAM[8] (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 - Least significant byte of TXRAM[8] (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 - Most significant byte of TXRAM[9] (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 - Least significant byte of TXRAM[9] (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 - Most significant byte of TXRAM[10] (queue pointer = 10)
 ***************************************************************************/
/* 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 - Least significant byte of TXRAM[10] (queue pointer = 10)
 ***************************************************************************/
/* 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 - Most significant byte of TXRAM[11] (queue pointer = 11)
 ***************************************************************************/
/* 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 - Least significant byte of TXRAM[11] (queue pointer = 11)
 ***************************************************************************/
/* 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 - Most significant byte of TXRAM[12] (queue pointer = 12)
 ***************************************************************************/
/* 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 - Least significant byte of TXRAM[12] (queue pointer = 12)
 ***************************************************************************/
/* 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 - Most significant byte of TXRAM[13] (queue pointer = 13)
 ***************************************************************************/
/* 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 - Least significant byte of TXRAM[13] (queue pointer = 13)
 ***************************************************************************/
/* 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 - Most significant byte of TXRAM[14] (queue pointer = 14)
 ***************************************************************************/
/* 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 - Least significant byte of TXRAM[14] (queue pointer = 14)
 ***************************************************************************/
/* 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 - Most significant byte of TXRAM[15] (queue pointer = 15)
 ***************************************************************************/
/* 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 - Least significant byte of TXRAM[15] (queue pointer = 15)
 ***************************************************************************/
/* 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 - Most significant byte of RXRAM[0] (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 - Least significant byte of RXRAM[0] (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 - Most significant byte of RXRAM[1] (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 - Least significant byte of RXRAM[1] (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 - Most significant byte of RXRAM[2] (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 - Least significant byte of RXRAM[2] (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 - Most significant byte of RXRAM[3] (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 - Least significant byte of RXRAM[3] (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 - Most significant byte of RXRAM[4] (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 - Least significant byte of RXRAM[4] (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 - Most significant byte of RXRAM[5] (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 - Least significant byte of RXRAM[5] (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 - Most significant byte of RXRAM[6] (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 - Least significant byte of RXRAM[6] (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 - Most significant byte of RXRAM[7] (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 - Least significant byte of RXRAM[7] (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 - Most significant byte of RXRAM[8] (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 - Least significant byte of RXRAM[8] (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 - Most significant byte of RXRAM[9] (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 - Least significant byte of RXRAM[9] (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 - Most significant byte of RXRAM[10] (queue pointer = 10)
 ***************************************************************************/
/* 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 - Least significant byte of RXRAM[10] (queue pointer = 10)
 ***************************************************************************/
/* 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 - Most significant byte of RXRAM[11] (queue pointer = 11)
 ***************************************************************************/
/* 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 - Least significant byte of RXRAM[11] (queue pointer = 11)
 ***************************************************************************/
/* 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 - Most significant byte of RXRAM[12] (queue pointer = 12)
 ***************************************************************************/
/* 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 - Least significant byte of RXRAM[12] (queue pointer = 12)
 ***************************************************************************/
/* 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 - Most significant byte of RXRAM[13] (queue pointer = 13)
 ***************************************************************************/
/* 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 - Least significant byte of RXRAM[13] (queue pointer = 13)
 ***************************************************************************/
/* 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 - Most significant byte of RXRAM[14] (queue pointer = 14)
 ***************************************************************************/
/* 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 - Least significant byte of RXRAM[14] (queue pointer = 14)
 ***************************************************************************/
/* 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 - Most significant byte of RXRAM[15] (queue pointer = 15)
 ***************************************************************************/
/* 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 - Least significant byte of RXRAM[15] (queue pointer = 15)
 ***************************************************************************/
/* 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:09] */
#define BCHP_HIF_MSPI_CDRAM00_reserved0_MASK                       0xfffffe00
#define BCHP_HIF_MSPI_CDRAM00_reserved0_SHIFT                      9

/* HIF_MSPI :: CDRAM00 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM00_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM00_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM01 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM01_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM01_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM02 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM02_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM02_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM03 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM03_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM03_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM04 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM04_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM04_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM05 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM05_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM05_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM06 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM06_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM06_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM07 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM07_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM07_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM08 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM08_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM08_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM09 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM09_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM09_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM10 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM10_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM10_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM11 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM11_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM11_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM12 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM12_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM12_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM13 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM13_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM13_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM14 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM14_cdram_MASK                           0x000001ff
#define BCHP_HIF_MSPI_CDRAM14_cdram_SHIFT                          0

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

/* HIF_MSPI :: CDRAM15 :: cdram [08:00] */
#define BCHP_HIF_MSPI_CDRAM15_cdram_MASK                           0x000001ff
#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
#define BCHP_HIF_MSPI_WRITE_LOCK_WriteLock_DEFAULT                 0x00000000

/***************************************************************************
 *DISABLE_FLUSH_GEN - Debug bit to mask the generation of flush signals from Mspi
 ***************************************************************************/
/* HIF_MSPI :: DISABLE_FLUSH_GEN :: reserved0 [31:01] */
#define BCHP_HIF_MSPI_DISABLE_FLUSH_GEN_reserved0_MASK             0xfffffffe
#define BCHP_HIF_MSPI_DISABLE_FLUSH_GEN_reserved0_SHIFT            1

/* HIF_MSPI :: DISABLE_FLUSH_GEN :: DisableFlushGen [00:00] */
#define BCHP_HIF_MSPI_DISABLE_FLUSH_GEN_DisableFlushGen_MASK       0x00000001
#define BCHP_HIF_MSPI_DISABLE_FLUSH_GEN_DisableFlushGen_SHIFT      0
#define BCHP_HIF_MSPI_DISABLE_FLUSH_GEN_DisableFlushGen_DEFAULT    0x00000000

#endif /* #ifndef BCHP_HIF_MSPI_H__ */

/* End of File */
