NetBSD/sys/arch/acorn26/podulebus/podulebusreg.h
bjh21 205186731b Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers.  This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus.  Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
2002-05-22 22:43:13 +00:00

67 lines
1.6 KiB
C

/* $NetBSD: podulebusreg.h,v 1.2 2002/05/22 22:43:17 bjh21 Exp $ */
/*
* 2000 Ben Harris
*
* This file is in the public domain.
*/
#ifndef _PODULEBUSREG_H_
#define _PODULEBUSREG_H_
#define MAX_PODULES 4
#define PODULE_GAP (0x4000 >> 2)
/* Podule CMOS bytes */
#define PODULE_CMOS_BASE (112 + 0x40)
#define PODULE_CMOS_PERSLOT 4
/* Podule identity byte (ECId) flags */
#define ECID_IRQING 0x01
#define ECID_NOTPRESENT 0x02
#define ECID_FIQING 0x04
#define ECID_ID_MASK 0x78
#define ECID_ID_SHIFT 3
#define ECID_ID_EXTEND 0x00
#define ECID_NONCONF 0x80
/* Extended ECId bytes */
#define EXTECID_F1 1
#define EXTECID_F1_CD 0x01
#define EXTECID_F1_IS 0x02
#define EXTECID_F1_W_MASK 0xc0
#define EXTECID_F1_W_8BIT 0x00
#define EXTECID_F1_W_16BIT 0x40
#define EXTECID_F1_W_32BIT 0x80
#define EXTECID_PLO 3
#define EXTECID_PHI 4
#define EXTECID_MLO 5
#define EXTECID_MHI 6
#define EXTECID_SIZE 8
/* Extended interrupt pointers */
#define IRQPTR_SIZE 8
/* Chunk types */
#define CHUNK_RISCOS_LOADER 0x80
#define CHUNK_RISCOS_MODULE 0x81
#define CHUNK_RISCOS_BBCROM 0x82
#define CHUNK_RISCOS_SPRITE 0x83
#define CHUNK_OS1_LOADER 0x90
#define CHUNK_RISCIX_LOADER 0xa0
#define CHUNK_HELIOS 0xa3
#define CHUNK_DEV_LINK 0xf0
#define CHUNK_DEV_SERIAL 0xf1 /* ASCII string */
#define CHUNK_DEV_DATE 0xf2 /* ASCII string */
#define CHUNK_DEV_MODS 0xf3 /* ASCII string */
#define CHUNK_DEV_PLACE 0xf4 /* ASCII string */
#define CHUNK_DEV_DESCR 0xf5 /* ASCII string */
#define CHUNK_DEV_PARTNO 0xf6 /* ASCII string */
#define CHUNK_DEV_EADDR 0xf7 /* Six bytes */
#define CHUNK_DEV_HWREV 0xf8 /* Four-byte LE word */
#define CHUNK_DEV_ROMCRC 0xf9
#endif