xref: /freebsd/share/man/man4/ppc.4 (revision a1a4f1a0d87b594d3f17a97dc0127eec1417e6f6)
1.\" Copyright (c) 1998, 1999, Nicolas Souchu
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd March 5, 1998
28.Dt PPC 4
29.Os FreeBSD
30.Sh NAME
31.Nm ppc
32.Nd
33Parallel port chipset driver
34.Sh SYNOPSIS
35.Cd "controller ppc0 at isa? port? flags 0xXX tty irq 7"
36.Pp
37For one or more PPBUS busses:
38.Cd "controller ppbus at ppc0"
39.Sh DESCRIPTION
40The
41.Em ppc
42driver provides low level support to various parallel port chipsets for the
43.Xr ppbus 4
44system.
45.Pp
46During the probe phasis, ppc detects parallel port chipsets and initialize
47private data according to their operating mode: COMPATIBLE,
48NIBBLE, PS/2, EPP, ECP and other mixed modes. If a mode is provided at startup
49throw the flags variable of the boot interface, the operating mode of the
50chipset is forced according to 'flags' and its available modes.
51.Pp
52During attach phasis, ppc allocates a ppbus structure, initializes it and
53calls ppbus attach function.
54.Ss Supported flags
55.Bl -item -offset indent
56.It
57bits 0-3: chipset forced mode(s)
58.Bd -literal
59PPB_COMPATIBLE  0x0     /* Centronics compatible mode */
60PPB_NIBBLE      0x1     /* reverse 4 bit mode */
61PPB_PS2         0x2     /* PS/2 byte mode */
62PPB_EPP         0x4     /* EPP mode, 32 bit */
63PPB_ECP         0x8     /* ECP mode */
64.Ed
65.Pp
66And any mixed values.
67.It
68bit 4: EPP protocol (0 EPP 1.9, 1 EPP 1.7)
69.It
70bit 5: activate IRQ (1 IRQ disabled, 0 IRQ enabled)
71.It
72bit 6: disable chipset specific detection
73.It
74bit 7: disable FIFO detection
75.El
76.Ss Supported chipsets
77Some parallel port chipsets are explicitly supported by ppc: detection and
78initialisation code has been written according to specs datasheets.
79.Bl -bullet -offset indent
80.It
81SMC FDC37C665GT and FDC37C666GT chipsets
82.It
83Natsemi PC873xx-family (PC87332 and PC87306)
84.It
85Winbond W83877xx-family (W83877F and W83877AF)
86.It
87SMC-like chipsets with mixed modes (see
88.Xr ppbus 4 )
89.El
90.Ss Adding support to a new chipset
91You may want to add support for the newest chipset your last motherboard was
92sold with? For the ISA bus, just retrieve the specs of the chipset and
93write the corresponding
94.Fn ppc_mychipset_detect ""
95function.
96Then add an entry to the general purpose
97.Fn ppc_detect ""
98function.
99.Pp
100Your
101.Fn ppc_mychipset_detect ""
102function should ensure that: if the mode field of the
103.Va flags
104boot variable is not null, then the operating
105mode is forced to the given mode and no other mode is available and
106ppb->ppb_avm field contains the available modes of the chipset
107.Sh SEE ALSO
108.Xr ppbus 4
109.Sh BUGS
110The chipset detection process may corrupt your chipset configuration. You may
111disable chipset specific detection by using the above flags.
112.Sh HISTORY
113The
114.Nm
115manual page first appeared in
116.Fx 3.0 .
117.Sh AUTHORS
118This manual page was written by
119.An Nicolas Souchu .
120