summaryrefslogtreecommitdiff
path: root/drivers/gpib/hp_82335/hp82335.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpib/hp_82335/hp82335.h')
-rw-r--r--drivers/gpib/hp_82335/hp82335.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/drivers/gpib/hp_82335/hp82335.h b/drivers/gpib/hp_82335/hp82335.h
new file mode 100644
index 000000000000..0c252a712ec9
--- /dev/null
+++ b/drivers/gpib/hp_82335/hp82335.h
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/***************************************************************************
+ * copyright : (C) 2002 by Frank Mori Hess *
+ ***************************************************************************/
+
+#ifndef _HP82335_H
+#define _HP82335_H
+
+#include "tms9914.h"
+#include "gpibP.h"
+
+// struct which defines private_data for board
+struct hp82335_priv {
+ struct tms9914_priv tms9914_priv;
+ unsigned int irq;
+ unsigned long raw_iobase;
+};
+
+// size of io memory region used
+static const int hp82335_rom_size = 0x2000;
+static const int hp82335_upper_iomem_size = 0x2000;
+
+// hp82335 register offsets
+enum hp_read_regs {
+ HPREG_CSR = 0x17f8,
+ HPREG_STATUS = 0x1ffc,
+};
+
+enum hp_write_regs {
+ HPREG_INTR_CLEAR = 0x17f7,
+ HPREG_CCR = HPREG_CSR,
+};
+
+enum ccr_bits {
+ DMA_ENABLE = (1 << 0), /* DMA enable */
+ DMA_CHAN_SELECT = (1 << 1), /* DMA channel select O=3,1=2 */
+ INTR_ENABLE = (1 << 2), /* interrupt enable */
+ SYS_DISABLE = (1 << 3), /* system controller disable */
+};
+
+enum csr_bits {
+ SWITCH6 = (1 << 0), /* switch 6 position */
+ SWITCH5 = (1 << 1), /* switch 5 position */
+ SYS_CONTROLLER = (1 << 2), /* system controller bit */
+ DMA_ENABLE_STATUS = (1 << 4), /* DMA enabled */
+ DMA_CHAN_STATUS = (1 << 5), /* DMA channel 0=3,1=2 */
+ INTR_ENABLE_STATUS = (1 << 6), /* Interrupt enable */
+ INTR_PENDING = (1 << 7), /* Interrupt Pending */
+};
+
+#endif // _HP82335_H