linux/include/pcmcia/cisreg.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * cisreg.h
 *
 * The initial developer of the original code is David A. Hinds
 * <[email protected]>.  Portions created by David A. Hinds
 * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
 *
 * (C) 1999             David A. Hinds
 */

#ifndef _LINUX_CISREG_H
#define _LINUX_CISREG_H

/*
 * Offsets from ConfigBase for CIS registers
 */
#define CISREG_COR
#define CISREG_CCSR
#define CISREG_PRR
#define CISREG_SCR
#define CISREG_ESR
#define CISREG_IOBASE_0
#define CISREG_IOBASE_1
#define CISREG_IOBASE_2
#define CISREG_IOBASE_3
#define CISREG_IOSIZE

/*
 * Configuration Option Register
 */
#define COR_CONFIG_MASK
#define COR_MFC_CONFIG_MASK
#define COR_FUNC_ENA
#define COR_ADDR_DECODE
#define COR_IREQ_ENA
#define COR_LEVEL_REQ
#define COR_SOFT_RESET

/*
 * Card Configuration and Status Register
 */
#define CCSR_INTR_ACK
#define CCSR_INTR_PENDING
#define CCSR_POWER_DOWN
#define CCSR_AUDIO_ENA
#define CCSR_IOIS8
#define CCSR_SIGCHG_ENA
#define CCSR_CHANGED

/*
 * Pin Replacement Register
 */
#define PRR_WP_STATUS
#define PRR_READY_STATUS
#define PRR_BVD2_STATUS
#define PRR_BVD1_STATUS
#define PRR_WP_EVENT
#define PRR_READY_EVENT
#define PRR_BVD2_EVENT
#define PRR_BVD1_EVENT

/*
 * Socket and Copy Register
 */
#define SCR_SOCKET_NUM
#define SCR_COPY_NUM

/*
 * Extended Status Register
 */
#define ESR_REQ_ATTN_ENA
#define ESR_REQ_ATTN

/*
 * CardBus Function Status Registers
 */
#define CBFN_EVENT
#define CBFN_MASK
#define CBFN_STATE
#define CBFN_FORCE

/*
 * These apply to all the CardBus function registers
 */
#define CBFN_WP
#define CBFN_READY
#define CBFN_BVD2
#define CBFN_BVD1
#define CBFN_GWAKE
#define CBFN_INTR

/*
 * Extra bits in the Function Event Mask Register
 */
#define FEMR_BAM_ENA
#define FEMR_PWM_ENA
#define FEMR_WKUP_MASK

/*
 * Indirect Addressing Registers for Zoomed Video: these are addresses
 * in common memory space
 */
#define CISREG_ICTRL0
#define CISREG_ICTRL1
#define CISREG_IADDR0
#define CISREG_IADDR1
#define CISREG_IADDR2
#define CISREG_IADDR3
#define CISREG_IDATA0
#define CISREG_IDATA1

#define ICTRL0_COMMON
#define ICTRL0_AUTOINC
#define ICTRL0_BYTEGRAN

#endif /* _LINUX_CISREG_H */