leodefine.h 4.03 KB
/*
 *  F i l e N a m e  :  l e o d e f i n e . h
 *
 ****************************************************************************
 *                   (C) Copyright ALPS Electric Co., Ltd. 1995-1996
 ****************************************************************************
 *  Version
 *
 *  ver     Date
 *  ----  --------
 *  1.06  '97-01-10  Move MAX_RETRY definition to leodrive.h.
 *  1.05  '96-10-28  Add MES_NMI_RESET message .
 *  1.04  '96-10-01  Change DMA_QUE size (1->2) .
 *  1.03  '96-08-27  Remove KAIHATU definition.
 *  1.02  '96-06-04  Change leoSet_ad16bus_reg() macro.
 *                     0xa4600030 -  6>2    tR
 *                     0xa460002c -  2>6    words
 *  1.01  '96-02-27  Change file name define.h to leodefine.h .
 *                   Clean up unused definition.
 *  1.00  '95-12-20  Initial revision .
 ****************************************************************************
*/
/******************************************/
/*  !!!!  include this file first.  !!!!  */
/******************************************/

/*-------------------------------------*/
/* DEVICEDRIVER SUPPORT COMMAND NUMBER */
/*-------------------------------------*/
#define LEO_CMD_NUM            15      /* MAX COMMAND CODE + 1 */

#define FUNC_OK                0x00
#define FUNC_NG                0xff

/*==========================================*/
/*  OS & MESSAGE                            */
/*==========================================*/
/*-----------------------------------*/
/* STACK SIZE FOR THREAD             */
/*-----------------------------------*/
#define LEO_STACKSIZE          0x0400
#define LeoIPL_STACKSIZE        LEO_STACKSIZE

/*-----------------------------------*/
/*  MESSAGE                          */
/*-----------------------------------*/
#define MES_NONE               ((OSMesg)0x00000000)
#define MES_READ               ((OSMesg)0x00010000)     /* READ HANDLING         */
#define MES_WRITE              ((OSMesg)0x00020000)     /* WRITE HANDLING        */
#define MES_INTERRUPT          ((OSMesg)0x00030000)     /* DRIVE INTERRUPT       */
#define MES_STOP               ((OSMesg)0x00040000)     /* FORCED STOP           */
#define MES_TRACK_COMPLETE     ((OSMesg)0x00050000)     /* TRACK COMPLETE        */
#define MES_BLOCK_COMPLETE     ((OSMesg)0x00060000)     /* NOT USED              */
#define MES_BM_ERROR           ((OSMesg)0x00070000)     /* DISK ERROR            */
#define MES_REQ_C2_CORR        ((OSMesg)0x00080000)     /* GOOD                  */
#define MES_RW_COMPLETE        ((OSMesg)0x00090000)     /* C2 CORRECTION REQUEST */
#define MES_NMI_RESET          ((OSMesg)0x000a0000)     /* NMI RESET OCCURED     */

#define MES_MASK               0x0ffff0000              /* ALL MESSAGE          */

/*-----------------------------------*/
/*  SIZE OF QUEUE                    */
/*-----------------------------------*/
#define CMD_BLK_Q_SIZE         ((s32)0x08)              /*  キューイングするコマンド数    */

#define EVENT_Q_SIZE           ((s32)0x01)              /*  割り込み処理スレッドキュー    */
#define CONTROL_Q_SIZE         ((s32)0x01)              /*  コマンド処理スレッドキュー    */
#define BLOCK_Q_SIZE           ((s32)0x01)              /*  コマンド受信ブロックキュー    */
#define DMA_Q_SIZE             ((s32)0x02)              /*  DMA転送処理スレッドキュー  */

/*-----------------------------------*/
/*  QUEUE MACROS                     */
/*-----------------------------------*/
#define COMMAND_QUE            (&LEOcommand_que)
#define EVENT_QUE              (&LEOevent_que)
#define CONTROL_QUE            (&LEOcontrol_que)
#define BLOCK_QUE              (&LEOblock_que)
#define DMA_QUE                (&LEOdma_que)
#define C2_CTRL_QUE            (&LEOc2ctrl_que)

#define IPLCOMMAND_QUE            (&LeoIPLcommand_que)
#define IPLEVENT_QUE              (&LeoIPLevent_que)
#define IPLCONTROL_QUE            (&LeoIPLcontrol_que)
#define IPLBLOCK_QUE              (&LeoIPLblock_que)
#define IPLDMA_QUE                (&LeoIPLdma_que)
#define IPLC2_CTRL_QUE            (&LeoIPLc2ctrl_que)

/*-----------------------------------*/