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

📄 0715dsv.h

📁 MTK的资料说明
💻 H
📖 第 1 页 / 共 2 页
字号:
/*-----------------------------------------------------------------------------------
BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES THAT 
THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") RECEIVED 
FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON AN "AS-IS" 
BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK 
PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, 
AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING 
THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES 
MADE TO BUYER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.

BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE LIABILITY 
WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, AT MEDIATEK'S 
OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE 
LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE 
AT ISSUE. 

THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE WITH THE LAWS 
OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF LAWS PRINCIPLES.  
ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND RELATED THERETO SHALL BE 
SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL 
CHAMBER OF COMMERCE (ICC).
-----------------------------------------------------------------------------------*/

/***************      MTK CONFIDENTIAL & COPYRIGHTED          ***************/
/***************                                              ***************/
/***************    Filename: SRV2DEC.H                       ***************/
/***************              DVD_Player Servo FW header file ***************/
/*************** Description :                                ***************/
/***************                                              ***************/
/***************                                              ***************/
/***************     Company: MediaTek Inc.                   ***************/
/***************  Programmer: Jason Gau. (jishian)            ***************/
/****************************************************************************/

#ifndef _H_SRV2DEC_
#define _H_SRV2DEC_

/*========================================================================
        Un-Finalized disc support define
========================================================================*/

// [A863.7] - Start
#define SUPPORT_UNFINALIZE_WITH_FILESYS
#define SUPPORT_UNFINALIZE_PLUS_VRMODE

 #ifdef SUPPORT_UNFINALIZE_PLUS_VRMODE
 #define SUPPORT_UNFINALIZE_WITH_FILESYS
 #endif
// [A863.7] - End

/*========================================================================
        MMDT part
  ========================================================================*/

//#define DEBUG_RS232_C1C2 // Jethro Add for MMDT debug for MMDT

 #ifdef DEBUG_RS232_C1C2
 #define READ_C1C2PIPO       // SERVO C1C2PIPO DEBUG INFO
//#define READ_PIPO_1ECCBLK
 #define READ_PIERR_ONLY

 #undef SACDSEL
 #undef SRV_RETRY
 #undef RS232_DEBUG
 #endif

/*****************************************************************************
     Function : GPIO Macro Setting
  Description : Refresh Output status of MT1389
*****************************************************************************/
#define _fgLimit                  bSrvReadPin1()
#define _fgTrayOut                bSrvReadPin2()
#define _fgTrayIn                 bSrvReadPin3()
#define _fgDiscIn                 bSrvReadPin4()  // Slot-in Model // For Test Use
#define _TSD                      bSrvReadPin5()  // SONY Project // For Test Use
//#define _IO0 bSrvReadPin5() // LG OPU-Detection

// Define TRAY_CLOSESetH,L before TrCloseSetH,L
#define TRAY_CLOSESetH      (WriteDSP1Cmd(0xEB, 0x0C))  //PWM1 = 3.3 V (High)
#define TRAY_CLOSESetL      (WriteDSP1Cmd(0xEB, 0x04))  //PWM1 = 0 V (Low)

/***************************************************************************
          Macro For Definition of TRAY Action
***************************************************************************/
#define TRAY_OPENENLVL            (WriteDPUCmd(DPU_TRPWMCTL,  0x00))    //Enable GPO 0~2.8V
#define TRAY_OPENLevel(bLevel)    (WriteDPUCmd(DPU_TRPWMLV,   bLevel))   //Voltage Level
#define TRAY_OPENSetH             (WriteDPUCmd(DPU_TRPWMCTL,  TRPWMEN+TROPEN3V))  //TROPENPWM = 3.3V
#define TRAY_OPENSetL             (WriteDPUCmd(DPU_TRPWMCTL,  TRPWMEN+TROPEN0V))  //TROPENPWM = 0V

#define STBYSetH                  vSrvWritePin1(0x01)
#define STBYSetL                  vSrvWritePin1(0x00)
#define LaserSWSetH               vSrvWritePin2(0x01)
#define LaserSWSetL               vSrvWritePin2(0x00)
#define TrCloseSetH               vSrvWritePin3(0x01)
#define TrCloseSetL               vSrvWritePin3(0x00)
#define TrOpenSetH                vSrvWritePin4(0x01)
#define TrOpenSetL                vSrvWritePin4(0x00)
#define PIO5SetH                  vSrvWritePin5(0x01)  // For Debug Use
#define PIO5SetL                  vSrvWritePin5(0x00)

