📄 gpif.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 + -