Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
10enum amcc_registers {
11 AMCC_INTCS_REG = 0x38,
12 AMCC_PASS_THRU_REG = 0x60,
13};
14
15enum 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
21static const int bits_per_region = 8;
22
23static 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
28enum amcc_prefetch_bits {
29 PREFETCH_DISABLED = 0x0,
30 PREFETCH_SMALL = 0x8,
31 PREFETCH_MEDIUM = 0x10,
32 PREFETCH_LARGE = 0x18,
33};
34
35static inline uint32_t amcc_prefetch_bits(unsigned int region, enum amcc_prefetch_bits prefetch)
36{
37 return prefetch << (--region * bits_per_region);
38};
39
40static inline uint32_t amcc_PTADR_mode_bit(unsigned int region)
41{
42 return 0x80 << (--region * bits_per_region);
43};
44
45static inline uint32_t amcc_disable_write_fifo_bit(unsigned int region)
46{
47 return 0x20 << (--region * bits_per_region);
48};
49