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

📄 gpif.h

📁 Cy68013的应用——USB2.0接口转IDE、CF卡接口
💻 H
字号:
//-----------------------------------------------------------------------------
//   File:      gpif.h
//   Contents:   Header file
//
// Copyright (c) 1999-2002 Cypress Semiconductor, Inc. All rights reserved
//
// $Workfile: gpif.h $
// $Date: 6/19/02 10:16a $
// $Revision: 6 $
//-----------------------------------------------------------------------------
#include "atapi.h"

// Mapping of DA and CS numbers to port pins
#define DA(x)  (x << 1)
#define CS(x)  (x << 4)
#define OUTATAPI  IOA

#define IFCONFIG_UDMA_W  0x86
#define IFCONFIG_UDMA_R  0xC6
#define IFCONFIG_DEFAULT 0xCA
                        // 11001010
                        // ||||||||_0 = IFCFG = GPIF Interface (internal master)
                        // |||||||__1 = IFCFG /
                        // ||||||___0 = Don't output GSTATE on port E
                        // |||||____1 = ASYNC -- Control lines are clocks, not enables
                        // ||||_____0 = IFclock polarity = normal
                        // |||______0 = Disable IFclock Output enable
                        // ||_______1 = 48Mhz IFclock
                        // |________1 = Internal IFclock


// Other ATAPI signals -- Port A
#if REVC_4611_BOARD
   // Interrupt mapped to WAKEUP.
   #define CF_CE1_               (1<<0)         // Both CE1 and CE0 are active low.  They're both on the same pin.
   #define CF_CE0_               (1<<0)
   #define VBUS_PIN              (1<<6)         /* input/output shared w/ ATA_RESET */
   #define ATAPI_RESET_          (1<<6) 
   #define CF_RESET              (1<<7)         // Shared pin -- Floats high without a card.  Drive high for reset.  Floats low when there's a card.
   #define CF_DETECT_            (1<<7) 
   #define PORTA_OE              0x3F           /* all output except PA.0 */
   #define ATAPI_IDLE_VALUE      (CF_CE1_ | ATAPI_RESET_ | DA(7)|CS(3))
#else
   // Pin 0 -- Interrupt
   #define CF_CE1_               0
   #define VBUS_PIN              (1<<6)
   #define ATAPI_RESET_          (1<<7)         /* output */
   #define PORTA_OE              0xBE           /* all output except PA.0 */
   #define ATAPI_IDLE_VALUE      (ATAPI_RESET_ | DA(7)|CS(3))
#endif

#define USE_IORDY    1

#undef _at_


//-----------------------------------------------------------------------------
// GPIF Globals
//-----------------------------------------------------------------------------

// Port B is ALL GPIF

#define ATAPI_ADDR_MASK       (DA(7)|CS(3))
#define ATAPI_OE              (DA(7)|CS(3))

#define IORDY_TIMEOUT_RELOAD	    200
#define CLEAR_INTRQ

#define gpifIdle() (GPIFTRIG & 0x80)

// States
#define UNCONFIGURED        0
#define WAIT_FOR_CBW        1
#define RECEIVED_OUT_CMD    2
#define RECEIVED_IN_CMD     3
#define RECEIVED_CBW        4


⌨️ 快捷键说明

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