1999-01-23 14:01:55 +00:00
|
|
|
.\" Copyright (c) 1998, 1999, Nicolas Souchu
|
1998-10-28 00:51:40 +00:00
|
|
|
.\" 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.
|
|
|
|
.\"
|
1999-08-28 00:22:10 +00:00
|
|
|
.\" $FreeBSD$
|
1998-10-28 00:51:40 +00:00
|
|
|
.\"
|
|
|
|
.Dd March 5, 1998
|
2001-02-20 11:07:27 +00:00
|
|
|
.Dt PPC 4
|
2001-07-10 15:31:11 +00:00
|
|
|
.Os
|
1998-10-28 00:51:40 +00:00
|
|
|
.Sh NAME
|
|
|
|
.Nm ppc
|
2001-04-18 15:54:10 +00:00
|
|
|
.Nd Parallel Port Chipset driver
|
1998-10-28 00:51:40 +00:00
|
|
|
.Sh SYNOPSIS
|
2000-01-17 13:40:01 +00:00
|
|
|
.Cd "device ppc0 at isa? port? flags 0xXX irq 7"
|
1998-10-28 00:51:40 +00:00
|
|
|
.Pp
|
|
|
|
For one or more PPBUS busses:
|
2000-01-17 08:24:20 +00:00
|
|
|
.Cd "device ppbus at ppc0"
|
1998-10-28 00:51:40 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
1999-09-30 09:35:54 +00:00
|
|
|
.Nm
|
1998-10-28 00:51:40 +00:00
|
|
|
driver provides low level support to various parallel port chipsets for the
|
|
|
|
.Xr ppbus 4
|
|
|
|
system.
|
|
|
|
.Pp
|
2001-07-14 19:41:16 +00:00
|
|
|
During the probe phase,
|
1999-09-30 09:35:54 +00:00
|
|
|
.Nm
|
|
|
|
detects parallel port chipsets and initializes
|
1998-10-28 00:51:40 +00:00
|
|
|
private data according to their operating mode: COMPATIBLE,
|
2001-07-14 19:41:16 +00:00
|
|
|
NIBBLE, PS/2, EPP, ECP and other mixed modes.
|
|
|
|
If a mode is provided at startup through the
|
1999-09-30 09:35:54 +00:00
|
|
|
.Va flags
|
2001-07-14 19:41:16 +00:00
|
|
|
variable of the boot
|
|
|
|
interface, the operating mode of the chipset is forced according to
|
1999-09-30 09:35:54 +00:00
|
|
|
.Va flags
|
|
|
|
and the hardware supported modes.
|
1998-10-28 00:51:40 +00:00
|
|
|
.Pp
|
2001-07-14 19:41:16 +00:00
|
|
|
During the attach phase,
|
1999-09-30 09:35:54 +00:00
|
|
|
.Nm
|
2001-07-14 19:41:16 +00:00
|
|
|
allocates a ppbus structure, initializes it and calls the ppbus
|
1999-09-30 09:35:54 +00:00
|
|
|
attach function.
|
1998-10-28 00:51:40 +00:00
|
|
|
.Ss Supported flags
|
|
|
|
.Bl -item -offset indent
|
|
|
|
.It
|
1999-01-23 14:01:55 +00:00
|
|
|
bits 0-3: chipset forced mode(s)
|
1998-10-28 00:51:40 +00:00
|
|
|
.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
|
1999-01-23 14:01:55 +00:00
|
|
|
bit 4: EPP protocol (0 EPP 1.9, 1 EPP 1.7)
|
1998-10-28 00:51:40 +00:00
|
|
|
.It
|
1999-01-23 14:01:55 +00:00
|
|
|
bit 5: activate IRQ (1 IRQ disabled, 0 IRQ enabled)
|
|
|
|
.It
|
|
|
|
bit 6: disable chipset specific detection
|
1999-08-26 13:41:43 +00:00
|
|
|
.It
|
|
|
|
bit 7: disable FIFO detection
|
1998-10-28 00:51:40 +00:00
|
|
|
.El
|
|
|
|
.Ss Supported chipsets
|
1999-09-30 09:35:54 +00:00
|
|
|
Some parallel port chipsets are explicitly supported:
|
2001-07-14 19:41:16 +00:00
|
|
|
detection and initialisation code has been written according to
|
1999-09-30 09:35:54 +00:00
|
|
|
their datasheets.
|
1998-10-28 00:51:40 +00:00
|
|
|
.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
|
1999-09-30 09:35:54 +00:00
|
|
|
You may want to add support for the newest chipset your motherboard was
|
2001-07-14 19:41:16 +00:00
|
|
|
sold with.
|
|
|
|
For the ISA bus, just retrieve the specs of the chipset and write the
|
1999-09-30 09:35:54 +00:00
|
|
|
corresponding
|
1998-10-28 00:51:40 +00:00
|
|
|
.Fn ppc_mychipset_detect ""
|
|
|
|
function.
|
|
|
|
Then add an entry to the general purpose
|
|
|
|
.Fn ppc_detect ""
|
2001-07-14 19:41:16 +00:00
|
|
|
function.
|
1998-10-28 00:51:40 +00:00
|
|
|
.Pp
|
|
|
|
Your
|
|
|
|
.Fn ppc_mychipset_detect ""
|
1999-09-30 09:35:54 +00:00
|
|
|
function should ensure that if the mode field of the
|
1998-10-28 00:51:40 +00:00
|
|
|
.Va flags
|
|
|
|
boot variable is not null, then the operating
|
|
|
|
mode is forced to the given mode and no other mode is available and
|
1999-09-30 09:35:54 +00:00
|
|
|
ppb->ppb_avm field contains the available modes of the chipset.
|
1998-10-28 00:51:40 +00:00
|
|
|
.Sh SEE ALSO
|
1999-09-30 09:35:54 +00:00
|
|
|
.Xr ppbus 4 ,
|
|
|
|
.Xr ppi 4
|
1999-01-23 14:01:55 +00:00
|
|
|
.Sh BUGS
|
2000-03-03 14:05:08 +00:00
|
|
|
The chipset detection process may corrupt your chipset configuration.
|
|
|
|
You may
|
1999-01-23 14:01:55 +00:00
|
|
|
disable chipset specific detection by using the above flags.
|
1998-10-28 00:51:40 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
manual page first appeared in
|
|
|
|
.Fx 3.0 .
|
1999-08-15 10:48:36 +00:00
|
|
|
.Sh AUTHORS
|
|
|
|
This manual page was written by
|
1998-10-28 00:51:40 +00:00
|
|
|
.An Nicolas Souchu .
|