1 '\" te
2 .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH ECPP 7D "Jan 10, 2020"
7 .SH NAME
8 ecpp \- IEEE 1284 compliant parallel port driver
9 .SH SYNOPSIS
10 .nf
11 #include <sys/types.h>
12 .fi
13
14 .LP
15 .nf
16 #include <sys/ecppio.h>
17 .fi
18
19 .LP
20 .nf
21 ecpp@unit-address
22 .fi
23
24 .SH DESCRIPTION
25 The \fBecpp\fR driver provides a bi-directional interface to \fIIEEE 1284\fR
26 compliant devices as well as a forward single-directional interface to
27 Centronics devices. In addition to the Centronics protocol, the \fBecpp\fR
28 driver supports the \fIIEEE 1284\fRCompatibility, Nibble, and ECP protocols.
29 \fBECPP_COMPAT_MODE\fR and \fBECPP_CENTRONICS\fR modes of operation have
30 logically identical handshaking protocols, however devices that support
31 \fBECPP_COMPAT_MODE\fR are \fIIEEE 1284\fR compliant devices. \fIIEEE 1284\fR
32 compliant devices support at least \fBECPP_COMPAT_MODE\fR and
33 \fBECPP_NIBBLE_MODE\fR. Centronics devices support only \fBECPP_CENTRONICS\fR
34 mode.
35 .sp
36 .LP
37 By default, \fBECPP_COMPAT_MODE\fR devices have a strobe handshaking pulse
38 width of 500ns. For this mode, forward data transfers are conducted by DMA. By
39 default, the strobe pulse width for \fBECPP_CENTRONICS\fR devices is two
40 microseconds. Forward transfers for these devices are managed through PIO. The
41 default characteristics for both \fBECPP_COMPAT_MODE\fR and
42 \fBECPP_CENTRONICS\fR devices may be changed through tunable variables defined
43 in \fBecpp.conf\fR.
44 .sp
45 .LP
46 The \fBecpp\fR driver is an \fIexclusive-use\fR device, meaning that if the
47 device is already open, subsequent opens fail with \fBEBUSY\fR.
48 .SS "Default Operation"
214 .RS 20n
215 Tests the forward transfer readiness of a peripheral operating in Centronics or
216 Compatibility mode.
217 .sp
218 \fBTESTIO\fR determines if the peripheral is ready to receive data by checking
219 the open flags and the Centronics status signals. If the current mode of the
220 device is \fBECPP_NIBBLE_MODE\fR, the driver negotiates the link into
221 \fBECPP_COMPAT_MODE\fR, check the status signals and then return the link to
222 \fBECPP_NIBBLE_MODE\fR mode. If the current mode is \fBECPP_CENTRONICS\fR or
223 \fBECPP_COMPAT_MODE\fR, \fBTESTIO\fR examines the Centronics status signals in
224 the current mode. To receive data, the device must have the \fBnErr\fR and
225 \fBSelect\fR signals asserted and must not have the \fBPE\fR and \fBBusy\fR
226 signals asserted. If \fBecpp\fR is transferring data, \fBTESTIO\fR waits until
227 the previous data sent to the driver is delivered before executing
228 \fBTESTIO\fR. However if an error condition occurs while a \fBTESTIO\fR is
229 waiting, \fBTESTIO\fR returns immediately. If \fBTESTIO\fR determines that the
230 conditions are ok, \fB0\fR is returned. Otherwise, \fB-1\fR is returned, errno
231 is set to \fBEIO\fR and the state of the status pins is captured. The captured
232 status can be retrieved using the \fBBPPIOC_GETERR\fR \fBioctl\fR(2) call. The
233 \fBtimeout_occurred\fR and \fBbus_error\fR fields will never be set by this
234 \fBioctl\fR(2). \fBBPPIOC_TESTIO\fR and \fBBPPIOC_GETERR\fR are compatible to
235 the ioctls specified in \fBbpp\fR(7D).
236 .RE
237
238 .sp
239 .ne 2
240 .na
241 \fB\fBBPPIOC_GETERR\fR\fR
242 .ad
243 .RS 20n
244 Get last error status. The argument is a pointer to a \fBstruct
245 bpp_error_status\fR defined in \fB<sys/bpp_io.h>\fR header file. The error
246 status structure is:
247 .sp
248 .in +2
249 .nf
250 struct bpp_error_status {
251 char timeout_occurred; /* 1=timeout */
252 char bus_error; /* not used */
253 uchar_t pin_status; /* status of pins which
254 /* could cause error */
255 };
433 See \fBattributes\fR(5) for descriptions of the following attributes:
434 .sp
435
436 .sp
437 .TS
438 box;
439 c | c
440 l | l .
441 ATTRIBUTE TYPE ATTRIBUTE VALUE
442 _
443 Architecture PCI-based systems
444 _
445 ISA-based systems (x86)
446 _
447 Interface stability Evolving
448 .TE
449
450 .SH SEE ALSO
451 \fBmodload\fR(1M), \fBmodunload\fR(1M), \fBupdate_drv\fR(1M), \fBioctl\fR(2),
452 \fBopen\fR(2), \fBread\fR(2), \fBwrite\fR(2), \fBattributes\fR(5),
453 \fBbpp\fR(7D), \fBusbprn\fR(7D), \fBprnio\fR(7I), \fBstreamio\fR(7I)
454 .sp
455 .LP
456 \fIIEEE Std 1284-1994\fR
457 .SH DIAGNOSTICS
458 .ne 2
459 .na
460 \fBParallel port controller not supported\fR
461 .ad
462 .sp .6
463 .RS 4n
464 Driver does not support parallel port controller on the given host. Attach
465 failed.
466 .RE
467
|
1 '\" te
2 .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH ECPP 7D "May 17, 2020"
7 .SH NAME
8 ecpp \- IEEE 1284 compliant parallel port driver
9 .SH SYNOPSIS
10 .nf
11 #include <sys/types.h>
12 .fi
13
14 .LP
15 .nf
16 #include <sys/ecppio.h>
17 .fi
18
19 .LP
20 .nf
21 ecpp@unit-address
22 .fi
23
24 .SH DESCRIPTION
25 The \fBecpp\fR driver provides a bi-directional interface to \fIIEEE 1284\fR
26 compliant devices as well as a forward single-directional interface to
27 Centronics devices. In addition to the Centronics protocol, the \fBecpp\fR
28 driver supports the \fIIEEE 1284\fR Compatibility, Nibble, and ECP protocols.
29 \fBECPP_COMPAT_MODE\fR and \fBECPP_CENTRONICS\fR modes of operation have
30 logically identical handshaking protocols, however devices that support
31 \fBECPP_COMPAT_MODE\fR are \fIIEEE 1284\fR compliant devices. \fIIEEE 1284\fR
32 compliant devices support at least \fBECPP_COMPAT_MODE\fR and
33 \fBECPP_NIBBLE_MODE\fR. Centronics devices support only \fBECPP_CENTRONICS\fR
34 mode.
35 .sp
36 .LP
37 By default, \fBECPP_COMPAT_MODE\fR devices have a strobe handshaking pulse
38 width of 500ns. For this mode, forward data transfers are conducted by DMA. By
39 default, the strobe pulse width for \fBECPP_CENTRONICS\fR devices is two
40 microseconds. Forward transfers for these devices are managed through PIO. The
41 default characteristics for both \fBECPP_COMPAT_MODE\fR and
42 \fBECPP_CENTRONICS\fR devices may be changed through tunable variables defined
43 in \fBecpp.conf\fR.
44 .sp
45 .LP
46 The \fBecpp\fR driver is an \fIexclusive-use\fR device, meaning that if the
47 device is already open, subsequent opens fail with \fBEBUSY\fR.
48 .SS "Default Operation"
214 .RS 20n
215 Tests the forward transfer readiness of a peripheral operating in Centronics or
216 Compatibility mode.
217 .sp
218 \fBTESTIO\fR determines if the peripheral is ready to receive data by checking
219 the open flags and the Centronics status signals. If the current mode of the
220 device is \fBECPP_NIBBLE_MODE\fR, the driver negotiates the link into
221 \fBECPP_COMPAT_MODE\fR, check the status signals and then return the link to
222 \fBECPP_NIBBLE_MODE\fR mode. If the current mode is \fBECPP_CENTRONICS\fR or
223 \fBECPP_COMPAT_MODE\fR, \fBTESTIO\fR examines the Centronics status signals in
224 the current mode. To receive data, the device must have the \fBnErr\fR and
225 \fBSelect\fR signals asserted and must not have the \fBPE\fR and \fBBusy\fR
226 signals asserted. If \fBecpp\fR is transferring data, \fBTESTIO\fR waits until
227 the previous data sent to the driver is delivered before executing
228 \fBTESTIO\fR. However if an error condition occurs while a \fBTESTIO\fR is
229 waiting, \fBTESTIO\fR returns immediately. If \fBTESTIO\fR determines that the
230 conditions are ok, \fB0\fR is returned. Otherwise, \fB-1\fR is returned, errno
231 is set to \fBEIO\fR and the state of the status pins is captured. The captured
232 status can be retrieved using the \fBBPPIOC_GETERR\fR \fBioctl\fR(2) call. The
233 \fBtimeout_occurred\fR and \fBbus_error\fR fields will never be set by this
234 \fBioctl\fR(2).
235 .RE
236
237 .sp
238 .ne 2
239 .na
240 \fB\fBBPPIOC_GETERR\fR\fR
241 .ad
242 .RS 20n
243 Get last error status. The argument is a pointer to a \fBstruct
244 bpp_error_status\fR defined in \fB<sys/bpp_io.h>\fR header file. The error
245 status structure is:
246 .sp
247 .in +2
248 .nf
249 struct bpp_error_status {
250 char timeout_occurred; /* 1=timeout */
251 char bus_error; /* not used */
252 uchar_t pin_status; /* status of pins which
253 /* could cause error */
254 };
432 See \fBattributes\fR(5) for descriptions of the following attributes:
433 .sp
434
435 .sp
436 .TS
437 box;
438 c | c
439 l | l .
440 ATTRIBUTE TYPE ATTRIBUTE VALUE
441 _
442 Architecture PCI-based systems
443 _
444 ISA-based systems (x86)
445 _
446 Interface stability Evolving
447 .TE
448
449 .SH SEE ALSO
450 \fBmodload\fR(1M), \fBmodunload\fR(1M), \fBupdate_drv\fR(1M), \fBioctl\fR(2),
451 \fBopen\fR(2), \fBread\fR(2), \fBwrite\fR(2), \fBattributes\fR(5),
452 \fBusbprn\fR(7D), \fBprnio\fR(7I), \fBstreamio\fR(7I)
453 .sp
454 .LP
455 \fIIEEE Std 1284-1994\fR
456 .SH DIAGNOSTICS
457 .ne 2
458 .na
459 \fBParallel port controller not supported\fR
460 .ad
461 .sp .6
462 .RS 4n
463 Driver does not support parallel port controller on the given host. Attach
464 failed.
465 .RE
|