1998-10-28 00:51:40 +00:00
|
|
|
.\" Copyright (c) 1998, Nicolas Souchu
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\"
|
|
|
|
.Dd March 5, 1998
|
|
|
|
.Dt PPC 4
|
|
|
|
.Os FreeBSD
|
|
|
|
.Sh NAME
|
|
|
|
.Nm ppc
|
|
|
|
.Nd
|
|
|
|
Parallel port chipset driver
|
|
|
|
.Sh SYNOPSIS
|
1998-10-29 09:42:05 +00:00
|
|
|
.Cd "controller ppc0 at isa? port? tty irq 7"
|
1998-10-28 00:51:40 +00:00
|
|
|
.Pp
|
|
|
|
For one or more PPBUS busses:
|
|
|
|
.Cd "controller ppbus at ppc0"
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Em ppc
|
|
|
|
driver provides low level support to various parallel port chipsets for the
|
|
|
|
.Xr ppbus 4
|
|
|
|
system.
|
|
|
|
.Pp
|
|
|
|
During the probe phasis, ppc detects parallel port chipsets and initialize
|
|
|
|
private data according to their operating mode: COMPATIBLE,
|
|
|
|
NIBBLE, PS/2, EPP, ECP and other mixed modes. If a mode is provided at startup
|
|
|
|
throw the flags variable of the boot interface, the operating mode of the
|
|
|
|
chipset is forced according to 'flags' and its available modes.
|
|
|
|
.Pp
|
|
|
|
During attach phasis, ppc allocates a ppbus structure, initializes it and
|
|
|
|
calls ppbus attach function.
|
|
|
|
.Ss Supported flags
|
|
|
|
.Bl -item -offset indent
|
|
|
|
.It
|
|
|
|
bits 0-4: chipset forced mode(s)
|
|
|
|
.Bd -literal
|
|
|
|
PPB_COMPATIBLE 0x0 /* Centronics compatible mode */
|
|
|
|
PPB_NIBBLE 0x1 /* reverse 4 bit mode */
|
|
|
|
PPB_PS2 0x2 /* PS/2 byte mode */
|
|
|
|
PPB_EPP 0x4 /* EPP mode, 32 bit */
|
|
|
|
PPB_ECP 0x8 /* ECP mode */
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
And any mixed values.
|
|
|
|
.It
|
|
|
|
bit 5: EPP protocol (0 EPP 1.9, 1 EPP 1.7)
|
|
|
|
.It
|
|
|
|
bit 6: activate IRQ (1 IRQ disabled, 0 IRQ enabled)
|
|
|
|
.El
|
|
|
|
.Ss Supported chipsets
|
|
|
|
Some parallel port chipsets are explicitly supported by ppc: detection and
|
|
|
|
initialisation code has been written according to specs datasheets.
|
|
|
|
.Bl -bullet -offset indent
|
|
|
|
.It
|
|
|
|
SMC FDC37C665GT and FDC37C666GT chipsets
|
|
|
|
.It
|
|
|
|
Natsemi PC873xx-family (PC87332 and PC87306)
|
|
|
|
.It
|
|
|
|
Winbond W83877xx-family (W83877F and W83877AF)
|
|
|
|
.It
|
|
|
|
SMC-like chipsets with mixed modes (see
|
|
|
|
.Xr ppbus 4 )
|
|
|
|
.El
|
|
|
|
.Ss Adding support to a new chipset
|
|
|
|
You may want to add support for the newest chipset your last motherboard was
|
|
|
|
sold with? For the ISA bus, just retrieve the specs of the chipset and
|
|
|
|
write the corresponding
|
|
|
|
.Fn ppc_mychipset_detect ""
|
|
|
|
function.
|
|
|
|
Then add an entry to the general purpose
|
|
|
|
.Fn ppc_detect ""
|
|
|
|
function.
|
|
|
|
.Pp
|
|
|
|
Your
|
|
|
|
.Fn ppc_mychipset_detect ""
|
|
|
|
function should ensure that: if the mode field of the
|
|
|
|
.Va flags
|
|
|
|
boot variable is not null, then the operating
|
|
|
|
mode is forced to the given mode and no other mode is available and
|
|
|
|
ppb->ppb_avm field contains the available modes of the chipset
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr ppbus 4
|
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
manual page first appeared in
|
|
|
|
.Fx 3.0 .
|
|
|
|
.Sh AUTHOR
|
|
|
|
This
|
|
|
|
manual page was written by
|
|
|
|
.An Nicolas Souchu .
|