Hi there,
I am porting Linux to a board built by the company I work for, and I'm looking
for advice regarding the parallel port. Since our board has one and since we
have to produce a Linux port that supports all devices that our product ships
with, we have to support it.
Our board (called Adirondack) is a dual PowerPC (hence Linux in question is
Linux/PPC, current linuxppc_2_4_devel) and has a Via Tech VT82C686B south
bridge, which is where the parallel port lives. I was pleased to see that Linux
knows about this chip and supports its features (including determining the I/O
port, IRQ, and DMA channel automatically rather than having the user set them).
However, it expects it to be already configured by the BIOS, i.e., it will only
use the I/O port, IRQ, and DMA channel assigned by the BIOS, and won't assign
its own. If the parallel port is disabled when Linux boots, it stays disabled.
Our board, however, has no PC BIOS or anything like it (instead the ROM
firmware is like a VAX console), and when Linux boots, the parallel port is
disabled. Basically, our philosophy is that the firmware brings up the board
with the functionality of a VAX (which of course excludes PC parallel ports),
and if the user's software (which is what Linux is) wants other functionality,
such as that of a PC (which would include the parallel port), it is welcome to
reprogram the chips accordingly.
So, to support the parallel port in Linux on the Adirondack, I need to have
Linux enable it. Don't panic, I'm not going to ask you to pollute the generic
parallel port driver with PPC SBS Adirondack-specific stuff, I'll do it in my
Linux booter. However, since there are many ways to configure the parallel port
(ECP, EPP, etc) and the sole beneficiary of this configuration will be the
Linux parallel port driver, it makes the most sense to ask you guys how you
would like it to be configured.
Among the VT82C686B Super-I/O configuration registers, there are two that deal
with the parallel port. First are the bottom two bits in register E2, which
are:
00 Unidirectional mode
01 ECP
10 EPP
11 Parallel Port Disable (default)
The other register is F0, Parallel Port Control. Its bits are:
7 PS2 Type BiDirectional Parallel Port
0 Disable (default)
1 Enable
6 EPP Direction by Register not by IOW
0 Disable (default)
1 Enable
5 EPP+ECP
0 Disable (default)
1 Enable
4 EPP Version
0 Version 1.9 (default)
1 Version 1.7
3:0 Reserved
I can set these registers to anything, but I would like to know which
configuration the Linux parallel port driver would like the best. TIA.
-- Michael Sokolov 5791 VAN ALLEN WAY Software Engineer CARLSBAD CA 92008-7321 USA SBS Technologies, Inc. Phone: +1-760-438-6900 x2347 Communications Products or +1-888-SBS-COMM x2347 Fax: +1-760-438-6904 E-mail: msokolov@sbs.com or msokolov@ivan.Harhan.ORG-- To unsubscribe, send mail to: linux-parport-request@torque.net -- -- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2b29 : Tue Aug 14 2001 - 20:31:23 EDT