Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 COMPATIBILITY 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, char) /* that's bogus - should've been _IO */ | |
44 | # define BPP_PUT_DATA _IOW('B', 3, int) | |
45 | # define BPP_GET_DATA _IOR('B', 4, char) /* ditto */ | |
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 |