/***************************************************************************
 *     Copyright (c) 1999-2010, Broadcom Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 * Module Description:
 *                     DO NOT EDIT THIS FILE DIRECTLY
 *
 * This module was generated magically with RDB from a source description
 * file. You must edit the source file for changes to be made to this file.
 *
 *
 * Date:           Generated on         Fri May  7 20:13:26 2010
 *                 MD5 Checksum         9170aeef162fecc7d1a70fbd8134c303
 *
 * Compiled with:  RDB Utility          combo_header.pl
 *                 RDB Parser           3.0
 *                 unknown              unknown
 *                 Perl Interpreter     5.008008
 *                 Operating System     linux
 *
 * Revision History:
 *
 * $brcm_Log: /magnum/basemodules/chp/7468/rdb/b0/bchp_usb_ctrl.h $
 * 
 * Hydra_Software_Devel/1   5/7/10 11:33p albertl
 * SW7468-226: Initial revision.
 *
 ***************************************************************************/

#ifndef BCHP_USB_CTRL_H__
#define BCHP_USB_CTRL_H__

/***************************************************************************
 *USB_CTRL - USB Control Registers
 ***************************************************************************/
#define BCHP_USB_CTRL_BRT_CTL_1                  0x00350200 /* BERT Control 1 Register */
#define BCHP_USB_CTRL_BRT_CTL_2                  0x00350204 /* BERT Control 2 Register */
#define BCHP_USB_CTRL_BRT_STAT_1                 0x00350208 /* BERT Status 1 Register */
#define BCHP_USB_CTRL_BRT_STAT_2                 0x0035020c /* BERT Status 2 Register */
#define BCHP_USB_CTRL_UTMI_CTL_1                 0x00350210 /* UTMI Control Register */
#define BCHP_USB_CTRL_TEST_PORT_CTL              0x00350214 /* Test Port Control Register */
#define BCHP_USB_CTRL_PLL_CTL_1                  0x00350218 /* PLL Control Register */
#define BCHP_USB_CTRL_EBRIDGE                    0x0035021c /* Control Register for EHCI Bridge */
#define BCHP_USB_CTRL_OBRIDGE                    0x00350220 /* Control Register for OHCI Bridge */
#define BCHP_USB_CTRL_FLADJ_VALUE                0x00350224 /* Frame Adjust Value */
#define BCHP_USB_CTRL_SETUP                      0x00350228 /* Setup Register */
#define BCHP_USB_CTRL_MDIO                       0x0035022c /* MDIO Interface Programming Register */
#define BCHP_USB_CTRL_MDIO2                      0x00350230 /* MDIO Interface Read Register */
#define BCHP_USB_CTRL_USB_SIMCTL                 0x00350234 /* Simulation Register */
#define BCHP_USB_CTRL_USB_TESTCTL                0x00350238 /* Throutput Test Control */
#define BCHP_USB_CTRL_USB_TESTMON                0x0035023c /* Throughput Test Monitor */
#define BCHP_USB_CTRL_UTMI_CTL_2                 0x00350240 /* UTMI Control 2 Register */
#define BCHP_USB_CTRL_GENERIC_CTL_1              0x00350244 /* GENERIC Control 1 Register */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL           0x00350248 /* RAM Test Control Register */
#define BCHP_USB_CTRL_SPARE1                     0x0035024c /* Spare1 Register for future use */
#define BCHP_USB_CTRL_SPARE2                     0x00350250 /* Spare2 Register for future use */

/***************************************************************************
 *BRT_CTL_1 - BERT Control 1 Register
 ***************************************************************************/
/* USB_CTRL :: BRT_CTL_1 :: BRT_PKT_CNT [31:16] */
#define BCHP_USB_CTRL_BRT_CTL_1_BRT_PKT_CNT_MASK                   0xffff0000
#define BCHP_USB_CTRL_BRT_CTL_1_BRT_PKT_CNT_SHIFT                  16

/* USB_CTRL :: BRT_CTL_1 :: BRT_PKT_SIZE [15:00] */
#define BCHP_USB_CTRL_BRT_CTL_1_BRT_PKT_SIZE_MASK                  0x0000ffff
#define BCHP_USB_CTRL_BRT_CTL_1_BRT_PKT_SIZE_SHIFT                 0

/***************************************************************************
 *BRT_CTL_2 - BERT Control 2 Register
 ***************************************************************************/
/* USB_CTRL :: BRT_CTL_2 :: PORT_SEL_RX [31:28] */
#define BCHP_USB_CTRL_BRT_CTL_2_PORT_SEL_RX_MASK                   0xf0000000
#define BCHP_USB_CTRL_BRT_CTL_2_PORT_SEL_RX_SHIFT                  28

/* USB_CTRL :: BRT_CTL_2 :: PORT_SEL_TX [27:24] */
#define BCHP_USB_CTRL_BRT_CTL_2_PORT_SEL_TX_MASK                   0x0f000000
#define BCHP_USB_CTRL_BRT_CTL_2_PORT_SEL_TX_SHIFT                  24

/* USB_CTRL :: BRT_CTL_2 :: BRT_PATTERN [23:16] */
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_PATTERN_MASK                   0x00ff0000
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_PATTERN_SHIFT                  16

/* USB_CTRL :: BRT_CTL_2 :: INTER_PKT_GAP [15:08] */
#define BCHP_USB_CTRL_BRT_CTL_2_INTER_PKT_GAP_MASK                 0x0000ff00
#define BCHP_USB_CTRL_BRT_CTL_2_INTER_PKT_GAP_SHIFT                8

