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