RT-AC66 3.0.0.4.374.130 core
[tomato.git] / release / src-rt-6.x / cfe / cfe / arch / mips / board / p5064 / include / z80pio.h
blobd9612f5d46d1b1cccb93c26b713b1640498447ef
1 /*
2 * z80pio.h: Z80 parallel i/o chip register definitions
3 */
5 #ifndef __ASSEMBLER__
6 typedef struct {
7 unsigned int a_dat;
8 unsigned int b_dat;
9 unsigned int a_ctl;
10 unsigned int b_ctl;
11 } zpiodev;
12 #endif
14 /* register offsets */
15 #define ZPIO_A_DAT 0
16 #define ZPIO_B_DAT 4
17 #define ZPIO_A_CTL 8
18 #define ZPIO_B_CTL 12
20 #define ZPIO_MODE_OUT 0x0f
21 #define ZPIO_MODE_IN 0x4f
22 #define ZPIO_MODE_BIDIR 0x8f
23 #define ZPIO_MODE_CTRL 0xcf
25 #define ZPIO_ICW_ENABLE 0x80
26 #define ZPIO_ICW_AND 0x40
27 #define ZPIO_ICW_HIGH 0x40
28 #define ZPIO_ICW_MASK 0x40
29 #define ZPIO_ICW_SET 0x07
31 #define ZPIO_INT_ENB 0x83
32 #define ZPIO_INT_DIS 0x03
34 #define ZPIOB_I2C_SDA 0x80 /* in: DIMM serial data */
35 #define ZPIOB_I2C_SCL 0x40 /* out: DIMM serial clock */
36 #define ZPIOB_I2C_DIR 0x20 /* out: DIMM serial direction (1=out, 0=in)*/
37 #define ZPIOB_NFAULT 0x01 /* out: centronics NFAULT signal */
38 #define ZPIOB_OMASK (ZPIOB_I2C_SCL|ZPIOB_I2C_DIR|ZPIOB_NFAULT)
40 #ifndef __ASSEMBLER__
41 /* safe programmatic interface to pio */
42 unsigned int _zpiob_get (void);
43 unsigned int _zpiob_set (unsigned int);
44 unsigned int _zpiob_bis (unsigned int);
45 unsigned int _zpiob_bic (unsigned int);
47 void _zpioa_setctl (unsigned int);
48 unsigned int _zpioa_get (void);
49 unsigned int _zpioa_set (unsigned int);
50 unsigned int _zpioa_bis (unsigned int);
51 unsigned int _zpioa_bic (unsigned int);
52 #endif