/* USB_CTRL :: BRT_CTL_2 :: CONT_PLAY [07:07] */
#define BCHP_USB_CTRL_BRT_CTL_2_CONT_PLAY_MASK                     0x00000080
#define BCHP_USB_CTRL_BRT_CTL_2_CONT_PLAY_SHIFT                    7

/* USB_CTRL :: BRT_CTL_2 :: TEST_SEL [06:06] */
#define BCHP_USB_CTRL_BRT_CTL_2_TEST_SEL_MASK                      0x00000040
#define BCHP_USB_CTRL_BRT_CTL_2_TEST_SEL_SHIFT                     6

/* USB_CTRL :: BRT_CTL_2 :: BRT_SPARE1 [05:05] */
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_SPARE1_MASK                    0x00000020
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_SPARE1_SHIFT                   5

/* USB_CTRL :: BRT_CTL_2 :: BRT_SPEED_SEL [04:04] */
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_SPEED_SEL_MASK                 0x00000010
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_SPEED_SEL_SHIFT                4

/* USB_CTRL :: BRT_CTL_2 :: BRT_SPARE2 [03:03] */
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_SPARE2_MASK                    0x00000008
#define BCHP_USB_CTRL_BRT_CTL_2_BRT_SPARE2_SHIFT                   3

/* USB_CTRL :: BRT_CTL_2 :: BERT_MODE [02:02] */
#define BCHP_USB_CTRL_BRT_CTL_2_BERT_MODE_MASK                     0x00000004
#define BCHP_USB_CTRL_BRT_CTL_2_BERT_MODE_SHIFT                    2

/* USB_CTRL :: BRT_CTL_2 :: BERT_START [01:01] */
#define BCHP_USB_CTRL_BRT_CTL_2_BERT_START_MASK                    0x00000002
#define BCHP_USB_CTRL_BRT_CTL_2_BERT_START_SHIFT                   1

/* USB_CTRL :: BRT_CTL_2 :: BERT_RESETB [00:00] */
#define BCHP_USB_CTRL_BRT_CTL_2_BERT_RESETB_MASK                   0x00000001
#define BCHP_USB_CTRL_BRT_CTL_2_BERT_RESETB_SHIFT                  0

/***************************************************************************
 *BRT_STAT_1 - BERT Status 1 Register
 ***************************************************************************/
/* USB_CTRL :: BRT_STAT_1 :: BRT_RX_DONE [31:31] */
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_RX_DONE_MASK                  0x80000000
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_RX_DONE_SHIFT                 31

/* USB_CTRL :: BRT_STAT_1 :: BRT_TX_DONE [30:30] */
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_TX_DONE_MASK                  0x40000000
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_TX_DONE_SHIFT                 30

/* USB_CTRL :: BRT_STAT_1 :: BRT_RX_STATE [29:28] */
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_RX_STATE_MASK                 0x30000000
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_RX_STATE_SHIFT                28

/* USB_CTRL :: BRT_STAT_1 :: BRT_TX_STATE [27:26] */
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_TX_STATE_MASK                 0x0c000000
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_TX_STATE_SHIFT                26

/* USB_CTRL :: BRT_STAT_1 :: BRT_ERROR_CNT [25:00] */
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_ERROR_CNT_MASK                0x03ffffff
#define BCHP_USB_CTRL_BRT_STAT_1_BRT_ERROR_CNT_SHIFT               0

/***************************************************************************
 *BRT_STAT_2 - BERT Status 2 Register
 ***************************************************************************/
/* USB_CTRL :: BRT_STAT_2 :: BRT_RX_PKT_CNT [31:16] */
#define BCHP_USB_CTRL_BRT_STAT_2_BRT_RX_PKT_CNT_MASK               0xffff0000
#define BCHP_USB_CTRL_BRT_STAT_2_BRT_RX_PKT_CNT_SHIFT              16

/* USB_CTRL :: BRT_STAT_2 :: BRT_RX_BYTE_CNT [15:00] */
#define BCHP_USB_CTRL_BRT_STAT_2_BRT_RX_BYTE_CNT_MASK              0x0000ffff
#define BCHP_USB_CTRL_BRT_STAT_2_BRT_RX_BYTE_CNT_SHIFT             0

/***************************************************************************
 *UTMI_CTL_1 - UTMI Control Register
 ***************************************************************************/
/* USB_CTRL :: UTMI_CTL_1 :: UTMICTL1_SPARE [31:17] */
#define BCHP_USB_CTRL_UTMI_CTL_1_UTMICTL1_SPARE_MASK               0xfffe0000
#define BCHP_USB_CTRL_UTMI_CTL_1_UTMICTL1_SPARE_SHIFT              17

/* USB_CTRL :: UTMI_CTL_1 :: UTMI_IDDQ [16:16] */
#define BCHP_USB_CTRL_UTMI_CTL_1_UTMI_IDDQ_MASK                    0x00010000
#define BCHP_USB_CTRL_UTMI_CTL_1_UTMI_IDDQ_SHIFT                   16

/* USB_CTRL :: UTMI_CTL_1 :: AFE_NON_DRIVING [15:12] */
#define BCHP_USB_CTRL_UTMI_CTL_1_AFE_NON_DRIVING_MASK              0x0000f000
#define BCHP_USB_CTRL_UTMI_CTL_1_AFE_NON_DRIVING_SHIFT             12

/* USB_CTRL :: UTMI_CTL_1 :: PHY_PWDNB [11:08] */
#define BCHP_USB_CTRL_UTMI_CTL_1_PHY_PWDNB_MASK                    0x00000f00
#define BCHP_USB_CTRL_UTMI_CTL_1_PHY_PWDNB_SHIFT                   8

