1 #ifndef _SPARC64_BPP_H
2 #define _SPARC64_BPP_H
3 
4 /*
5  * Copyright (c) 1995 Picture Elements
6  *	Stephen Williams
7  *	Gus Baldauf
8  *
9  * Linux/SPARC port by Peter Zaitcev.
10  * Integration into SPARC tree by Tom Dyas.
11  */
12 
13 #include  <linux/ioctl.h>
14 
15 /*
16  * This is a driver that supports IEEE Std 1284-1994 communications
17  * with compliant or compatible devices. It will use whatever features
18  * the device supports, prefering those that are typically faster.
19  *
20  * When the device is opened, it is left in COMPATABILITY mode, and
21  * writes work like any printer device. The driver only attempt to
22  * negotiate 1284 modes when needed so that plugs can be pulled,
23  * switch boxes switched, etc., without disrupting things. It will
24  * also leave the device in compatibility mode when closed.
25  */
26 
27 
28 
29 /*
30  * This driver also supplies ioctls to manually manipulate the
31  * pins. This is great for testing devices, or writing code to deal
32  * with bizzarro-mode of the ACME Special TurboThingy Plus.
33  *
34  * NOTE: These ioctl currently do not interact well with
35  * read/write. Caveat emptor.
36  *
37  * PUT_PINS allows us to assign the sense of all the pins, including
38  * the data pins if being driven by the host. The GET_PINS returns the
39  * pins that the peripheral drives, including data if appropriate.
40  */
41 
42 # define BPP_PUT_PINS _IOW('B', 1, int)
43 # define BPP_GET_PINS _IOR('B', 2, void)
44 # define BPP_PUT_DATA _IOW('B', 3, int)
45 # define BPP_GET_DATA _IOR('B', 4, void)
46 
47 /*
48  * Set the data bus to input mode. Disengage the data bin driver and
49  * be prepared to read values from the peripheral. If the arg is 0,
50  * then revert the bus to output mode.
51  */
52 # define BPP_SET_INPUT _IOW('B', 5, int)
53 
54 /*
55  * These bits apply to the PUT operation...
56  */
57 # define BPP_PP_nStrobe   0x0001
58 # define BPP_PP_nAutoFd   0x0002
59 # define BPP_PP_nInit     0x0004
60 # define BPP_PP_nSelectIn 0x0008
61 
62 /*
63  * These apply to the GET operation, which also reads the current value
64  * of the previously put values. A bit mask of these will be returned
65  * as a bit mask in the return code of the ioctl().
66  */
67 # define BPP_GP_nAck   0x0100
68 # define BPP_GP_Busy   0x0200
69 # define BPP_GP_PError 0x0400
70 # define BPP_GP_Select 0x0800
71 # define BPP_GP_nFault 0x1000
72 
73 #endif
74