#ifndef _HV_PAGE_HT7315_USB_PHY_TOP_H_
#define _HV_PAGE_HT7315_USB_PHY_TOP_H_

#ifndef HV_USB_PHY_TOP_BASE_ADDRESS
    #define HV_USB_PHY_TOP_BASE_ADDRESS                                         0x11090400
#endif


#define USB_TOP_USB_PHY_TOP_00                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x00)

#define USB_TOP_USB_PHY_TOP_00_struct                                    rs_usb_top_usb_phy_top_00

typedef struct _rs_usb_top_usb_phy_top_00  rs_usb_top_usb_phy_top_00;
struct _rs_usb_top_usb_phy_top_00 {
    unsigned int reg_vcontrol                               : 4;
    unsigned int reg_utmi_vcontrolloadm                     : 1;
    unsigned int reg_txbitstuffenable                       : 1;
    unsigned int reg_txbitstuffenableh                      : 1;
    unsigned int reg_tx_enable_n                            : 1;
    unsigned int reg_tx_dat                                 : 1;
    unsigned int reg_tx_se0                                 : 1;
    unsigned int reg_fslsserialmode                         : 1;
    unsigned int reg_pll_en                                 : 1;
    unsigned int reg_oscouten                               : 1;
    unsigned int reg_lpm_alive                              : 1;
    unsigned int reg_hs_bist_mode                           : 1;
    unsigned int reg_xtlsel                                 : 3;
    unsigned int reg_outclksel                              : 1;
    unsigned int reg_external_test_mode                     : 1;
    unsigned int reg_ls_en                                  : 1;
    unsigned int reg_utmi_databus16_8                       : 1;
    unsigned int reg_utmi_txvalidh                          : 1;
    unsigned int reg_debug_outclk_select                    : 3;
    unsigned int reg_usb_debug_sel                          : 3;
    unsigned int reserved                                   : 3;
};
#define usb_top_usb_phy_top_00(val) ((rs_usb_top_usb_phy_top_00*)&(val))



#define USB_TOP_USB_PHY_TOP_04                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x04)

#define USB_TOP_USB_PHY_TOP_04_struct                                    rs_usb_top_usb_phy_top_04

typedef struct _rs_usb_top_usb_phy_top_04  rs_usb_top_usb_phy_top_04;
struct _rs_usb_top_usb_phy_top_04 {
    unsigned int reg_xcfgi_31_0                             :32;
};
#define usb_top_usb_phy_top_04(val) ((rs_usb_top_usb_phy_top_04*)&(val))



#define USB_TOP_USB_PHY_TOP_08                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x08)

#define USB_TOP_USB_PHY_TOP_08_struct                                    rs_usb_top_usb_phy_top_08

typedef struct _rs_usb_top_usb_phy_top_08  rs_usb_top_usb_phy_top_08;
struct _rs_usb_top_usb_phy_top_08 {
    unsigned int reg_xcfgi_63_32                            :32;
};
#define usb_top_usb_phy_top_08(val) ((rs_usb_top_usb_phy_top_08*)&(val))



#define USB_TOP_USB_PHY_TOP_0C                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x0C)

#define USB_TOP_USB_PHY_TOP_0C_struct                                    rs_usb_top_usb_phy_top_0c

typedef struct _rs_usb_top_usb_phy_top_0c  rs_usb_top_usb_phy_top_0c;
struct _rs_usb_top_usb_phy_top_0c {
    unsigned int reg_xcfgi_73_64                            :10;
    unsigned int reg_xcfg_coarse_tune_num                   : 3;
    unsigned int reg_xcfg_fine_tune_num                     : 3;
    unsigned int reg_xcfg_lock_range_max                    : 3;
    unsigned int reg_xcfg_lock_range_min                    : 3;
    unsigned int reg_debug_sel                              : 4;
    unsigned int reserved                                   : 6;
};
#define usb_top_usb_phy_top_0c(val) ((rs_usb_top_usb_phy_top_0c*)&(val))



#define USB_TOP_USB_PHY_TOP_10                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x10)

#define USB_TOP_USB_PHY_TOP_10_struct                                    rs_usb_top_usb_phy_top_10