/* USB_CTRL :: UTMI_CTL_1 :: UTMI_SOFT_RESETB [07:04] */
#define BCHP_USB_CTRL_UTMI_CTL_1_UTMI_SOFT_RESETB_MASK             0x000000f0
#define BCHP_USB_CTRL_UTMI_CTL_1_UTMI_SOFT_RESETB_SHIFT            4

/* USB_CTRL :: UTMI_CTL_1 :: HOSTB_DEV [03:00] */
#define BCHP_USB_CTRL_UTMI_CTL_1_HOSTB_DEV_MASK                    0x0000000f
#define BCHP_USB_CTRL_UTMI_CTL_1_HOSTB_DEV_SHIFT                   0

/***************************************************************************
 *TEST_PORT_CTL - Test Port Control Register
 ***************************************************************************/
/* USB_CTRL :: TEST_PORT_CTL :: TPCTL_SPARE3 [31:31] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPCTL_SPARE3_MASK              0x80000000
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPCTL_SPARE3_SHIFT             31

/* USB_CTRL :: TEST_PORT_CTL :: TPOUT_SEL [30:24] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPOUT_SEL_MASK                 0x7f000000
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPOUT_SEL_SHIFT                24

/* USB_CTRL :: TEST_PORT_CTL :: TP_EN [23:23] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_TP_EN_MASK                     0x00800000
#define BCHP_USB_CTRL_TEST_PORT_CTL_TP_EN_SHIFT                    23

/* USB_CTRL :: TEST_PORT_CTL :: TPCTL_SPARE2 [22:20] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPCTL_SPARE2_MASK              0x00700000
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPCTL_SPARE2_SHIFT             20

/* USB_CTRL :: TEST_PORT_CTL :: TP_PHY_SEL [19:16] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_TP_PHY_SEL_MASK                0x000f0000
#define BCHP_USB_CTRL_TEST_PORT_CTL_TP_PHY_SEL_SHIFT               16

/* USB_CTRL :: TEST_PORT_CTL :: TPCTL_SPARE1 [15:12] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPCTL_SPARE1_MASK              0x0000f000
#define BCHP_USB_CTRL_TEST_PORT_CTL_TPCTL_SPARE1_SHIFT             12

/* USB_CTRL :: TEST_PORT_CTL :: TP_PORT_SEL [11:08] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_TP_PORT_SEL_MASK               0x00000f00
#define BCHP_USB_CTRL_TEST_PORT_CTL_TP_PORT_SEL_SHIFT              8

/* USB_CTRL :: TEST_PORT_CTL :: UTMI_TEST_SEL [07:00] */
#define BCHP_USB_CTRL_TEST_PORT_CTL_UTMI_TEST_SEL_MASK             0x000000ff
#define BCHP_USB_CTRL_TEST_PORT_CTL_UTMI_TEST_SEL_SHIFT            0

/***************************************************************************
 *PLL_CTL_1 - PLL Control Register
 ***************************************************************************/
/* USB_CTRL :: PLL_CTL_1 :: PLLCTL_SPARE [31:10] */
#define BCHP_USB_CTRL_PLL_CTL_1_PLLCTL_SPARE_MASK                  0xfffffc00
#define BCHP_USB_CTRL_PLL_CTL_1_PLLCTL_SPARE_SHIFT                 10

/* USB_CTRL :: PLL_CTL_1 :: PLL_IDDQ_PWRDN [09:09] */
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_IDDQ_PWRDN_MASK                0x00000200
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_IDDQ_PWRDN_SHIFT               9

/* USB_CTRL :: PLL_CTL_1 :: PLL_RESET [08:08] */
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_RESET_MASK                     0x00000100
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_RESET_SHIFT                    8

/* USB_CTRL :: PLL_CTL_1 :: PHYPLLBYP [07:07] */
#define BCHP_USB_CTRL_PLL_CTL_1_PHYPLLBYP_MASK                     0x00000080
#define BCHP_USB_CTRL_PLL_CTL_1_PHYPLLBYP_SHIFT                    7

/* USB_CTRL :: PLL_CTL_1 :: PLL_CALEN [06:06] */
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_CALEN_MASK                     0x00000040
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_CALEN_SHIFT                    6

/* USB_CTRL :: PLL_CTL_1 :: PLL_PWRDWNB [05:05] */
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_PWRDWNB_MASK                   0x00000020
#define BCHP_USB_CTRL_PLL_CTL_1_PLL_PWRDWNB_SHIFT                  5

/* USB_CTRL :: PLL_CTL_1 :: XTAL_PWRDWNB [04:04] */
#define BCHP_USB_CTRL_PLL_CTL_1_XTAL_PWRDWNB_MASK                  0x00000010
#define BCHP_USB_CTRL_PLL_CTL_1_XTAL_PWRDWNB_SHIFT                 4

/* USB_CTRL :: PLL_CTL_1 :: CLKSEL [03:02] */
#define BCHP_USB_CTRL_PLL_CTL_1_CLKSEL_MASK                        0x0000000c
#define BCHP_USB_CTRL_PLL_CTL_1_CLKSEL_SHIFT                       2

/* USB_CTRL :: PLL_CTL_1 :: REFCLKSEL [01:00] */
#define BCHP_USB_CTRL_PLL_CTL_1_REFCLKSEL_MASK                     0x00000003
#define BCHP_USB_CTRL_PLL_CTL_1_REFCLKSEL_SHIFT                    0

/***************************************************************************
 *EBRIDGE - Control Register for EHCI Bridge
 ***************************************************************************/
/* USB_CTRL :: EBRIDGE :: EBR_SOFT_RESET [31:31] */
#define BCHP_USB_CTRL_EBRIDGE_EBR_SOFT_RESET_MASK                  0x80000000
#define BCHP_USB_CTRL_EBRIDGE_EBR_SOFT_RESET_SHIFT                 31

