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

📄 shareinf.h

📁 MTK 1389e版 MINI组合音响代码
💻 H
📖 第 1 页 / 共 5 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/10/20 8:23p    $       ****************/
/***************  $Revision:: 15               $       ****************/
/***************                                       ****************/
/***************   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        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_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_FS_GRP                         17
#define SI_MP3_GRP                        18
#define SI_TIME_INFO_GRP                  19
#define SI_JPG_GRP                        20
#define SI_VOLUME_GRP                     21
#define SI_VIDEO_2                        22
#define SI_OSD_CMD_PRM_GRP                23
#define SI_SHM_FIFO_GRP                   24
#define SI_SHM_FIFO_GRP_1                 25
#define SI_SHM_FIFO_GRP_2                 26
#define SI_SHM_FIFO_GRP_3                 27
#define SI_SHM_CFG_GRP                    28
#define SI_UOP_ERR_RET_GRP                29
#define SI_RISC_CONFIG_GRP                30
#define SI_SHM_FWVER_GRP                  31
#define SI_ITEM_INFO_GRP                  32 /* group 32 ~ 35, total 128 bytes */
#define SI_USR_BOOKMARK_INF_GRP1          36
#define SI_USR_BOOKMARK_INF_GRP2          37
#define SI_USR_BOOKMARK_INF_GRP3          38
#define SI_UPG_VOLUME                     39
#define SI_UPG_FILE                       40
#define SI_CC_BUF                         41
#define SI_CC_BUF2                        42
#define SI_CC_BUF3                        43
#define SI_CC_BUF4                        44
#define SI_CC_BUF5                        45
#define SI_CC_BUF6                        46
#define SI_CC_BUF7                        47
#define SI_CC_BUF8                        48
#define SI_AB_REPEAT_INF_GRP              49

#define SI_PWD_FILENAME_GRP               51
#define SI_PWD_STRING_GRP_0               52
#define SI_PWD_STRING_GRP_1               53
#define SI_SPTM_DATA_GRP                  54
#define SI_MEMORY_GRP                     55
#define SI_MEM_LIST_GRP                   56
#define SI_JPG_GRP_1                      57

#define SI_UOP_RET_GRP                    59
#define SI_UOP_RET_GRP_1                  60
#define SI_UOP_RET_GRP_2                  61
#define SI_UOP_RET_GRP_3                  62

// - grp for MPEG file module
#define SI_MPIC_GRP                       63

// - grp for fs menu
#define SI_FSMENU_COMMAND_GRP_0           64
#define SI_FSMENU_COMMAND_GRP_1           65
#define SI_FSMENU_ICON_SET_GRP            66

// - we provide max 4 file lists concurrently
#define SI_FL_LIST_0                      67
#define SI_FL_LIST_1                      68
#define SI_FL_LIST_2                      69
#define SI_FL_LIST_3                      70

// - 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                      71
#define SI_FL_ITEM_2                      72
#define SI_FL_ITEM_4                      73
#define SI_FL_ITEM_6                      74
#define SI_FL_ITEM_8                      75
#define SI_FL_ITEM_10                     76
#define SI_FL_ITEM_12                     77
#define SI_FL_ITEM_14                     78

#define SI_FSMENU_PROPERTY_GRP            79

#define SI_DDISC_VOL_GRP                  80
#define SI_FS_FTYPE_CNT_GRP               81    // - file type counter group

#define SI_DFI_GRP                        82    /* group for DFI update */

//
// - mark the latest group for fsmenu
//
#define SI_FSMENU_LAST_GRP                95

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

⌨️ 快捷键说明

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