/*                                                                          */
/* Function    : define DSP<-->CPU commands that are used for more than one  */
/*               project                                                    */

#include  "windef.h"
#include  "mbdr_dsp_common_type_def.h"

#ifndef  _MBDR_DSP_CPU_COMMON_HWIMAGE_H
#define  _MBDR_DSP_CPU_COMMON_HWIMAGE_H

enum MBDR_DSP_RE_SYNCHRONIZATION_REQUEST_T
    {MBDR_DSP_RE_SYNCHRONIZATION_REQUEST_T_NO_REQUEST,
	 MBDR_DSP_RE_SYNCHRONIZATION_REQUEST_T_RESYNC_WITHOUT_FLASH_REREAD};


typedef struct _mbdr_dsp_cpu_common_interface_t
{
  /*                                    DW #   fill by              */
  ULONG spare_0;  /*    0   DSP                  */
  LONG   main_interface_dsp_bofs;    /*    1   DSP                  */

  /* remark: only run time changeable values are maked as volatile */
  ULONG  dsp_time_out_module_code;   /*    2   DSP                  */
  volatile ULONG  dsp_life_sign_value; /*  3   CPU                  */
  volatile ULONG  dsp_life_sign_echo;  /*  4   DSP                  */
  volatile ULONG  spare_1;         /*  5   CPU                  */
  volatile ULONG  dsp_state_number;    /*  6   CPU                  */
  volatile ULONG  cpu_state_number;    /*  7   CPU                  */
  ULONG           spare_2;/*  8   CPU                  */

  ULONG spare_3; /* 9 CPU DSP record enable flags */
  volatile ULONG  spare_4;             /* 10   CPU                  */
  LONG spare_5;/*   11 CPU thershold table offset in CPU memory */
  LONG spare_6;/*   12 DSP thershold table offset in DSP memory */

  LONG spare_end[3];          /* 13-15 spare                             */
}mbdr_dsp_cpu_common_interface_t;



#endif
