xref: /linux/drivers/staging/gpib/include/amcc5920.h (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 /***************************************************************************
4  *  Header for amcc5920 pci chip
5  *
6  *   copyright		  : (C) 2002 by Frank Mori Hess
7  ***************************************************************************/
8 
9 // plx pci chip registers and bits
10 enum amcc_registers {
11 	AMCC_INTCS_REG = 0x38,
12 	AMCC_PASS_THRU_REG	= 0x60,
13 };
14 
15 enum amcc_incsr_bits {
16 	AMCC_ADDON_INTR_ENABLE_BIT = 0x2000,
17 	AMCC_ADDON_INTR_ACTIVE_BIT = 0x400000,
18 	AMCC_INTR_ACTIVE_BIT = 0x800000,
19 };
20 
21 static const int bits_per_region = 8;
22 
23 static inline uint32_t amcc_wait_state_bits(unsigned int region, unsigned int num_wait_states)
24 {
25 	return (num_wait_states & 0x7) << (-region * bits_per_region);
26 };
27 
28 enum amcc_prefetch_bits {
29 	PREFETCH_DISABLED = 0x0,
30 	PREFETCH_SMALL = 0x8,
31 	PREFETCH_MEDIUM = 0x10,
32 	PREFETCH_LARGE = 0x18,
33 };
34 
35 static inline uint32_t amcc_prefetch_bits(unsigned int region, enum amcc_prefetch_bits prefetch)
36 {
37 	return prefetch << (--region * bits_per_region);
38 };
39 
40 static inline uint32_t amcc_PTADR_mode_bit(unsigned int region)
41 {
42 	return 0x80 << (--region * bits_per_region);
43 };
44 
45 static inline uint32_t amcc_disable_write_fifo_bit(unsigned int region)
46 {
47 	return 0x20 << (--region * bits_per_region);
48 };
49 
50