/* USB_CTRL :: EBRIDGE :: EBR_SPARE [30:17] */
#define BCHP_USB_CTRL_EBRIDGE_EBR_SPARE_MASK                       0x7ffe0000
#define BCHP_USB_CTRL_EBRIDGE_EBR_SPARE_SHIFT                      17

/* USB_CTRL :: EBRIDGE :: EBR_RD_THRESH [16:12] */
#define BCHP_USB_CTRL_EBRIDGE_EBR_RD_THRESH_MASK                   0x0001f000
#define BCHP_USB_CTRL_EBRIDGE_EBR_RD_THRESH_SHIFT                  12

/* USB_CTRL :: EBRIDGE :: EBR_SCB_SIZE [11:07] */
#define BCHP_USB_CTRL_EBRIDGE_EBR_SCB_SIZE_MASK                    0x00000f80
#define BCHP_USB_CTRL_EBRIDGE_EBR_SCB_SIZE_SHIFT                   7

/* USB_CTRL :: EBRIDGE :: EBR_MISC [06:01] */
#define BCHP_USB_CTRL_EBRIDGE_EBR_MISC_MASK                        0x0000007e
#define BCHP_USB_CTRL_EBRIDGE_EBR_MISC_SHIFT                       1

/* USB_CTRL :: EBRIDGE :: EBR_SEQ_EN [00:00] */
#define BCHP_USB_CTRL_EBRIDGE_EBR_SEQ_EN_MASK                      0x00000001
#define BCHP_USB_CTRL_EBRIDGE_EBR_SEQ_EN_SHIFT                     0

/***************************************************************************
 *OBRIDGE - Control Register for OHCI Bridge
 ***************************************************************************/
/* USB_CTRL :: OBRIDGE :: OBR_SOFT_RESET [31:31] */
#define BCHP_USB_CTRL_OBRIDGE_OBR_SOFT_RESET_MASK                  0x80000000
#define BCHP_USB_CTRL_OBRIDGE_OBR_SOFT_RESET_SHIFT                 31

/* USB_CTRL :: OBRIDGE :: OBR_SPARE [30:17] */
#define BCHP_USB_CTRL_OBRIDGE_OBR_SPARE_MASK                       0x7ffe0000
#define BCHP_USB_CTRL_OBRIDGE_OBR_SPARE_SHIFT                      17

/* USB_CTRL :: OBRIDGE :: OBR_RD_THRESH [16:12] */
#define BCHP_USB_CTRL_OBRIDGE_OBR_RD_THRESH_MASK                   0x0001f000
#define BCHP_USB_CTRL_OBRIDGE_OBR_RD_THRESH_SHIFT                  12

/* USB_CTRL :: OBRIDGE :: OBR_SCB_SIZE [11:07] */
#define BCHP_USB_CTRL_OBRIDGE_OBR_SCB_SIZE_MASK                    0x00000f80
#define BCHP_USB_CTRL_OBRIDGE_OBR_SCB_SIZE_SHIFT                   7

/* USB_CTRL :: OBRIDGE :: OBR_MISC [06:01] */
#define BCHP_USB_CTRL_OBRIDGE_OBR_MISC_MASK                        0x0000007e
#define BCHP_USB_CTRL_OBRIDGE_OBR_MISC_SHIFT                       1

/* USB_CTRL :: OBRIDGE :: OBR_SEQ_EN [00:00] */
#define BCHP_USB_CTRL_OBRIDGE_OBR_SEQ_EN_MASK                      0x00000001
#define BCHP_USB_CTRL_OBRIDGE_OBR_SEQ_EN_SHIFT                     0

/***************************************************************************
 *FLADJ_VALUE - Frame Adjust Value
 ***************************************************************************/
/* USB_CTRL :: FLADJ_VALUE :: FLADJ_VAL [31:00] */
#define BCHP_USB_CTRL_FLADJ_VALUE_FLADJ_VAL_MASK                   0xffffffff
#define BCHP_USB_CTRL_FLADJ_VALUE_FLADJ_VAL_SHIFT                  0

/***************************************************************************
 *SETUP - Setup Register
 ***************************************************************************/
/* USB_CTRL :: SETUP :: async_expire_dis [31:31] */
#define BCHP_USB_CTRL_SETUP_async_expire_dis_MASK                  0x80000000
#define BCHP_USB_CTRL_SETUP_async_expire_dis_SHIFT                 31

/* USB_CTRL :: SETUP :: DIS_TXFIFO_SYNC3 [30:30] */
#define BCHP_USB_CTRL_SETUP_DIS_TXFIFO_SYNC3_MASK                  0x40000000
#define BCHP_USB_CTRL_SETUP_DIS_TXFIFO_SYNC3_SHIFT                 30

/* USB_CTRL :: SETUP :: DIS_TXFIFO_SYNC2 [29:29] */
#define BCHP_USB_CTRL_SETUP_DIS_TXFIFO_SYNC2_MASK                  0x20000000
#define BCHP_USB_CTRL_SETUP_DIS_TXFIFO_SYNC2_SHIFT                 29

/* USB_CTRL :: SETUP :: DIS_TXFIFO_SYNC1 [28:28] */
#define BCHP_USB_CTRL_SETUP_DIS_TXFIFO_SYNC1_MASK                  0x10000000
#define BCHP_USB_CTRL_SETUP_DIS_TXFIFO_SYNC1_SHIFT                 28

/* USB_CTRL :: SETUP :: OC_DISABLE [27:25] */
#define BCHP_USB_CTRL_SETUP_OC_DISABLE_MASK                        0x0e000000
#define BCHP_USB_CTRL_SETUP_OC_DISABLE_SHIFT                       25

