cf.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:4k
源码类别:

DVD

开发平台:

C/C++

  1. /**************************************************************************
  2.  *                                                                        *
  3.  *         Copyright (c) 2002 by Sunplus Technology Co., Ltd.             *
  4.  *                                                                        *
  5.  *  This software is copyrighted by and is the property of Sunplus        *
  6.  *  Technology Co., Ltd. All rights are reserved by Sunplus Technology    *
  7.  *  Co., Ltd. This software may only be used in accordance with the       *
  8.  *  corresponding license agreement. Any unauthorized use, duplication,   *
  9.  *  distribution, or disclosure of this software is expressly forbidden.  *
  10.  *                                                                        *
  11.  *  This Copyright notice MUST not be removed or modified without prior   *
  12.  *  written consent of Sunplus Technology Co., Ltd.                       *
  13.  *                                                                        *
  14.  *  Sunplus Technology Co., Ltd. reserves the right to modify this        *
  15.  *  software without notice.                                              *
  16.  *                                                                        *
  17.  *  Sunplus Technology Co., Ltd.                                          *
  18.  *  19, Innovation First Road, Science-Based Industrial Park,             *
  19.  *  Hsin-Chu, Taiwan, R.O.C.                                              *
  20.  *                                                                        *
  21.  *  Author:         modify by wthsin ,040106                              *
  22.  *                                                                        *
  23.  **************************************************************************/
  24. /*--------------------------------------------------------------------------
  25. |  File Name   :  cf.c
  26. |
  27. |  Description :  CF Interface
  28. |
  29. |  Version    :  0.1  
  30. |  Rev Date         Author(s)      Status & Comments
  31. |---------------------------------------------------------------------------------
  32. |  0.1 2004/2/9        wthsin         Creating
  33. |--------------------------------------------------------------------------------*/  
  34. #ifndef _CF_H_
  35. #define _CF_H_
  36. /**************************************************************************
  37.  *                           C O N S T A N T S                            *
  38.  **************************************************************************/
  39. #define CF_SUCCESS 0
  40. #define CF_FAIL  1 
  41.  
  42. #define  CF_NOT_EXIST   0x00
  43. #define  CF_EXIST       0x01
  44. #define  CF_IRQ_LOW     0x00
  45. #define  CF_IRQ_HIGH    0x01
  46. #define  CF_MEM_MODE    0x00
  47. #define  CF_IDE_MODE    0x01
  48. /* CF status register (offset 7 & eh) */
  49. #define CF_STATUS_BUSY (1 << 7)
  50. #define CF_STATUS_RDY  (1 << 6)
  51. #define CF_STATUS_DWF  (1 << 5)
  52. #define CF_STATUS_DSC  (1 << 4)
  53. #define CF_STATUS_DRQ  (1 << 3)
  54. #define CF_STATUS_CORR (1 << 2)
  55. #define CF_STATUS_ERR  (1 << 0)
  56. #define CF_RW_ERROR  0x01
  57. #define CF_DRQ_ERROR 0x02
  58. /**************************************************************************
  59.  *                          D A T A    T Y P E S                          *
  60.  **************************************************************************/
  61. typedef struct   
  62. {
  63. UINT32    nrSects;  
  64. } cfDev_t;
  65. /**************************************************************************
  66.  *                              M A C R O S                               *
  67.  **************************************************************************/
  68. #define hwCfRdyCheck() (regs0->cfCtrl&0x01)  //reg: 0x0031  /* 0/1: busy/ready */
  69. /**************************************************************************
  70.  *               F U N C T I O N    D E C L A R A T I O N S               *
  71.  **************************************************************************/
  72. void   hwCfInit(UINT32, UINT32, UINT32,UINT32,UINT32);
  73. void   hwCfReset(UINT32);
  74. void   hwCfCsASet(UINT32);
  75. void   hwCfWordCsaWriteSet(UINT32, UINT32);
  76. UINT16   hwCfWordCsaReadSet(UINT32);
  77. UINT32 cfIdeDetect();
  78. UINT32 cfIdentify();
  79. extern UINT32 cfRead(UINT32 ,UINT32 ,UINT8 *);
  80. extern UINT32 cfWrite(UINT32 ,UINT32 ,UINT8 *);
  81. #ifdef  IDE_CF_SW  //liulifeng add for read HD and CF
  82. extern void cfSetDevHead(UINT8 );
  83. extern void hwCfCardStandby(UINT8 );
  84. void cfDevSetFeature(UINT32 );
  85. #endif
  86. #endif /* _CF_H_ */