typedef struct _rs_usb_top_usb_phy_top_10  rs_usb_top_usb_phy_top_10;
struct _rs_usb_top_usb_phy_top_10 {
    unsigned int reg_cc_en                                  : 1;
    unsigned int reg_cc_host_en                             : 1;
    unsigned int reg_cc_rp_3d0_en                           : 1;
    unsigned int reg_cc_rp_1d5_en                           : 1;
    unsigned int reg_cc_rp_0d9_en                           : 1;
    unsigned int reg_bc_en                                  : 1;
    unsigned int reg_dcd_en                                 : 1;
    unsigned int reg_dm_cmp_en                              : 1;
    unsigned int reg_vdm_src_en                             : 1;
    unsigned int reg_dp_cmp_en                              : 1;
    unsigned int reg_vdp_src_en                             : 1;
    unsigned int reg_id_pad_en                              : 1;
    unsigned int reg_scan_se                                : 1;
    unsigned int reserved                                   :19;
};
#define usb_top_usb_phy_top_10(val) ((rs_usb_top_usb_phy_top_10*)&(val))



#define USB_TOP_USB_PHY_TOP_14                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x14)

#define USB_TOP_USB_PHY_TOP_14_struct                                    rs_usb_top_usb_phy_top_14

typedef struct _rs_usb_top_usb_phy_top_14  rs_usb_top_usb_phy_top_14;
struct _rs_usb_top_usb_phy_top_14 {
    unsigned int reg_usb_mac_mem_bist                       :21;
    unsigned int reg_usb_mac_tm1                            : 1;
    unsigned int reg_usb_mac_rstn                           : 1;
    unsigned int reg_usb_mac_vbusvalid                      : 1;
    unsigned int reg_usb_mac_avalid                         : 1;
    unsigned int reg_usb_mac_sessend                        : 1;
    unsigned int reg_test_si1                               : 1;
    unsigned int reg_test_si2                               : 1;
    unsigned int reg_test_si3                               : 1;
    unsigned int reg_test_si4                               : 1;
    unsigned int reg_id_mux                                 : 1;
    unsigned int reg_id_out                                 : 1;
};
#define usb_top_usb_phy_top_14(val) ((rs_usb_top_usb_phy_top_14*)&(val))



#define USB_TOP_USB_PHY_TOP_18                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x18)

#define USB_TOP_USB_PHY_TOP_18_struct                                    rs_usb_top_usb_phy_top_18

typedef struct _rs_usb_top_usb_phy_top_18  rs_usb_top_usb_phy_top_18;
struct _rs_usb_top_usb_phy_top_18 {
    unsigned int regr_rx_rcv                                : 1;
    unsigned int regr_rx_dp                                 : 1;
    unsigned int regr_rx_dm                                 : 1;
    unsigned int regr_bist_ok                               : 1;
    unsigned int regr_debug_out                             :16;
    unsigned int regr_xcfgo                                 : 8;
    unsigned int regr_dp_det                                : 1;
    unsigned int regr_chg_det                               : 1;
    unsigned int regr_id_pad_ena                            : 1;
    unsigned int reserved                                   : 1;
};
#define usb_top_usb_phy_top_18(val) ((rs_usb_top_usb_phy_top_18*)&(val))



#define USB_TOP_USB_PHY_TOP_1C                                           (HV_USB_PHY_TOP_BASE_ADDRESS + 0x1C)

#define USB_TOP_USB_PHY_TOP_1C_struct                                    rs_usb_top_usb_phy_top_1c

typedef struct _rs_usb_top_usb_phy_top_1c  rs_usb_top_usb_phy_top_1c;
struct _rs_usb_top_usb_phy_top_1c {
    unsigned int regr_test_so1                              : 1;
    unsigned int regr_test_so2                              : 1;
    unsigned int regr_test_so3                              : 1;
    unsigned int regr_test_so4                              : 1;
    unsigned int regr_usb_mac_clk_powerdwn                  : 1;
    unsigned int regr_usb_mac_drvvbus                       : 1;
    unsigned int regr_usb_mac_chrgvbus                      : 1;
    unsigned int regr_usb_mac_dischrgvbus                   : 1;
    unsigned int regr_idpullup                              : 1;
    unsigned int regr_utmi_rxvalidh                         : 1;
    unsigned int reserved                                   :22;
};
#define usb_top_usb_phy_top_1c(val) ((rs_usb_top_usb_phy_top_1c*)&(val))



#endif