/* USB_CTRL :: SETUP :: mdio_sm_sel [24:24] */
#define BCHP_USB_CTRL_SETUP_mdio_sm_sel_MASK                       0x01000000
#define BCHP_USB_CTRL_SETUP_mdio_sm_sel_SHIFT                      24

/* USB_CTRL :: SETUP :: SETUP_SPARE2 [23:23] */
#define BCHP_USB_CTRL_SETUP_SETUP_SPARE2_MASK                      0x00800000
#define BCHP_USB_CTRL_SETUP_SETUP_SPARE2_SHIFT                     23

/* USB_CTRL :: SETUP :: mdio_test_en [22:22] */
#define BCHP_USB_CTRL_SETUP_mdio_test_en_MASK                      0x00400000
#define BCHP_USB_CTRL_SETUP_mdio_test_en_SHIFT                     22

/* USB_CTRL :: SETUP :: byte_read_en [21:21] */
#define BCHP_USB_CTRL_SETUP_byte_read_en_MASK                      0x00200000
#define BCHP_USB_CTRL_SETUP_byte_read_en_SHIFT                     21

/* USB_CTRL :: SETUP :: SETUP_SPARE1 [20:12] */
#define BCHP_USB_CTRL_SETUP_SETUP_SPARE1_MASK                      0x001ff000
#define BCHP_USB_CTRL_SETUP_SETUP_SPARE1_SHIFT                     12

/* USB_CTRL :: SETUP :: wrgwordcnt_sel [11:11] */
#define BCHP_USB_CTRL_SETUP_wrgwordcnt_sel_MASK                    0x00000800
#define BCHP_USB_CTRL_SETUP_wrgwordcnt_sel_SHIFT                   11

/* USB_CTRL :: SETUP :: rdgwordcnt_sel [10:10] */
#define BCHP_USB_CTRL_SETUP_rdgwordcnt_sel_MASK                    0x00000400
#define BCHP_USB_CTRL_SETUP_rdgwordcnt_sel_SHIFT                   10

/* USB_CTRL :: SETUP :: soft_reset [09:09] */
#define BCHP_USB_CTRL_SETUP_soft_reset_MASK                        0x00000200
#define BCHP_USB_CTRL_SETUP_soft_reset_SHIFT                       9

/* USB_CTRL :: SETUP :: scbff_reset [08:08] */
#define BCHP_USB_CTRL_SETUP_scbff_reset_MASK                       0x00000100
#define BCHP_USB_CTRL_SETUP_scbff_reset_SHIFT                      8

/* USB_CTRL :: SETUP :: PDT2 [07:07] */
#define BCHP_USB_CTRL_SETUP_PDT2_MASK                              0x00000080
#define BCHP_USB_CTRL_SETUP_PDT2_SHIFT                             7

/* USB_CTRL :: SETUP :: PDT1 [06:06] */
#define BCHP_USB_CTRL_SETUP_PDT1_MASK                              0x00000040
#define BCHP_USB_CTRL_SETUP_PDT1_SHIFT                             6

/* USB_CTRL :: SETUP :: IPP [05:05] */
#define BCHP_USB_CTRL_SETUP_IPP_MASK                               0x00000020
#define BCHP_USB_CTRL_SETUP_IPP_SHIFT                              5

/* USB_CTRL :: SETUP :: IOC [04:04] */
#define BCHP_USB_CTRL_SETUP_IOC_MASK                               0x00000010
#define BCHP_USB_CTRL_SETUP_IOC_SHIFT                              4

/* USB_CTRL :: SETUP :: WABO [03:03] */
#define BCHP_USB_CTRL_SETUP_WABO_MASK                              0x00000008
#define BCHP_USB_CTRL_SETUP_WABO_SHIFT                             3

/* USB_CTRL :: SETUP :: FNBO [02:02] */
#define BCHP_USB_CTRL_SETUP_FNBO_MASK                              0x00000004
#define BCHP_USB_CTRL_SETUP_FNBO_SHIFT                             2

/* USB_CTRL :: SETUP :: FNHW [01:01] */
#define BCHP_USB_CTRL_SETUP_FNHW_MASK                              0x00000002
#define BCHP_USB_CTRL_SETUP_FNHW_SHIFT                             1

/* USB_CTRL :: SETUP :: BABO [00:00] */
#define BCHP_USB_CTRL_SETUP_BABO_MASK                              0x00000001
#define BCHP_USB_CTRL_SETUP_BABO_SHIFT                             0

/***************************************************************************
 *MDIO - MDIO Interface Programming Register
 ***************************************************************************/
/* USB_CTRL :: MDIO :: MDIO_SPARE [31:26] */
#define BCHP_USB_CTRL_MDIO_MDIO_SPARE_MASK                         0xfc000000
#define BCHP_USB_CTRL_MDIO_MDIO_SPARE_SHIFT                        26

/* USB_CTRL :: MDIO :: WR_START [25:25] */
#define BCHP_USB_CTRL_MDIO_WR_START_MASK                           0x02000000
#define BCHP_USB_CTRL_MDIO_WR_START_SHIFT                          25

/* USB_CTRL :: MDIO :: RD_START [24:24] */
#define BCHP_USB_CTRL_MDIO_RD_START_MASK                           0x01000000
#define BCHP_USB_CTRL_MDIO_RD_START_SHIFT                          24

/* USB_CTRL :: MDIO :: MDIO_ADDR [23:16] */
#define BCHP_USB_CTRL_MDIO_MDIO_ADDR_MASK                          0x00ff0000
#define BCHP_USB_CTRL_MDIO_MDIO_ADDR_SHIFT                         16

