⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shareinf.h

📁 是MTK公司新出来的DVD方案
💻 H
📖 第 1 页 / 共 5 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/08/09 9:28p    $       ****************/
/***************  $Revision:: 27               $       ****************/
/***************                                       ****************/
/***************   Description : DVD Shared Data Item  ****************/
/***************                                       ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Sung-Ching Lin        ****************/
/**********************************************************************/
#ifndef _SHAREINF_H_
#define _SHAREINF_H_

// *********************************************************************
// Define shared gneral purpose register
// *********************************************************************
#define SR_OSDCMD_0         0x00
#define SR_OSDCMD_1         0x01
#define SR_OSDCMD_2         0x02
#define SR_OSDCMD_3         0x03

#define SR_AIN_FLAG         0x04
#define SR_ADAC_ST          0x05

#define SR_SRV_MODE         0x0c
#define SR_SRV_RBUF         0x0d
#define SR_SPIN_FLAG        0x0e
#define SR_SPIN_ST          0x0f

// *********************************************************************
// Define group number and item number per group
// *********************************************************************
#define SHARED_INFO_GRP_SIZE      32
#define SHARED_INFO_GRP_NS        120 /* 5K - 0x500 (TOC)  // 256 : 8K */
#define DSP_SHARED_INFO_GRP_NS    32  /* 1K */
#define DSP_SHAREINFO_OFST        ((SHARED_INFO_GRP_NS - DSP_SHARED_INFO_GRP_NS) * SHARED_INFO_GRP_SIZE)

// *********************************************************************
// Routine to access shared data
// *********************************************************************

#define wSIItemPos(grp, idx)    ((WORD)(((grp) << 5) | ((idx)-1)))
#define bSIItemGrp(pos)         ((BYTE)((pos) >> 5))
#define bSIItemIndex(pos)       ((BYTE)(pos & 0x1F))

#if defined(__C51__)

// FIXME: use definition in mt1369.h of risc code
# define SHAREMEM_OFST              ((DWRD)(TOC_START_OFFSET + 0x800)) /* 0x37B000 */

// DSP share memory
# define DSP_SHAREDINFO_BASE        (SHAREMEM_OFST + DSP_SHAREINFO_OFST)

#ifdef TRACE_WRONG_SINFO
  BYTE bSharedInfo(WORD wPrm) large;
  void vSetSharedInfo(WORD wPrm, BYTE bVal) large;
#else
  # define bSharedInfo(prm)           bReadSInfo(prm)
  # define vSetSharedInfo(prm, val)   WriteSInfo(prm, (val))
#endif

# define vBeginWriteSharedGrp(grp, val) vSetSharedInfo(wSIItemPos(grp, 1), (val))

# define vWriteNextSharedItem(val) WaitUCRdy(); WriteBIM(BIM_MDAT, (val));

# define bSharedReg(prm)              bReadBIM((BIM_GPR0 + prm))
# define vSetSharedReg(prm, val)      WriteBIM((BIM_GPR0 + prm), (val))

#else

# if defined(_GLOBAL_)
BYTE _bSharedGrpPtr;
BYTE _bSharedItemPtr;
# else
extern BYTE _bSharedGrpPtr;
extern BYTE _bSharedItemPtr;
# endif

# define bSharedInfo(prm) \
  (*(volatile BYTE *)(_pbShareMem + (prm)))

# define vSetSharedInfo(prm, val)  \
do                                 \
{                                  \
  bSharedInfo(prm) = val;          \
}                                  \
while(0)

# define vBeginWriteSharedGrp(grp, val)     \
do                                          \
{                                           \
  _bSharedGrpPtr = grp;                     \
  _bSharedItemPtr = 1;                      \
  vSetSharedInfo(wSIItemPos((grp), 1), val); \
}                                           \
while(0)

# define vWriteNextSharedItem(val)                                  \
do                                                                  \
{                                                                   \
  _bSharedItemPtr++;                                                \
  vSetSharedInfo(wSIItemPos(_bSharedGrpPtr, _bSharedItemPtr), val);  \
}                                                                   \
while(0)

#define vGetSharedItemAddr(item)  (&bSharedInfo(item))
#define vGetSharedGrpAddr(grp)    (&bSharedInfo(wSIItemPos(grp, 1)))

#endif
// *********************************************************************
// Routine to notify shared data changed
// *********************************************************************
#if defined(__C51__)
void vNotifySharedInfo(WORD wItem1, WORD wItem2, WORD wItem3) large;
void vNotifySharedGroup(BYTE bGroup) large;
void vNotifyDspSharedInfo(DWRD dwId) large;
void vWriteDspSharedBInfo(WORD wAddr, BYTE bVal) large;
void vWriteDspSharedWInfo(WORD wAddr, WORD wVal) large;
void vWriteDspSharedDInfo(WORD wAddr, DWRD dwVal) large;
BYTE bReadDspSharedBInfo(WORD wAddr) large;
WORD wReadDspSharedWInfo(WORD wAddr) large;
DWRD dwReadDspSharedDInfo(WORD wAddr) large;
#else
void vNotifySharedInfo(WORD wItem1, WORD wItem2, WORD wItem3);
void vNotifySharedGroup(BYTE bGroup);
void vUopNotifySharedInfo(WORD wItem1, WORD wItem2, WORD wItem3);
void vUopNotifySharedGroup(BYTE bGroup);
#endif

