source: svn/trunk/zas_dstar/hal/include/dsthaldev.h @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
File size: 4.7 KB
Line 
1/****************************************************************************
2 * Copyright (c) 2004 Digital Stream Technologies Inc.  All Rights Reserved.
3 *
4 * Module:      dsthaldev.cpp
5 * Author:              Jun-ku Park, hwatk@dstreamtech.com
6 * Description: DST HAL [Device] Platform/Project Indepedent Header
7 *
8 * notes: hwatk20040609
9 *
10 * TO DO LIST
11 *
12 ***************************************************************************/
13
14#ifndef __DST_HAL_DEV_H__
15#define __DST_HAL_DEV_H__
16
17/* Includes Platform-specific header */
18/*
19 * ¾ÆÁ÷ NFLASH, SFLASHÀÇ ÇÏÀ§ Device Driver°¡ ¿Ï·áµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î,
20 * ¿ì¼± FileÀ» »ý¼ºÇÏ¿©, NFLASH ¹× SFLASH ÇüÅ·Π»ç¿ëÇÑ´Ù.
21 */
22#define USE_EEPROM_FILE
23#define USE_NFLASH_FILE
24#define USE_SFLASH_FILE
25
26#if defined __cplusplus
27extern "C" {
28#endif
29
30#if defined(USE_EEPROM_FILE)
31#define EEPROM_FILE_PATH    "./tmp_eeprom"
32#endif
33
34int DHL_DEV_ReadEEPROM(unsigned short addr,unsigned short length,unsigned char *rbuf);
35int DHL_DEV_WriteEEPROM(unsigned short WriteAddr,unsigned short length,unsigned char *wbuf);
36
37#if defined __cplusplus
38}
39#endif
40
41/****************************************************************************
42
43        NFLASH type definition & structures
44
45        NFLASHState
46        NFLASHID
47        DST_DEV_NFLASH, P_DST_DEV_NFLASH
48       
49 ***************************************************************************/
50
51typedef enum {
52        NFLASHSTATE_UNKNOWN=0,
53        NFLASHSTATE_INIT,
54        NFLASHSTATE_START,
55        NFLASHSTATE_STOP,
56        NFLASHSTATE_MAX
57} NFLASHState;
58
59typedef enum {
60        NFLASHID_0=1,
61        NFLASHID_1,
62        NFLASHID_2,
63        NFLASHID_3,
64        NFLASHID_4,
65        NFLASHID_5,
66        NFLASHID_6,
67        NFLASHID_MAX
68} NFLASHID;
69
70typedef struct tag_DST_DEV_NFLASH
71{
72        NFLASHState CurState;   /* Current State */
73        NFLASHID        NFlashId;       /* NFlash Id. */
74                                                        /* Mutex Id.  */
75
76        /* NFLASH Information */
77        DS_U32 uSize;                   /* NFLASH Maximum Size */
78        DS_U32 uAvlStart;               /* NFLASH Available Range Start */
79        DS_U32 uAvlEnd;                 /* NFLASH Available Range End */
80       
81        /* Platform-specific information */
82        int nflash_fd;
83} *P_DST_DEV_NFLASH, DST_DEV_NFLASH;
84
85#if defined __cplusplus
86extern "C" {
87#endif
88
89DHL_RESULT DHL_DEV_InitNFLASH( NFLASHID NFlashId, DS_U32 Size, DS_U32 Start, DS_U32 End );
90int DHL_DEV_ReadNFLASH( NFLASHID NFlashId, DS_U32 Address, DS_U8 *pBuffer, DS_U32 Len );
91int DHL_DEV_WriteNFLASH( NFLASHID NFlashId, DS_U32 Address, DS_U8 *pBuffer, DS_U32 Len );
92DHL_RESULT DHL_DEV_EraseNFLASH( NFLASHID NFlashId, DS_U32 Address, DS_U32 Len );
93int DHL_DEV_GetNFLASHSize(NFLASHID NFlashId);
94
95#if defined __cplusplus
96}
97#endif
98
99/****************************************************************************
100
101        SFLASH type definition & structures
102
103        SFLASHState
104        SFLASHID
105        DST_DEV_SFLASH, P_DST_DEV_SFLASH
106       
107 ***************************************************************************/
108
109typedef enum {
110        SFLASHSTATE_UNKNOWN=0,
111        SFLASHSTATE_INIT,
112        SFLASHSTATE_START,
113        SFLASHSTATE_STOP,
114        SFLASHSTATE_MAX
115} SFLASHState;
116
117typedef enum {
118        SFLASHID_0=1,
119        SFLASHID_MAX
120} SFLASHID;
121
122typedef struct tag_DST_DEV_SFLASH
123{
124        SFLASHState CurState;   /* Current State */
125        SFLASHID        SFlashId;       /* SFlash Id. */
126                                                        /* Mutex Id.  */
127                                                       
128        /* NFLASH Information */
129        DS_U32 uSize;                   /* SFLASH Maximum Size */
130        DS_U32 uAvlStart;               /* SFLASH Available Range Start */
131        DS_U32 uAvlEnd;                 /* SFLASH Available Range End */
132
133        /* Platform-specific information */
134#if defined(USE_SFLASH_FILE)
135        int sflash_fd;
136#endif
137} *P_DST_DEV_SFLASH, DST_DEV_SFLASH;
138
139#if defined __cplusplus
140extern "C" {
141#endif
142
143DHL_RESULT DHL_DEV_InitSFLASH( SFLASHID SFLASHId, DS_U32 Size, DS_U32 Start, DS_U32 End );
144int DHL_DEV_ReadSFLASH( SFLASHID SFLASHId, DS_U32 Address, DS_U8 *pBuffer, DS_U32 Len );
145int DHL_DEV_WriteSFLASH( SFLASHID SFLASHId, DS_U32 Address, DS_U8 *pBuffer, DS_U32 Len );
146DHL_RESULT DHL_DEV_EraseSFLASH( SFLASHID SFLASHId, DS_U32 Address, DS_U32 Len );
147
148#define MAX_FILTER_COUNT 15
149
150typedef struct _des_pid_filter
151{
152        DS_U16 Pid;
153        DS_U32 slot;
154        DS_BOOL bValid;
155}DST_CA_PID_FILTER;
156
157typedef enum {
158        DHL_DEV_CARD_UNKNOWN=0,
159        DHL_DEV_CARD_READY,
160        DHL_DEV_CARD_DETECTED,
161        DHL_DEV_CARD_ACTIVATED,
162        DHL_DEV_CARD_FAILED
163} DHL_DEV_CARD_STATUS;
164
165#define S_SEQUENCE      0x40
166#define N_SEQUENCE      0x00
167
168typedef void (DHL_CARD_CALLBACK)(DHL_DEV_CARD_STATUS stat);
169typedef DHL_CARD_CALLBACK * P_DHL_CARD_CALLBACK;
170
171DHL_RESULT DHL_DEV_InitSmartCardInterface(void *func);
172DHL_RESULT DHL_DEV_SmartCARDTransaction( DS_U8 *cmdBuf,DS_U32 CmdLen, DS_U8 *retBuf );
173DHL_RESULT DHL_DEV_GetCARDStatus(DHL_DEV_CARD_STATUS *Status);
174
175DHL_RESULT DHL_CA_InitMULTI2(DS_U8 *SystemKey, DS_U8 *CBC);
176DHL_RESULT DHL_CA_ResetMULTI2(void);
177DHL_RESULT DHL_CA_SetMULTI2Key(DS_U16 Pid,DS_U8 *EvenData, DS_U8 *OddData,DS_BOOL bAll);
178DHL_RESULT DHL_CA_SetMULTI2Pid(DS_U16 Pid, DS_BOOL Enable);
179void DHL_CA_GetCurPid(DS_U16 *retBuf, DS_U8 *Cnt);
180
181#if defined __cplusplus
182}
183#endif
184
185#endif /* __DST_HAL_DEV_H__ */
Note: See TracBrowser for help on using the repository browser.