/* USB_CTRL :: MDIO :: MDIO_DATA [15:00] */
#define BCHP_USB_CTRL_MDIO_MDIO_DATA_MASK                          0x0000ffff
#define BCHP_USB_CTRL_MDIO_MDIO_DATA_SHIFT                         0

/***************************************************************************
 *MDIO2 - MDIO Interface Read Register
 ***************************************************************************/
/* USB_CTRL :: MDIO2 :: SYNOPSIS_CORE_ID [31:16] */
#define BCHP_USB_CTRL_MDIO2_SYNOPSIS_CORE_ID_MASK                  0xffff0000
#define BCHP_USB_CTRL_MDIO2_SYNOPSIS_CORE_ID_SHIFT                 16

/* USB_CTRL :: MDIO2 :: MDIO_RD_DATA [15:00] */
#define BCHP_USB_CTRL_MDIO2_MDIO_RD_DATA_MASK                      0x0000ffff
#define BCHP_USB_CTRL_MDIO2_MDIO_RD_DATA_SHIFT                     0

/***************************************************************************
 *USB_SIMCTL - Simulation Register
 ***************************************************************************/
/* USB_CTRL :: USB_SIMCTL :: sim_mode_en [31:31] */
#define BCHP_USB_CTRL_USB_SIMCTL_sim_mode_en_MASK                  0x80000000
#define BCHP_USB_CTRL_USB_SIMCTL_sim_mode_en_SHIFT                 31

/* USB_CTRL :: USB_SIMCTL :: scale_down_en [30:30] */
#define BCHP_USB_CTRL_USB_SIMCTL_scale_down_en_MASK                0x40000000
#define BCHP_USB_CTRL_USB_SIMCTL_scale_down_en_SHIFT               30

/* USB_CTRL :: USB_SIMCTL :: utmi_bkward_en [29:29] */
#define BCHP_USB_CTRL_USB_SIMCTL_utmi_bkward_en_MASK               0x20000000
#define BCHP_USB_CTRL_USB_SIMCTL_utmi_bkward_en_SHIFT              29

/* USB_CTRL :: USB_SIMCTL :: utmi_pls_en [28:28] */
#define BCHP_USB_CTRL_USB_SIMCTL_utmi_pls_en_MASK                  0x10000000
#define BCHP_USB_CTRL_USB_SIMCTL_utmi_pls_en_SHIFT                 28

/* USB_CTRL :: USB_SIMCTL :: intr_test [27:27] */
#define BCHP_USB_CTRL_USB_SIMCTL_intr_test_MASK                    0x08000000
#define BCHP_USB_CTRL_USB_SIMCTL_intr_test_SHIFT                   27

/* USB_CTRL :: USB_SIMCTL :: pwrflt1_oe [26:26] */
#define BCHP_USB_CTRL_USB_SIMCTL_pwrflt1_oe_MASK                   0x04000000
#define BCHP_USB_CTRL_USB_SIMCTL_pwrflt1_oe_SHIFT                  26

/* USB_CTRL :: USB_SIMCTL :: pwrflt2_oe [25:25] */
#define BCHP_USB_CTRL_USB_SIMCTL_pwrflt2_oe_MASK                   0x02000000
#define BCHP_USB_CTRL_USB_SIMCTL_pwrflt2_oe_SHIFT                  25

/* USB_CTRL :: USB_SIMCTL :: pwron1_tstsel [24:24] */
#define BCHP_USB_CTRL_USB_SIMCTL_pwron1_tstsel_MASK                0x01000000
#define BCHP_USB_CTRL_USB_SIMCTL_pwron1_tstsel_SHIFT               24

/* USB_CTRL :: USB_SIMCTL :: pwron2_tstsel [23:23] */
#define BCHP_USB_CTRL_USB_SIMCTL_pwron2_tstsel_MASK                0x00800000
#define BCHP_USB_CTRL_USB_SIMCTL_pwron2_tstsel_SHIFT               23

/* USB_CTRL :: USB_SIMCTL :: test_clksel [22:21] */
#define BCHP_USB_CTRL_USB_SIMCTL_test_clksel_MASK                  0x00600000
#define BCHP_USB_CTRL_USB_SIMCTL_test_clksel_SHIFT                 21

/* USB_CTRL :: USB_SIMCTL :: pwrflt_tstsel [20:18] */
#define BCHP_USB_CTRL_USB_SIMCTL_pwrflt_tstsel_MASK                0x001c0000
#define BCHP_USB_CTRL_USB_SIMCTL_pwrflt_tstsel_SHIFT               18

/* USB_CTRL :: USB_SIMCTL :: SIMCTL_SPARE1 [17:17] */
#define BCHP_USB_CTRL_USB_SIMCTL_SIMCTL_SPARE1_MASK                0x00020000
#define BCHP_USB_CTRL_USB_SIMCTL_SIMCTL_SPARE1_SHIFT               17

/* USB_CTRL :: USB_SIMCTL :: AUTOPPD_ON_OVERCUR_EN [16:16] */
#define BCHP_USB_CTRL_USB_SIMCTL_AUTOPPD_ON_OVERCUR_EN_MASK        0x00010000
#define BCHP_USB_CTRL_USB_SIMCTL_AUTOPPD_ON_OVERCUR_EN_SHIFT       16

/* USB_CTRL :: USB_SIMCTL :: SIMCTL_SPARE2 [15:00] */
#define BCHP_USB_CTRL_USB_SIMCTL_SIMCTL_SPARE2_MASK                0x0000ffff
#define BCHP_USB_CTRL_USB_SIMCTL_SIMCTL_SPARE2_SHIFT               0

/***************************************************************************
 *USB_TESTCTL - Throutput Test Control
 ***************************************************************************/