// *********************************************************************
// Shared data group
// *********************************************************************
#define SI_SERVO_GRP                      0
#define SI_GENERAL_SETUP_GRP              1
#define SI_VIDEO_SETUP_GRP                2
#define SI_VIDEO_SETUP_GRP1               3
#define SI_PBC_GRP                        4
#define SI_NV_GRP                         5
#define SI_STREAM_STATUS_GRP              6
#define SI_AUDIO_STATUS_GRP               7
#define SI_DDISC_GRP                      8

#define SI_UOP_ERR_RET_GRP                9

#define SI_SHM_FIFO_GRP                   10
#define SI_SHM_FIFO_GRP_1                 11
#define SI_SHM_FIFO_GRP_2                 12
#define SI_SHM_FIFO_GRP_3                 13
#define SI_SHM_CFG_GRP                    14

#define SI_FSMENU_COMMAND_GRP_1           15

#define SI_FS_GRP                         16
#define SI_MP3_GRP                        17
#define SI_TIME_INFO_GRP                  18
#define SI_JPG_GRP                        19
#define SI_VOLUME_GRP                     20
#define SI_VIDEO_2                        21
#define SI_OSD_CMD_PRM_GRP                22 /* group 22 ~23 total 64 bytes */
#define SI_SHM_FWVER_GRP                  24
#define SI_CC_BUF                         25
#define SI_CC_BUF2                        26
#define SI_CC_BUF3                        27
#define SI_CC_BUF4                        28
#define SI_CC_BUF5                        29
#define SI_CC_BUF6                        30
#define SI_CC_BUF7                        31
#define SI_CC_BUF8                        32
#define SI_ITEM_INFO_GRP                  33 /* group 33 ~ 36, total 128 bytes */
#define SI_AB_REPEAT_INF_GRP              37
#define SI_UPG_VOLUME                     38
#define SI_UPG_FILE                       39
                                          
#define SI_UOP_RET_GRP                    40
#define SI_UOP_RET_GRP_1                  41
#define SI_UOP_RET_GRP_2                  42
#define SI_UOP_RET_GRP_3                  43

// 030220 PSCAN PARAMETER
#define SI_PSCAN_PARM                     44

#define SI_DDISC_VOL_GRP                  45
#define SI_FS_FTYPE_CNT_GRP               46    // - file type counter group

// - we provide max 4 file lists concurrently
#define SI_FL_LIST_0                      47
#define SI_FL_LIST_1                      48
#define SI_FL_LIST_2                      49
#define SI_FL_LIST_3                      50

// - we provide max 14 items for list item buffer
// NOTE: all list share the same item buffer, and one group
//   can keep 2 items
#define SI_FL_ITEM_0                      51
#define SI_FL_ITEM_2                      52
#define SI_FL_ITEM_4                      53
#define SI_FL_ITEM_6                      54
#define SI_FL_ITEM_8                      55
#define SI_FL_ITEM_10                     56
#define SI_FL_ITEM_12                     57
#define SI_FL_ITEM_14                     58

#define SI_RISC_CONFIG_GRP                59
#define SI_USR_CTRL_GRP                   60
#define SI_USR_PROGRAM_INF_GRP1           61
#define SI_USR_BOOKMARK_INF_GRP1          64

#define SI_SRT_GRP0                       67
#define SI_SRT_GRP1                       68

//#if(defined(LAST_MEM_SUPPORT) || defined(DVD_MEMORY_SUPPORT))
  #define SI_MEMORY_GRP                     69
  #define SI_MEM_LIST_GRP                   70
//#endif

#ifdef P_DEVICE_DEBUG
// - For the debug mode use
#define SI_PDEVICE_DEBUG_GRP              96
#endif



//*********************************************************************************
  #if 0   // no use for 1389D
#define SI_USR_CTRL_GRP                   9

#define SI_USR_PROGRAM_INF_GRP1           10
#define SI_USR_PROGRAM_INF_GRP2           11
#define SI_USR_PROGRAM_INF_GRP3           12
#define SI_USR_PROGRAM_INF_GRP4           13
#define SI_USR_PROGRAM_INF_GRP5           14

#define SI_FSMENU_ITEM_REGION_GRP         15

#define SI_JPG_THUMBNAIL_GRP              16

#define SI_USR_BOOKMARK_INF_GRP1          36
#define SI_USR_BOOKMARK_INF_GRP2          37
#define SI_USR_BOOKMARK_INF_GRP3          38

#define SI_PWD_FILENAME_GRP               51
#define SI_PWD_STRING_GRP_0               52

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -