#ifndef _HV_PAGE_HT7315_KV_TOP_CTRL_H_
#define _HV_PAGE_HT7315_KV_TOP_CTRL_H_

#ifndef HV_KV_TOP_CTRL_BASE_ADDRESS
    #define HV_KV_TOP_CTRL_BASE_ADDRESS                                         0x11060000
#endif


#define OSD_KV_TOP_CTRL_10                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x10)

#define OSD_KV_TOP_CTRL_10_struct                                        rs_osd_kv_top_ctrl_10

typedef struct _rs_osd_kv_top_ctrl_10  rs_osd_kv_top_ctrl_10;
struct _rs_osd_kv_top_ctrl_10 {
    unsigned int alpha_ctrl_win01                           : 2;
    unsigned int alpha_select_win01                         : 2;
    unsigned int alpha_set_win01                            : 1;
    unsigned int alpha_coef_win01                           : 1;
    unsigned int alpha_bg_output_win01                      : 1;
    unsigned int alpha_switch_win01                         : 1;
    unsigned int alpha_value_win01                          : 8;
    unsigned int bg_color_win01                             :16;
};
#define osd_kv_top_ctrl_10(val) ((rs_osd_kv_top_ctrl_10*)&(val))



#define OSD_KV_TOP_CTRL_14                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x14)

#define OSD_KV_TOP_CTRL_14_struct                                        rs_osd_kv_top_ctrl_14

typedef struct _rs_osd_kv_top_ctrl_14  rs_osd_kv_top_ctrl_14;
struct _rs_osd_kv_top_ctrl_14 {
    unsigned int alpha_ctrl_win23                           : 2;
    unsigned int alpha_select_win23                         : 2;
    unsigned int alpha_set_win23                            : 1;
    unsigned int alpha_coef_win23                           : 1;
    unsigned int alpha_bg_output_win23                      : 1;
    unsigned int alpha_switch_win23                         : 1;
    unsigned int alpha_value_win23                          : 8;
    unsigned int bg_color_win23                             :16;
};
#define osd_kv_top_ctrl_14(val) ((rs_osd_kv_top_ctrl_14*)&(val))



#define OSD_KV_TOP_CTRL_18                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x18)

#define OSD_KV_TOP_CTRL_18_struct                                        rs_osd_kv_top_ctrl_18

typedef struct _rs_osd_kv_top_ctrl_18  rs_osd_kv_top_ctrl_18;
struct _rs_osd_kv_top_ctrl_18 {
    unsigned int alpha_ctrl_win03                           : 2;
    unsigned int alpha_select_win03                         : 2;
    unsigned int alpha_set_win03                            : 1;
    unsigned int alpha_coef_win03                           : 1;
    unsigned int alpha_bg_output_win03                      : 1;
    unsigned int alpha_switch_win03                         : 1;
    unsigned int alpha_value_win03                          : 8;
    unsigned int bg_color_win03                             :16;
};
#define osd_kv_top_ctrl_18(val) ((rs_osd_kv_top_ctrl_18*)&(val))



#define OSD_KV_TOP_CTRL_1C                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x1C)

#define OSD_KV_TOP_CTRL_1C_struct                                        rs_osd_kv_top_ctrl_1c

typedef struct _rs_osd_kv_top_ctrl_1c  rs_osd_kv_top_ctrl_1c;
struct _rs_osd_kv_top_ctrl_1c {
    unsigned int alpha_ctrl_win_rect                        : 2;
    unsigned int alpha_select_win_rect                      : 2;
    unsigned int alpha_set_win_rect                         : 1;
    unsigned int alpha_coef_win_rect                        : 1;
    unsigned int alpha_bg_output_win_rect                   : 1;
    unsigned int alpha_switch_win_rect                      : 1;
    unsigned int alpha_value_win_rect                       : 8;
    unsigned int bg_color_win_rect                          :16;
};
#define osd_kv_top_ctrl_1c(val) ((rs_osd_kv_top_ctrl_1c*)&(val))



#define OSD_KV_TOP_CTRL_20                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x20)

#define OSD_KV_TOP_CTRL_20_struct                                        rs_osd_kv_top_ctrl_20

typedef struct _rs_osd_kv_top_ctrl_20  rs_osd_kv_top_ctrl_20;
struct _rs_osd_kv_top_ctrl_20 {
    unsigned int ch_select_win_rectx                        : 1;
    unsigned int reserved                                   : 2;
    unsigned int output_alpha_ctrl_win_rectx                : 1;
    unsigned int reserved_1                                 :12;
    unsigned int rect_alpha_bg_win_rectx                    : 8;
    unsigned int rect_alpha_win_rectx                       : 8;
};
#define osd_kv_top_ctrl_20(val) ((rs_osd_kv_top_ctrl_20*)&(val))



#define OSD_KV_TOP_CTRL_28                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x28)

#define OSD_KV_TOP_CTRL_28_struct                                        rs_osd_kv_top_ctrl_28

typedef struct _rs_osd_kv_top_ctrl_28  rs_osd_kv_top_ctrl_28;
struct _rs_osd_kv_top_ctrl_28 {
    unsigned int rgb_max_en                                 : 1;
    unsigned int win3_bld_en                                : 1;
    unsigned int reserved                                   :30;
};
#define osd_kv_top_ctrl_28(val) ((rs_osd_kv_top_ctrl_28*)&(val))



#define OSD_KV_TOP_CTRL_2C                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x2C)

#define OSD_KV_TOP_CTRL_2C_struct                                        rs_osd_kv_top_ctrl_2c

typedef struct _rs_osd_kv_top_ctrl_2c  rs_osd_kv_top_ctrl_2c;
struct _rs_osd_kv_top_ctrl_2c {
    unsigned int index_buffer_delay                         :32;
};
#define osd_kv_top_ctrl_2c(val) ((rs_osd_kv_top_ctrl_2c*)&(val))



#define OSD_KV_TOP_CTRL_30                                               (HV_KV_TOP_CTRL_BASE_ADDRESS + 0x30)

#define OSD_KV_TOP_CTRL_30_struct                                        rs_osd_kv_top_ctrl_30

typedef struct _rs_osd_kv_top_ctrl_30  rs_osd_kv_top_ctrl_30;
struct _rs_osd_kv_top_ctrl_30 {
    unsigned int resource_buffer_delay                      :32;
};
#define osd_kv_top_ctrl_30(val) ((rs_osd_kv_top_ctrl_30*)&(val))



#endif