/***************************************************************************
          Macro For Definition of TRAY Action
  ***************************************************************************/
#define DPU_TRPWMLV               0xFA18
#define DPU_TRPWMCTL              0xFA19
#define TRPWMEN                   (0x01<<2)

#define TROPEN3V                  (0x01<<0)
#define TROPEN0V                  (0x00<<0)


/*========================================================================
        ERROR Code Table
=========================================================================*/
#define PLAYER_READY              0x00
#define ILLEGAL_COMMAND           0x01
#define ILLEGAL_PARAM             0x02
#define SLEDGE_ERROR              0x03
#define FOCUS_ERROR               0x04
#define MOTOR_ERROR               0x05
#define RADIAL_ERROR              0x06
#define PLL_LOCK_ERROR            0x07
#define READ_ERROR                0x08
#define QID_NOT_FOUND             0x09
#define TRAY_ERROR                0x0A
#define TOC_READ_ERROR            0x0B
#define SEEK_ERROR                0x0C
#define HF_ERROR                  0x0D
#define NO_SESSION_ERROR          0x0E
#define NO_TE_ERROR               0x0F
// ERROR Code Table : Self Implement
#define DISK_NO_EXIST             0x10
#define CALIBRATE_ERROR           0x11    // Don't care about this erorr
#define ABORTED                   0x12
#define BLANK_DISK                0x13
/*      Player Status Code                                               */
#define PLAYER_BUSY               0x80    /* Player is busy              */
#define PLAYER_ERROR              0xFF    /* Different to Player Busy    */

/*=========================================================================
   Media Type Definition
=========================================================================*/
#define MEDIA_CDROM               0x01
#define MEDIA_CDRW                0x02
#define MEDIA_DVCD                0x05
#define MEDIA_DVD_SINGLE          0x10
#define MEDIA_DVD_DUAL            0x11
#define MEDIA_DVD_LOW             0x14
#define MEDIA_DVDR_V10            0x30
#define MEDIA_DVDR_V20            0x31
#define MEDIA_DVD_PRW_47G         0x50
#define MEDIA_DVD_PRW_30G         0x51
#define MEDIA_DVD_MRW             0x52
#define MEDIA_DVD_RAM_26G         0x90
#define MEDIA_DVD_RAM_47G         0x91

//=====================================================================
// SERVO change speed parameters
//=====================================================================
#define SRV_SPEED_OK              0
#define SRV_SPEED_NOOK            1

//=====================================================================
// SERVO Seek Mode types
//=====================================================================
#define SEEK_NORMAL               0x00
#define SEEK_LEAD_IN              0x04
#define SEEK_LEAD_OUT             0x08
#define SEEK_MULTI_SEN            0x0C
#define SEEK_AUDIO                0x02
#define SEEK_LAYER0               0x00
#define SEEK_LAYER1               0x01
#define SEEK_FILESYS              0x06


/*=========================================================================
   Optional Definition
=========================================================================*/

#define MAX_DVD_SPEED             2     // Initial servo maximum speed for DVD
#define OPT_DVD_SPEED             2     // Initial servo optimum speed for DVD
#define MAX_DVDCLV_SPEED          2
#define MAX_TWO_DVD_SPEED         2     // dual layer speed
#define MIN_DVD_SPEED             2     // Initial servo optimum speed for DVD
#define RANGE_DVD_SPEED           2     // Change speed limit for DVD
#define RANACC_DVD_SPEED          2     // Random Access speed
#define LEADIN_DVD_SPEED          2     // Read leadin speed
                                  
#define MAX_DVDR_SPEED            2
#define MAX_DVDMRW_SPEED          2     // DVD-RW
#define MAX_DVDPRW_SPEED          2     // DVD+RW
#define MAX_RAMV1_SPEED           2     // Initial servo maximum speed for RAM Ver.1
#define MAX_RAMV2_SPEED           2     // Initial servo maximum speed for RAM Ver.2
                                  
#define DVD_SPEED_GAP             1     // for MTK decoder speed down function
#define DVD_VIDEO_SPEED           2
#define MAX_CD_SPEED              4     // Initial servo minimum speed for CD
#define OPT_CD_SPEED              4     // Initial servo optimum speed for CD
#define MAX_CDCLV_SPEED           4
#define MIN_CD_SPEED              4     // Initial servo minimum speed for CD
#define RANGE_CD_SPEED            4     // Change speed limit for DVD
#define RANACC_CDROM_SPEED        4     // Random Access speed
#define LEADIN_CD_SPEED           4     // Read leadin speed
#define CDRW_SPEED                4     // CDRW PLAYING SPEED
#define VCD_SPEED                 4     // VCD PLAYING SPEED
#define CDDA_SPEED                4     // AUDIO PLAYING SPEED
#define HIGH_CDDA_SPEED           4     //
#define CDPLUS_SPEED              4     // CD+ PLAYING SPEED
#define ENHANCECD_SPEED           4     // ENHANCE CD PLAYING SPEED
#define CD_SPEED_GAP              2     // for MTK decoder speed down function

 #ifdef  _SERVO_F_
  #ifdef  _SERVO_F1_
/********************************************/
/*        Media type define                 */
/*      _bMediaType = 0x01 : CD-ROM         */
/*      _bMediaType = 0x02 : CD-RW          */
/*      _bMediaType = 0x05 : CD-DVCD        */
/*      _bMediaType = 0x10 : DVD-ROM(S)     */
/*      _bMediaType = 0x11 : DVD-ROM(D)     */
/*      _bMediaType = 0x14 : DVD-ROM(L)     */
/*      _bMediaType = 0x30 : DVD-R V1.0     */
/*      _bMediaType = 0x31 : DVD-R V2.0     */
/*      _bMediaType = 0x50 : DVD+RW(4.7G)   */
/*      _bMediaType = 0x51 : DVD+RW(3.0G)   */
/*      _bMediaType = 0x52 : DVD-RW         */
/*      _bMediaType = 0x90 : DVD-RAM(2.6G)  */
/*      _bMediaType = 0x91 : DVD-RAM(4.7G)  */
/*                        K.J.Chang 01/01/31*/
/********************************************/
BYTE bdata  _bMediaType _at_ 0x21;
      sbit  _fgDiskIsDVDRW  = _bMediaType^6;    // DVD-RW/+RW
      sbit  _fgDiskIsDVDMRW = _bMediaType^1;    // DVD-RW
      sbit  _fgDiskIsDVDR   = _bMediaType^5;    // DVD-R
      sbit  _fgDiskIsDVD    = _bMediaType^4;    
      sbit  _fgDualLayer    = _bMediaType^0;    // DVD
      sbit  _fgOppTrack     = _bMediaType^1;    // DVD
      sbit  _fgDiskIsDVCD   = _bMediaType^2;    // CD
      sbit  _fgDiskIsCDRW   = _bMediaType^1;    // CD ,new added by jishian

BYTE  data  _bWdCnt;
BYTE xdata  _bMaxSpeed;
BYTE xdata  _bOptimumSpeed;
BYTE xdata  _bDriveSpeed;
BYTE  data  _bPlayerStatus;
BYTE bdata  _bServoStatus _at_ 0x22;
      sbit  _fgDiscStatus   = _bServoStatus^0;  // tracking on:1, off:0
      sbit  _fgSpinStatus   = _bServoStatus^1;  // Servo status 1:ON, 0:OFF
      sbit  _fgPauseStatus  = _bServoStatus^2;  // 1/0: Pause ON/OFF
      sbit  _fgFocusStatus  = _bServoStatus^3;  // 1/0: FOK/not FOK
      sbit  _fgQIDStatus    = _bServoStatus^4;  // '1': when Qcode is available
      sbit  _fgCalStatus    = _bServoStatus^5;  // '1': Disk has been Calibrated
      sbit  _fgSpeedStatus  = _bServoStatus^6;  // '1': is changing speed
      sbit  _fgDmonStatus   = _bServoStatus^7;  // '1': spindle has been kicked

BIT         _fgHybridSACD;
BIT         _fg8CMDisk;
BIT         _fgAbort;                           // Exit SERVO Routine immediately

   #ifdef SUPPORT_UNFINALIZE_WITH_FILESYS
BIT         _fgUnfinalize;

⌨️ 快捷键说明

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