/* USB_CTRL :: USB_TESTCTL :: TESTCTL_SPARE2 [31:24] */
#define BCHP_USB_CTRL_USB_TESTCTL_TESTCTL_SPARE2_MASK              0xff000000
#define BCHP_USB_CTRL_USB_TESTCTL_TESTCTL_SPARE2_SHIFT             24

/* USB_CTRL :: USB_TESTCTL :: TESTMON_RD_STRB [23:23] */
#define BCHP_USB_CTRL_USB_TESTCTL_TESTMON_RD_STRB_MASK             0x00800000
#define BCHP_USB_CTRL_USB_TESTCTL_TESTMON_RD_STRB_SHIFT            23

/* USB_CTRL :: USB_TESTCTL :: CTRLLER_SEL [22:21] */
#define BCHP_USB_CTRL_USB_TESTCTL_CTRLLER_SEL_MASK                 0x00600000
#define BCHP_USB_CTRL_USB_TESTCTL_CTRLLER_SEL_SHIFT                21

/* USB_CTRL :: USB_TESTCTL :: DCNT_EN [20:20] */
#define BCHP_USB_CTRL_USB_TESTCTL_DCNT_EN_MASK                     0x00100000
#define BCHP_USB_CTRL_USB_TESTCTL_DCNT_EN_SHIFT                    20

/* USB_CTRL :: USB_TESTCTL :: SPEED_SEL [19:19] */
#define BCHP_USB_CTRL_USB_TESTCTL_SPEED_SEL_MASK                   0x00080000
#define BCHP_USB_CTRL_USB_TESTCTL_SPEED_SEL_SHIFT                  19

/* USB_CTRL :: USB_TESTCTL :: DCNT_SEL [18:16] */
#define BCHP_USB_CTRL_USB_TESTCTL_DCNT_SEL_MASK                    0x00070000
#define BCHP_USB_CTRL_USB_TESTCTL_DCNT_SEL_SHIFT                   16

/* USB_CTRL :: USB_TESTCTL :: TESTCTL_SPARE1 [15:10] */
#define BCHP_USB_CTRL_USB_TESTCTL_TESTCTL_SPARE1_MASK              0x0000fc00
#define BCHP_USB_CTRL_USB_TESTCTL_TESTCTL_SPARE1_SHIFT             10

/* USB_CTRL :: USB_TESTCTL :: MSEC_PRESCALER [09:00] */
#define BCHP_USB_CTRL_USB_TESTCTL_MSEC_PRESCALER_MASK              0x000003ff
#define BCHP_USB_CTRL_USB_TESTCTL_MSEC_PRESCALER_SHIFT             0

/***************************************************************************
 *USB_TESTMON - Throughput Test Monitor
 ***************************************************************************/
/* USB_CTRL :: USB_TESTMON :: TESTMON_STAT [31:00] */
#define BCHP_USB_CTRL_USB_TESTMON_TESTMON_STAT_MASK                0xffffffff
#define BCHP_USB_CTRL_USB_TESTMON_TESTMON_STAT_SHIFT               0

/***************************************************************************
 *UTMI_CTL_2 - UTMI Control 2 Register
 ***************************************************************************/
/* USB_CTRL :: UTMI_CTL_2 :: UTMI2_SPARE [31:03] */
#define BCHP_USB_CTRL_UTMI_CTL_2_UTMI2_SPARE_MASK                  0xfffffff8
#define BCHP_USB_CTRL_UTMI_CTL_2_UTMI2_SPARE_SHIFT                 3

/* USB_CTRL :: UTMI_CTL_2 :: otg_scaledown_en [02:01] */
#define BCHP_USB_CTRL_UTMI_CTL_2_otg_scaledown_en_MASK             0x00000006
#define BCHP_USB_CTRL_UTMI_CTL_2_otg_scaledown_en_SHIFT            1

/* USB_CTRL :: UTMI_CTL_2 :: OTG_IDDIG [00:00] */
#define BCHP_USB_CTRL_UTMI_CTL_2_OTG_IDDIG_MASK                    0x00000001
#define BCHP_USB_CTRL_UTMI_CTL_2_OTG_IDDIG_SHIFT                   0

/***************************************************************************
 *GENERIC_CTL_1 - GENERIC Control 1 Register
 ***************************************************************************/
