diff options
author | briggs <briggs@cvs.openbsd.org> | 1997-02-23 06:05:06 +0000 |
---|---|---|
committer | briggs <briggs@cvs.openbsd.org> | 1997-02-23 06:05:06 +0000 |
commit | 6348d3694adc43550a2da122c7c545688180f4b2 (patch) | |
tree | 2297077ac7ecabb78e91846ac5b13585191665f9 /sys/arch/mac68k/dev/adbvar.h | |
parent | 2cd5585c523ce43d9f0a358c93162be888c32779 (diff) |
Integrate code from John P. Wittkoski <jpw@netwizards.net> and
Takashi Hamada <hamada@next.etron.kanazawa-it.ac.jp>. This code
interfaces directly to the hardware to support the ADB on many
macs. It is enabled by "options HWDIRECT" in the configuration
file. At some point, this should probably become the default method
as interfacing to the ADB through the ROMs has been painful and sometimes
problematic.
This code should have functioning ADB support for:
II series (II, SE/30, IIx, IIcx)
IIsi series (IIsi, IIci, IIvx, IIvi)
LC II, LC III
Performa 400, 405, 430, 460, 465, 467, 600
Classic II, Color Classic, Color Classic II
PB 5XX series
Duo series
PB 140,145,145b,160,(160c?),165,165c,170,180,180c
Quadra 700,900,950
There is an off-chance that it will work on:
PB 150, PB 190
Quadra/Centris 605,610,630,650,660AV,800,840AV
LC 475,550,575,630
Performa 475,476,575,577,578,630
Note that functioning ADB support does not mean that everything else
will work. I obviously do not own all of the above machines (does
anyone? ;-)... Any reports are welcome.
Many thanks to John Wittkoski and Takashi Hamada!
Diffstat (limited to 'sys/arch/mac68k/dev/adbvar.h')
-rw-r--r-- | sys/arch/mac68k/dev/adbvar.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/sys/arch/mac68k/dev/adbvar.h b/sys/arch/mac68k/dev/adbvar.h index 97e38867a5b..3070587e981 100644 --- a/sys/arch/mac68k/dev/adbvar.h +++ b/sys/arch/mac68k/dev/adbvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: adbvar.h,v 1.4 1997/01/24 01:35:28 briggs Exp $ */ +/* $OpenBSD: adbvar.h,v 1.5 1997/02/23 06:04:55 briggs Exp $ */ /* $NetBSD: adbvar.h,v 1.5 1997/01/13 07:01:24 scottr Exp $ */ /*- @@ -31,6 +31,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include <machine/adbsys.h> + #define ADB_MAXTRACE (NBPG / sizeof(int) - 1) extern int adb_traceq[ADB_MAXTRACE]; extern int adb_traceq_tail; @@ -64,3 +66,25 @@ void extdms_complete __P((void)); /* adbsys.c */ void adb_complete __P((caddr_t buffer, caddr_t data_area, int adb_command)); void extdms_init __P((int)); + +#ifdef HWDIRECT + +/* types of adb hardware that we (will eventually) support */ +#define ADB_HW_UNKNOWN 0x01 /* don't know */ +#define ADB_HW_II 0x02 /* Mac II series */ +#define ADB_HW_IISI 0x03 /* Mac IIsi series */ +#define ADB_HW_PB 0x04 /* PowerBook series */ +#define ADB_HW_CUDA 0x05 /* Machines with a Cuda chip */ + +/* adb_direct.c */ +int adb_poweroff __P((void)); +int CountADBs __P((void)); +void ADBReInit __P((void)); +int GetIndADB __P((ADBDataBlock * info, int index)); +int GetADBInfo __P((ADBDataBlock * info, int adbAddr)); +int SetADBInfo __P((ADBSetInfoBlock * info, int adbAddr)); +int ADBOp __P((Ptr buffer, Ptr compRout, Ptr data, short commandNum)); +int adb_read_date_time __P((unsigned long *t)); +int adb_set_date_time __P((unsigned long t)); + +#endif |