Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/gpib/hp_82335/hp82335.h
38184 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
3
/***************************************************************************
4
* copyright : (C) 2002 by Frank Mori Hess *
5
***************************************************************************/
6
7
#ifndef _HP82335_H
8
#define _HP82335_H
9
10
#include "tms9914.h"
11
#include "gpibP.h"
12
13
// struct which defines private_data for board
14
struct hp82335_priv {
15
struct tms9914_priv tms9914_priv;
16
unsigned int irq;
17
unsigned long raw_iobase;
18
};
19
20
// size of io memory region used
21
static const int hp82335_rom_size = 0x2000;
22
static const int hp82335_upper_iomem_size = 0x2000;
23
24
// hp82335 register offsets
25
enum hp_read_regs {
26
HPREG_CSR = 0x17f8,
27
HPREG_STATUS = 0x1ffc,
28
};
29
30
enum hp_write_regs {
31
HPREG_INTR_CLEAR = 0x17f7,
32
HPREG_CCR = HPREG_CSR,
33
};
34
35
enum ccr_bits {
36
DMA_ENABLE = (1 << 0), /* DMA enable */
37
DMA_CHAN_SELECT = (1 << 1), /* DMA channel select O=3,1=2 */
38
INTR_ENABLE = (1 << 2), /* interrupt enable */
39
SYS_DISABLE = (1 << 3), /* system controller disable */
40
};
41
42
enum csr_bits {
43
SWITCH6 = (1 << 0), /* switch 6 position */
44
SWITCH5 = (1 << 1), /* switch 5 position */
45
SYS_CONTROLLER = (1 << 2), /* system controller bit */
46
DMA_ENABLE_STATUS = (1 << 4), /* DMA enabled */
47
DMA_CHAN_STATUS = (1 << 5), /* DMA channel 0=3,1=2 */
48
INTR_ENABLE_STATUS = (1 << 6), /* Interrupt enable */
49
INTR_PENDING = (1 << 7), /* Interrupt Pending */
50
};
51
52
#endif // _HP82335_H
53
54