📄 shareinf.h
字号:
/**********************************************************************/
/*************** 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 + -