source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/linux/parport.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 3.5 KB
Line 
1
2/*
3 * Any part of this program may be used in documents licensed under
4 * the GNU Free Documentation License, Version 1.1 or any later version
5 * published by the Free Software Foundation.
6 */
7
8#ifndef _PARPORT_H_
9#define _PARPORT_H_
10
11/* Start off with user-visible constants */
12
13/* Maximum of 16 ports per machine */
14#define PARPORT_MAX  16
15
16/* Magic numbers */
17#define PARPORT_IRQ_NONE  -1
18#define PARPORT_DMA_NONE  -1
19#define PARPORT_IRQ_AUTO  -2
20#define PARPORT_DMA_AUTO  -2
21#define PARPORT_DMA_NOFIFO -3
22#define PARPORT_DISABLE   -2
23#define PARPORT_IRQ_PROBEONLY -3
24#define PARPORT_IOHI_AUTO -1
25
26#define PARPORT_CONTROL_STROBE    0x1
27#define PARPORT_CONTROL_AUTOFD    0x2
28#define PARPORT_CONTROL_INIT      0x4
29#define PARPORT_CONTROL_SELECT    0x8
30
31#define PARPORT_STATUS_ERROR      0x8
32#define PARPORT_STATUS_SELECT     0x10
33#define PARPORT_STATUS_PAPEROUT   0x20
34#define PARPORT_STATUS_ACK        0x40
35#define PARPORT_STATUS_BUSY       0x80
36
37/* Type classes for Plug-and-Play probe.  */
38typedef enum {
39        PARPORT_CLASS_LEGACY = 0,       /* Non-IEEE1284 device */
40        PARPORT_CLASS_PRINTER,
41        PARPORT_CLASS_MODEM,
42        PARPORT_CLASS_NET,
43        PARPORT_CLASS_HDC,              /* Hard disk controller */
44        PARPORT_CLASS_PCMCIA,
45        PARPORT_CLASS_MEDIA,            /* Multimedia device */
46        PARPORT_CLASS_FDC,              /* Floppy disk controller */
47        PARPORT_CLASS_PORTS,
48        PARPORT_CLASS_SCANNER,
49        PARPORT_CLASS_DIGCAM,
50        PARPORT_CLASS_OTHER,            /* Anything else */
51        PARPORT_CLASS_UNSPEC,           /* No CLS field in ID */
52        PARPORT_CLASS_SCSIADAPTER
53} parport_device_class;
54
55/* The "modes" entry in parport is a bit field representing the
56   capabilities of the hardware. */
57#define PARPORT_MODE_PCSPP      (1<<0) /* IBM PC registers available. */
58#define PARPORT_MODE_TRISTATE   (1<<1) /* Can tristate. */
59#define PARPORT_MODE_EPP        (1<<2) /* Hardware EPP. */
60#define PARPORT_MODE_ECP        (1<<3) /* Hardware ECP. */
61#define PARPORT_MODE_COMPAT     (1<<4) /* Hardware 'printer protocol'. */
62#define PARPORT_MODE_DMA        (1<<5) /* Hardware can DMA. */
63#define PARPORT_MODE_SAFEININT  (1<<6) /* SPP registers accessible in IRQ. */
64
65/* IEEE1284 modes:
66   Nibble mode, byte mode, ECP, ECPRLE and EPP are their own
67   'extensibility request' values.  Others are special.
68   'Real' ECP modes must have the IEEE1284_MODE_ECP bit set.  */
69#define IEEE1284_MODE_NIBBLE             0
70#define IEEE1284_MODE_BYTE              (1<<0)
71#define IEEE1284_MODE_COMPAT            (1<<8)
72#define IEEE1284_MODE_BECP              (1<<9) /* Bounded ECP mode */
73#define IEEE1284_MODE_ECP               (1<<4)
74#define IEEE1284_MODE_ECPRLE            (IEEE1284_MODE_ECP | (1<<5))
75#define IEEE1284_MODE_ECPSWE            (1<<10) /* Software-emulated */
76#define IEEE1284_MODE_EPP               (1<<6)
77#define IEEE1284_MODE_EPPSL             (1<<11) /* EPP 1.7 */
78#define IEEE1284_MODE_EPPSWE            (1<<12) /* Software-emulated */
79#define IEEE1284_DEVICEID               (1<<2)  /* This is a flag */
80#define IEEE1284_EXT_LINK               (1<<14) /* This flag causes the
81                                                 * extensibility link to
82                                                 * be requested, using
83                                                 * bits 0-6. */
84
85/* For the benefit of parport_read/write, you can use these with
86 * parport_negotiate to use address operations.  They have no effect
87 * other than to make parport_read/write use address transfers. */
88#define IEEE1284_ADDR                   (1<<13) /* This is a flag */
89#define IEEE1284_DATA                    0      /* So is this */
90
91/* Flags for block transfer operations. */
92#define PARPORT_EPP_FAST                (1<<0) /* Unreliable counts. */
93#define PARPORT_W91284PIC               (1<<1) /* have a Warp9 w91284pic in the device */
94
95#endif /* _PARPORT_H_ */
Note: See TracBrowser for help on using the repository browser.