[PATCH] parport: add parallel port support for SGI O2

Add support for the built-in parallel port on SGI O2 (a.k.a.  IP32).
Define a new configuration option: PARPORT_IP32.  The module is named
parport_ip32.

Hardware support for SPP, EPP and ECP modes along with DMA support when
available are currently implemented.

Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Arnaud Giersch 2006-02-03 03:04:16 -08:00 committed by Linus Torvalds
parent bd3bfeb58a
commit 8e75f74428
4 changed files with 2269 additions and 0 deletions

View file

@ -90,6 +90,15 @@ config PARPORT_ARC
depends on ARM && PARPORT
select PARPORT_NOT_PC
config PARPORT_IP32
tristate "SGI IP32 builtin port (EXPERIMENTAL)"
depends on SGI_IP32 && PARPORT && EXPERIMENTAL
select PARPORT_NOT_PC
help
Say Y here if you need support for the parallel port on
SGI O2 machines. This code is also available as a module (say M),
called parport_ip32. If in doubt, saying N is the safe plan.
config PARPORT_AMIGA
tristate "Amiga builtin port"
depends on AMIGA && PARPORT

View file

@ -17,3 +17,4 @@ obj-$(CONFIG_PARPORT_MFC3) += parport_mfc3.o
obj-$(CONFIG_PARPORT_ATARI) += parport_atari.o
obj-$(CONFIG_PARPORT_SUNBPP) += parport_sunbpp.o
obj-$(CONFIG_PARPORT_GSC) += parport_gsc.o
obj-$(CONFIG_PARPORT_IP32) += parport_ip32.o

File diff suppressed because it is too large Load diff

View file

@ -128,6 +128,11 @@ struct amiga_parport_state {
unsigned char statusdir;/* ciab.ddrb & 7 */
};
struct ip32_parport_state {
unsigned int dcr;
unsigned int ecr;
};
struct parport_state {
union {
struct pc_parport_state pc;
@ -135,6 +140,7 @@ struct parport_state {
struct ax_parport_state ax;
struct amiga_parport_state amiga;
/* Atari has not state. */
struct ip32_parport_state ip32;
void *misc;
} u;
};