diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-21 09:40:26 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-21 09:40:26 -0700 |
| commit | f8b71a3a92d69cb1c9c2162f9235d3dd550e4aa0 (patch) | |
| tree | d0853186f33314a6e45903876d0e94d1619fcca9 /include/asm-sparc/auxio_32.h | |
| parent | 42a77a1b8fe4fd78cf8d8fccbaac918bbe888192 (diff) | |
| parent | e4f25060b87a627f5cda84b8134911d43c919458 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (44 commits)
sparc: Remove Sparc's asm-offsets for sclow.S
sparc64: Update defconfig.
sparc64: Add Niagara2 RNG driver.
sparc64: Add missing hypervisor service group numbers.
sparc64: Remove 4MB and 512K base page size options.
sparc64: Convert to generic helpers for IPI function calls.
sparc: Use new '%pS' infrastructure to print symbols.
sparc32: fix init.c allnoconfig build error
sparc64: Config category "Processor type and features" absent
sparc: arch/sparc/kernel/apc.c to unlocked_ioctl
sparc: join the remaining header files
sparc: merge header files with trivial differences
sparc: when header files are equal use asm-sparc version
sparc: copy sparc64 specific files to asm-sparc
sparc: Merge asm-sparc{,64}/asi.h
sparc: export openprom.h to userspace
sparc: Merge asm-sparc{,64}/types.h
sparc: Merge asm-sparc{,64}/termios.h
sparc: Merge asm-sparc{,64}/termbits.h
sparc: Merge asm-sparc{,64}/setup.h
...
Diffstat (limited to 'include/asm-sparc/auxio_32.h')
| -rw-r--r-- | include/asm-sparc/auxio_32.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/include/asm-sparc/auxio_32.h b/include/asm-sparc/auxio_32.h new file mode 100644 index 00000000000..4db8f23db20 --- /dev/null +++ b/include/asm-sparc/auxio_32.h @@ -0,0 +1,89 @@ +/* + * auxio.h: Definitions and code for the Auxiliary I/O register. + * + * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) + */ +#ifndef _SPARC_AUXIO_H +#define _SPARC_AUXIO_H + +#include <asm/system.h> +#include <asm/vaddrs.h> + +/* This register is an unsigned char in IO space. It does two things. + * First, it is used to control the front panel LED light on machines + * that have it (good for testing entry points to trap handlers and irq's) + * Secondly, it controls various floppy drive parameters. + */ +#define AUXIO_ORMEIN 0xf0 /* All writes must set these bits. */ +#define AUXIO_ORMEIN4M 0xc0 /* sun4m - All writes must set these bits. */ +#define AUXIO_FLPY_DENS 0x20 /* Floppy density, high if set. Read only. */ +#define AUXIO_FLPY_DCHG 0x10 /* A disk change occurred. Read only. */ +#define AUXIO_EDGE_ON 0x10 /* sun4m - On means Jumper block is in. */ +#define AUXIO_FLPY_DSEL 0x08 /* Drive select/start-motor. Write only. */ +#define AUXIO_LINK_TEST 0x08 /* sun4m - On means TPE Carrier detect. */ + +/* Set the following to one, then zero, after doing a pseudo DMA transfer. */ +#define AUXIO_FLPY_TCNT 0x04 /* Floppy terminal count. Write only. */ + +/* Set the following to zero to eject the floppy. */ +#define AUXIO_FLPY_EJCT 0x02 /* Eject floppy disk. Write only. */ +#define AUXIO_LED 0x01 /* On if set, off if unset. Read/Write */ + +#ifndef __ASSEMBLY__ + +/* + * NOTE: these routines are implementation dependent-- + * understand the hardware you are querying! + */ +extern void set_auxio(unsigned char bits_on, unsigned char bits_off); +extern unsigned char get_auxio(void); /* .../asm-sparc/floppy.h */ + +/* + * The following routines are provided for driver-compatibility + * with sparc64 (primarily sunlance.c) + */ + +#define AUXIO_LTE_ON 1 +#define AUXIO_LTE_OFF 0 + +/* auxio_set_lte - Set Link Test Enable (TPE Link Detect) + * + * on - AUXIO_LTE_ON or AUXIO_LTE_OFF + */ +#define auxio_set_lte(on) \ +do { \ + if(on) { \ + set_auxio(AUXIO_LINK_TEST, 0); \ + } else { \ + set_auxio(0, AUXIO_LINK_TEST); \ + } \ +} while (0) + +#define AUXIO_LED_ON 1 +#define AUXIO_LED_OFF 0 + +/* auxio_set_led - Set system front panel LED + * + * on - AUXIO_LED_ON or AUXIO_LED_OFF + */ +#define auxio_set_led(on) \ +do { \ + if(on) { \ + set_auxio(AUXIO_LED, 0); \ + } else { \ + set_auxio(0, AUXIO_LED); \ + } \ +} while (0) + +#endif /* !(__ASSEMBLY__) */ + + +/* AUXIO2 (Power Off Control) */ +extern __volatile__ unsigned char * auxio_power_register; + +#define AUXIO_POWER_DETECT_FAILURE 32 +#define AUXIO_POWER_CLEAR_FAILURE 2 +#define AUXIO_POWER_OFF 1 + + +#endif /* !(_SPARC_AUXIO_H) */ |
