text: /**********************************************************************************************
   **********************************************************************************************
   *                                                                                            *
   *  Revision      :   *
   *                                                                                            *
   *  Description   :  Read/Write macros to Merlin16 IP's uC RAM's User variables               *
   *                                                                                            *
   * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
   * 
   * Copyright 2007-2020 Broadcom Inc. All rights reserved.                                                                      *
   *  No portions of this material may be reproduced in any form without                        *
   *  the written permission of:                                                                *
   *      Broadcom Corporation                                                                  *
   *      5300 California Avenue                                                                *
   *      Irvine, CA  92617                                                                     *
   *                                                                                            *
   *  All information contained in this document is Broadcom Corporation                        *
   *  company private proprietary, and trade secret.                                            *
   */
  
  /** @file merlin16_api_uc_vars_rdwr_defns.h
   * Read/Write macros to Merlin16 IP's uC RAM's User variables
   */
  
  /* THIS FILE IS GENERATED USING AN AUTOMATED SCRIPT... PLEASE DO NOT EDIT THIS FILE DIRECTLY !!! */
  
  
  #ifndef MERLIN16_API_UC_VARS_RDWR_DEFNS_PUBLIC_H
  #define MERLIN16_API_UC_VARS_RDWR_DEFNS_PUBLIC_H
  
  /************************************/
  /*  Serdes IP RAM access functions  */
  /************************************/
  
  /* RAM access functions for lane_var_struct variables */
  #define rdv_merlin16_pcieg3_config_word(sa__)                                              merlin16_pcieg3_rdwl_uc_var(sa__,__ERR,0x0)
  #define wrv_merlin16_pcieg3_config_word(sa__, wr_val)                                      merlin16_pcieg3_wrwl_uc_var(sa__,0x0,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_retune_after_restart(sa__)                            merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x2)
  #define wrv_merlin16_pcieg3_usr_ctrl_retune_after_restart(sa__, wr_val)                    merlin16_pcieg3_wrbl_uc_var(sa__,0x2,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_clk90_offset_adjust(sa__)                             merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x3)
  #define wrv_merlin16_pcieg3_usr_ctrl_clk90_offset_adjust(sa__, wr_val)                     merlin16_pcieg3_wrbl_uc_var(sa__,0x3,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_clk90_offset_override(sa__)                           merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x4)
  #define wrv_merlin16_pcieg3_usr_ctrl_clk90_offset_override(sa__, wr_val)                   merlin16_pcieg3_wrbl_uc_var(sa__,0x4,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_lane_event_log_level(sa__)                            merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x5)
  #define wrv_merlin16_pcieg3_usr_ctrl_lane_event_log_level(sa__, wr_val)                    merlin16_pcieg3_wrbl_uc_var(sa__,0x5,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_disable_startup_functions_byte(sa__)                  merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x6)
  #define wrv_merlin16_pcieg3_usr_ctrl_disable_startup_functions_byte(sa__, wr_val)          merlin16_pcieg3_wrbl_uc_var(sa__,0x6,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_disable_startup_dfe_functions_byte(sa__)              merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x7)
  #define wrv_merlin16_pcieg3_usr_ctrl_disable_startup_dfe_functions_byte(sa__, wr_val)      merlin16_pcieg3_wrbl_uc_var(sa__,0x7,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_disable_steady_state_functions_byte(sa__)             merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x8)
  #define wrv_merlin16_pcieg3_usr_ctrl_disable_steady_state_functions_byte(sa__, wr_val)     merlin16_pcieg3_wrbl_uc_var(sa__,0x8,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_disable_steady_state_dfe_functions_byte(sa__)         merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x9)
  #define wrv_merlin16_pcieg3_usr_ctrl_disable_steady_state_dfe_functions_byte(sa__, wr_val) merlin16_pcieg3_wrbl_uc_var(sa__,0x9,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_restart_counter(sa__)                                  merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0xa)
  #define wrv_merlin16_pcieg3_usr_sts_restart_counter(sa__, wr_val)                          merlin16_pcieg3_wrbl_uc_var(sa__,0xa,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_reset_counter(sa__)                                    merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0xb)
  #define wrv_merlin16_pcieg3_usr_sts_reset_counter(sa__, wr_val)                            merlin16_pcieg3_wrbl_uc_var(sa__,0xb,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_pmd_lock_counter(sa__)                                 merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0xc)
  #define wrv_merlin16_pcieg3_usr_sts_pmd_lock_counter(sa__, wr_val)                         merlin16_pcieg3_wrbl_uc_var(sa__,0xc,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_heye_left(sa__)                                        merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0xd)
  #define wrv_merlin16_pcieg3_usr_sts_heye_left(sa__, wr_val)                                merlin16_pcieg3_wrbl_uc_var(sa__,0xd,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_heye_right(sa__)                                       merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0xe)
  #define wrv_merlin16_pcieg3_usr_sts_heye_right(sa__, wr_val)                               merlin16_pcieg3_wrbl_uc_var(sa__,0xe,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_veye_upper(sa__)                                       merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0xf)
  #define wrv_merlin16_pcieg3_usr_sts_veye_upper(sa__, wr_val)                               merlin16_pcieg3_wrbl_uc_var(sa__,0xf,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_veye_lower(sa__)                                       merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x10)
  #define wrv_merlin16_pcieg3_usr_sts_veye_lower(sa__, wr_val)                               merlin16_pcieg3_wrbl_uc_var(sa__,0x10,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_micro_stopped(sa__)                                    merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x11)
  #define wrv_merlin16_pcieg3_usr_sts_micro_stopped(sa__, wr_val)                            merlin16_pcieg3_wrbl_uc_var(sa__,0x11,wr_val)
  #define rdv_merlin16_pcieg3_usr_sts_link_time(sa__)                                        merlin16_pcieg3_rdwl_uc_var(sa__,__ERR,0x12)
  #define wrv_merlin16_pcieg3_usr_sts_link_time(sa__, wr_val)                                merlin16_pcieg3_wrwl_uc_var(sa__,0x12,wr_val)
  #define rdv_merlin16_pcieg3_usr_diag_status(sa__)                                          merlin16_pcieg3_rdwl_uc_var(sa__,__ERR,0x14)
  #define wrv_merlin16_pcieg3_usr_diag_status(sa__, wr_val)                                  merlin16_pcieg3_wrwl_uc_var(sa__,0x14,wr_val)
  #define rdv_merlin16_pcieg3_usr_diag_rd_ptr(sa__)                                          merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x16)
  #define wrv_merlin16_pcieg3_usr_diag_rd_ptr(sa__, wr_val)                                  merlin16_pcieg3_wrbl_uc_var(sa__,0x16,wr_val)
  #define rdv_merlin16_pcieg3_usr_diag_mode(sa__)                                            merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x17)
  #define wrv_merlin16_pcieg3_usr_diag_mode(sa__, wr_val)                                    merlin16_pcieg3_wrbl_uc_var(sa__,0x17,wr_val)
  #define rdv_merlin16_pcieg3_usr_var_msb(sa__)                                              merlin16_pcieg3_rdwl_uc_var(sa__,__ERR,0x18)
  #define wrv_merlin16_pcieg3_usr_var_msb(sa__, wr_val)                                      merlin16_pcieg3_wrwl_uc_var(sa__,0x18,wr_val)
  #define rdv_merlin16_pcieg3_usr_var_lsb(sa__)                                              merlin16_pcieg3_rdwl_uc_var(sa__,__ERR,0x1a)
  #define wrv_merlin16_pcieg3_usr_var_lsb(sa__, wr_val)                                      merlin16_pcieg3_wrwl_uc_var(sa__,0x1a,wr_val)
  #define rdv_merlin16_pcieg3_usr_diag_wr_ptr(sa__)                                          merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x1c)
  #define wrv_merlin16_pcieg3_usr_diag_wr_ptr(sa__, wr_val)                                  merlin16_pcieg3_wrbl_uc_var(sa__,0x1c,wr_val)
  #define rdv_merlin16_pcieg3_usr_ctrl_cl72_frc_byte(sa__)                                   merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x1d)
  #define wrv_merlin16_pcieg3_usr_ctrl_cl72_frc_byte(sa__, wr_val)                           merlin16_pcieg3_wrbl_uc_var(sa__,0x1d,wr_val)
  #define rdv_merlin16_pcieg3_status_byte(sa__)                                              merlin16_pcieg3_rdbl_uc_var(sa__,__ERR,0x47)
  #define wrv_merlin16_pcieg3_status_byte(sa__, wr_val)                                      merlin16_pcieg3_wrbl_uc_var(sa__,0x47,wr_val)
  
  /* RAM access functions for core_var_struct variables */
  #define rdcv_merlin16_pcieg3_config_word(sa__)                                             merlin16_pcieg3_rdwc_uc_var(sa__,__ERR,0x0)
  #define wrcv_merlin16_pcieg3_config_word(sa__, wr_val)                                     merlin16_pcieg3_wrwc_uc_var(sa__,0x0,wr_val)
  #define rdcv_merlin16_pcieg3_dummy(sa__)                                                   merlin16_pcieg3_rdwc_uc_var(sa__,__ERR,0x2)
  #define wrcv_merlin16_pcieg3_dummy(sa__, wr_val)                                           merlin16_pcieg3_wrwc_uc_var(sa__,0x2,wr_val)
  #define rdcv_merlin16_pcieg3_common_ucode_version(sa__)                                    merlin16_pcieg3_rdwc_uc_var(sa__,__ERR,0x4)
  #define wrcv_merlin16_pcieg3_common_ucode_version(sa__, wr_val)                            merlin16_pcieg3_wrwc_uc_var(sa__,0x4,wr_val)
  #define rdcv_merlin16_pcieg3_avg_tmon_reg13bit(sa__)                                       merlin16_pcieg3_rdwc_uc_var(sa__,__ERR,0x6)
  #define wrcv_merlin16_pcieg3_avg_tmon_reg13bit(sa__, wr_val)                               merlin16_pcieg3_wrwc_uc_var(sa__,0x6,wr_val)
  #define rdcv_merlin16_pcieg3_trace_mem_rd_idx(sa__)                                        merlin16_pcieg3_rdwc_uc_var(sa__,__ERR,0x8)
  #define wrcv_merlin16_pcieg3_trace_mem_rd_idx(sa__, wr_val)                                merlin16_pcieg3_wrwc_uc_var(sa__,0x8,wr_val)
  #define rdcv_merlin16_pcieg3_trace_mem_wr_idx(sa__)                                        merlin16_pcieg3_rdwc_uc_var(sa__,__ERR,0xa)
  #define wrcv_merlin16_pcieg3_trace_mem_wr_idx(sa__, wr_val)                                merlin16_pcieg3_wrwc_uc_var(sa__,0xa,wr_val)
  #define rdcv_merlin16_pcieg3_temp_idx(sa__)                                                merlin16_pcieg3_rdbc_uc_var(sa__,__ERR,0xc)
  #define wrcv_merlin16_pcieg3_temp_idx(sa__, wr_val)                                        merlin16_pcieg3_wrbc_uc_var(sa__,0xc,wr_val)
  #define rdcv_merlin16_pcieg3_usr_ctrl_core_event_log_level(sa__)                           merlin16_pcieg3_rdbc_uc_var(sa__,__ERR,0xd)
  #define wrcv_merlin16_pcieg3_usr_ctrl_core_event_log_level(sa__, wr_val)                   merlin16_pcieg3_wrbc_uc_var(sa__,0xd,wr_val)
  #define rdcv_merlin16_pcieg3_common_ucode_minor_version(sa__)                              merlin16_pcieg3_rdbc_uc_var(sa__,__ERR,0xe)
  #define wrcv_merlin16_pcieg3_common_ucode_minor_version(sa__, wr_val)                      merlin16_pcieg3_wrbc_uc_var(sa__,0xe,wr_val)
  #define rdcv_merlin16_pcieg3_afe_hardware_version(sa__)                                    merlin16_pcieg3_rdbc_uc_var(sa__,__ERR,0xf)
  #define wrcv_merlin16_pcieg3_afe_hardware_version(sa__, wr_val)                            merlin16_pcieg3_wrbc_uc_var(sa__,0xf,wr_val)
  #define rdcv_merlin16_pcieg3_status_byte(sa__)                                             merlin16_pcieg3_rdbc_uc_var(sa__,__ERR,0x10)
  #define wrcv_merlin16_pcieg3_status_byte(sa__, wr_val)                                     merlin16_pcieg3_wrbc_uc_var(sa__,0x10,wr_val)
  #define rdcv_merlin16_pcieg3_diag_max_time_control(sa__)                                   merlin16_pcieg3_rdbc_uc_var(sa__,__ERR,0x11)
  #define wrcv_merlin16_pcieg3_diag_max_time_control(sa__, wr_val)                           merlin16_pcieg3_wrbc_uc_var(sa__,0x11,wr_val)
  #define rdcv_merlin16_pcieg3_diag_max_err_control(sa__)                                    merlin16_pcieg3_rdbc_uc_var(sa__,__ERR,0x12)
  #define wrcv_merlin16_pcieg3_diag_max_err_control(sa__, wr_val)                            merlin16_pcieg3_wrbc_uc_var(sa__,0x12,wr_val)
  
  #endif
  