/* USB_CTRL :: GENERIC_CTL_1 :: GENERIC_SPARE1 [31:20] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_GENERIC_SPARE1_MASK            0xfff00000
#define BCHP_USB_CTRL_GENERIC_CTL_1_GENERIC_SPARE1_SHIFT           20

/* USB_CTRL :: GENERIC_CTL_1 :: SCALEDOWN [19:18] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_SCALEDOWN_MASK                 0x000c0000
#define BCHP_USB_CTRL_GENERIC_CTL_1_SCALEDOWN_SHIFT                18

/* USB_CTRL :: GENERIC_CTL_1 :: CHIRP_RX [17:17] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_CHIRP_RX_MASK                  0x00020000
#define BCHP_USB_CTRL_GENERIC_CTL_1_CHIRP_RX_SHIFT                 17

/* USB_CTRL :: GENERIC_CTL_1 :: CLK_60_INVERT [16:16] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_CLK_60_INVERT_MASK             0x00010000
#define BCHP_USB_CTRL_GENERIC_CTL_1_CLK_60_INVERT_SHIFT            16

/* USB_CTRL :: GENERIC_CTL_1 :: SYNC_DET_LENG [15:13] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_SYNC_DET_LENG_MASK             0x0000e000
#define BCHP_USB_CTRL_GENERIC_CTL_1_SYNC_DET_LENG_SHIFT            13

/* USB_CTRL :: GENERIC_CTL_1 :: TX_PHASE [12:12] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_TX_PHASE_MASK                  0x00001000
#define BCHP_USB_CTRL_GENERIC_CTL_1_TX_PHASE_SHIFT                 12

/* USB_CTRL :: GENERIC_CTL_1 :: AFE_CHRPTEN1 [11:11] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_CHRPTEN1_MASK              0x00000800
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_CHRPTEN1_SHIFT             11

/* USB_CTRL :: GENERIC_CTL_1 :: AFE_LPBACK [10:10] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_LPBACK_MASK                0x00000400
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_LPBACK_SHIFT               10

/* USB_CTRL :: GENERIC_CTL_1 :: AFE_CDRCKEN [09:09] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_CDRCKEN_MASK               0x00000200
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_CDRCKEN_SHIFT              9

/* USB_CTRL :: GENERIC_CTL_1 :: CROSS_OVER_FIX [08:08] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_CROSS_OVER_FIX_MASK            0x00000100
#define BCHP_USB_CTRL_GENERIC_CTL_1_CROSS_OVER_FIX_SHIFT           8

/* USB_CTRL :: GENERIC_CTL_1 :: HS_CURRENT [07:07] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_HS_CURRENT_MASK                0x00000080
#define BCHP_USB_CTRL_GENERIC_CTL_1_HS_CURRENT_SHIFT               7

/* USB_CTRL :: GENERIC_CTL_1 :: USB11_REST_ECN_EN [06:06] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_USB11_REST_ECN_EN_MASK         0x00000040
#define BCHP_USB_CTRL_GENERIC_CTL_1_USB11_REST_ECN_EN_SHIFT        6

/* USB_CTRL :: GENERIC_CTL_1 :: UTMI_LOOPBACK_EN [05:05] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_UTMI_LOOPBACK_EN_MASK          0x00000020
#define BCHP_USB_CTRL_GENERIC_CTL_1_UTMI_LOOPBACK_EN_SHIFT         5

/* USB_CTRL :: GENERIC_CTL_1 :: AFE_RXLOGICR [04:04] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_RXLOGICR_MASK              0x00000010
#define BCHP_USB_CTRL_GENERIC_CTL_1_AFE_RXLOGICR_SHIFT             4

/* USB_CTRL :: GENERIC_CTL_1 :: IOST [03:02] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_IOST_MASK                      0x0000000c
#define BCHP_USB_CTRL_GENERIC_CTL_1_IOST_SHIFT                     2

/* USB_CTRL :: GENERIC_CTL_1 :: PLL_SUSPEND_EN [01:01] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_PLL_SUSPEND_EN_MASK            0x00000002
#define BCHP_USB_CTRL_GENERIC_CTL_1_PLL_SUSPEND_EN_SHIFT           1

/* USB_CTRL :: GENERIC_CTL_1 :: PLL_LOCK_DIS [00:00] */
#define BCHP_USB_CTRL_GENERIC_CTL_1_PLL_LOCK_DIS_MASK              0x00000001
#define BCHP_USB_CTRL_GENERIC_CTL_1_PLL_LOCK_DIS_SHIFT             0

/***************************************************************************
 *USB_RAM_TEST_CTL - RAM Test Control Register
 ***************************************************************************/
/* USB_CTRL :: USB_RAM_TEST_CTL :: RAM_TEST_SPARE [31:28] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_RAM_TEST_SPARE_MASK         0xf0000000
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_RAM_TEST_SPARE_SHIFT        28

/* USB_CTRL :: USB_RAM_TEST_CTL :: TM_OTG_SPRAM [27:24] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TM_OTG_SPRAM_MASK           0x0f000000
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TM_OTG_SPRAM_SHIFT          24

/* USB_CTRL :: USB_RAM_TEST_CTL :: TMB_u3 [23:20] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMB_u3_MASK                 0x00f00000
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMB_u3_SHIFT                20

/* USB_CTRL :: USB_RAM_TEST_CTL :: TMA_u3 [19:16] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMA_u3_MASK                 0x000f0000
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMA_u3_SHIFT                16

/* USB_CTRL :: USB_RAM_TEST_CTL :: TMB_u2 [15:12] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMB_u2_MASK                 0x0000f000
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMB_u2_SHIFT                12

/* USB_CTRL :: USB_RAM_TEST_CTL :: TMA_u2 [11:08] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMA_u2_MASK                 0x00000f00
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMA_u2_SHIFT                8

/* USB_CTRL :: USB_RAM_TEST_CTL :: TMB_u1 [07:04] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMB_u1_MASK                 0x000000f0
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMB_u1_SHIFT                4

/* USB_CTRL :: USB_RAM_TEST_CTL :: TMA_u1 [03:00] */
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMA_u1_MASK                 0x0000000f
#define BCHP_USB_CTRL_USB_RAM_TEST_CTL_TMA_u1_SHIFT                0

/***************************************************************************
 *SPARE1 - Spare1 Register for future use
 ***************************************************************************/
/* USB_CTRL :: SPARE1 :: SPARE1_BITS [31:00] */
#define BCHP_USB_CTRL_SPARE1_SPARE1_BITS_MASK                      0xffffffff
#define BCHP_USB_CTRL_SPARE1_SPARE1_BITS_SHIFT                     0

/***************************************************************************
 *SPARE2 - Spare2 Register for future use
 ***************************************************************************/
/* USB_CTRL :: SPARE2 :: SPARE2_BITS [31:00] */
#define BCHP_USB_CTRL_SPARE2_SPARE2_BITS_MASK                      0xffffffff
#define BCHP_USB_CTRL_SPARE2_SPARE2_BITS_SHIFT                     0

#endif /* #ifndef BCHP_USB_CTRL_H__ */

/* End of File */
