[BACK]Return to sioreg.h CVS log [TXT][DIR] Up to [local] / sys / arch / alpha / pci

File: [local] / sys / arch / alpha / pci / sioreg.h (download)

Revision 1.1.1.1 (vendor branch), Tue Mar 4 16:04:47 2008 UTC (16 years, 3 months ago) by nbrk
Branch: OPENBSD_4_2_BASE, MAIN
CVS Tags: jornada-partial-support-wip, HEAD
Changes since 1.1: +0 -0 lines

Import of OpenBSD 4.2 release kernel tree with initial code to support 
Jornada 720/728, StrongARM 1110-based handheld PC.
At this point kernel roots on NFS and boots into vfs_mountroot() and traps.
What is supported:
- glass console, Jornada framebuffer (jfb) works in 16bpp direct color mode
(needs some palette tweaks for non black/white/blue colors, i think)
- saic, SA11x0 interrupt controller (needs cleanup)
- sacom, SA11x0 UART (supported only as boot console for now)
- SA11x0 GPIO controller fully supported (but can't handle multiple interrupt
handlers on one gpio pin)
- sassp, SSP port on SA11x0 that attaches spibus
- Jornada microcontroller (jmcu) to control kbd, battery, etc throught
the SPI bus (wskbd attaches on jmcu, but not tested)
- tod functions seem work
- initial code for SA-1111 (chip companion) : this is TODO

Next important steps, i think:
- gpio and intc on sa1111
- pcmcia support for sa11x0 (and sa1111 help logic)
- REAL root on nfs when we have PCMCIA support (we may use any of supported pccard NICs)
- root on wd0! (using already supported PCMCIA-ATA)

/*	$OpenBSD: sioreg.h,v 1.3 1996/10/30 22:40:16 niklas Exp $	*/
/*	$NetBSD: sioreg.h,v 1.1 1996/04/23 14:10:53 cgd Exp $	*/

/*
 * Copyright (c) 1996 BBN Corporation.
 *   BBN Systems and Technologies Division
 *   10 Moulton Street
 *   Cambridge, Ma. 02138
 *   617-873-3000
 *
 *  Permission to use, copy, modify, distribute, and sell this software and its
 *  documentation for  any purpose is hereby granted without fee, provided that
 *  the above copyright notice and this permission appear  in all copies and in
 *  supporting documentation, and that the name of BBN Corporation not  be used
 *  in  advertising  or  publicity pertaining  to  distribution of the software
 *  without specific, written  prior  permission.  BBN makes no representations
 *  about  the  suitability  of this software for any purposes.  It is provided
 *  "AS IS" without express or implied warranties.
 */

/*
 * Intel 82378 System I/O (SIO) Chip
 *
 * Taken from the Intel "Peripheral Components" manual, 1995 Edition.
 */


/*
 * Device-specific PCI Configuration Registers
 */

/*
 * PCI Control Registers
 */
#define	SIO_PCIREG_PCICON	0x40	/* PCI Control */
#define	SIO_PCIREG_PAC		0x41	/* PCI Arbiter Control */
#define	SIO_PCIREG_PAPC		0x42	/* PCI Arbiter Priority Control */
#define	SIO_PCIREG_ARBPRIX	0x43	/* PCI Arbiter Priority Control Ext. */

/*
 * Memory Chip Select Registers
 */
#define	SIO_PCIREG_MEMCSCON	0x44	/* MEMCS# Control */
#define	SIO_PCIREG_MEMCSBOH	0x45	/* MEMCS# Bottom of Hole */
#define	SIO_PCIREG_MEMCSTOH	0x46	/* MEMCS# Top of Hole */
#define	SIO_PCIREG_MEMCSTOM	0x47	/* MEMCS# Top of Memory */

#define	SIO_PCIREG_MAR1		0x54	/* MEMCS# Attribute 1 */
#define	SIO_PCIREG_MAR2		0x55	/* MEMCS# Attribute 2 */
#define	SIO_PCIREG_MAR3		0x56	/* MEMCS# Attribute 3 */
#define	SIO_PCIREG_DMASGRB	0x57	/* DMA Scatter/Gather Rel. Base Addr. */

/*
 * ISA Address Decoder Registers
 */
#define	SIO_PCIREG_IADCON	0x48	/* ISA Address Decoder Control */
#define	SIO_PCIREG_IADRBE	0x49	/* ISA Addr. Decoder ROM Block Enable */
#define	SIO_PCIREG_IADBOH	0x4A	/* ISA Addr. Decoder Bottom of Hole */
#define	SIO_PCIREG_IADTOH	0x4B	/* ISA Addr. Decoder Top of Hole */

/*
 * Clocks and Timers
 */
#define	SIO_PCIREG_ICRT		0x4C	/* ISA Controller Recovery Timer */
#define	SIO_PCIREG_ICD		0x4D	/* ISA Clock Divisor */

#define	SIO_PCIREG_		0x80	/* BIOS Timer Base Address */

#define	SIO_PCIREG_CTLTMRL	0xAC	/* Clock Throttle STPCLK# Low Timer */
#define	SIO_PCIREG_CTLTMRH	0xAE	/* Clock Throttle STPCLK# High Timer */

/*
 * Miscellaneous
 */
#define	SIO_PCIREG_UBCSA	0x4E	/* Utility Bus Chip Select A */
#define	SIO_PCIREG_UBCSB	0x4F	/* Utility Bus Chip Select B */

/*
 * PIRQ# Route Control
 */
#define	SIO_PCIREG_PIRQ0	0x60	/* PIRQ0 Route Control */
#define	SIO_PCIREG_PIRQ1	0x61	/* PIRQ1 Route Control */
#define	SIO_PCIREG_PIRQ2	0x62	/* PIRQ2 Route Control */
#define	SIO_PCIREG_PIRQ3	0x63	/* PIRQ3 Route Control */
#define	SIO_PCIREG_PIRQ_RTCTRL	SIO_PCIREG_PIRQ0

/*
 * System Management Interrupt (SMI)
 */
#define	SIO_PCIREG_SMICNTL	0xA0	/* SMI Control */
#define	SIO_PCIREG_SMIEN	0xA2	/* SMI Enable */
#define	SIO_PCIREG_SEE		0xA4	/* System Event Enable */
#define	SIO_PCIREG_FTMR		0xA8	/* Fast Off Timer */
#define	SIO_PCIREG_SMIREQ	0xAA	/* SMI Request */


/*
 * Non-Configuration Registers
 */

/*
 * Control
 */
#define	SIO_REG_RSTUB		0x060	/* Reset UBus */
#define	SIO_REG_NMICTRL		0x061	/* NMI Status and Control */
#define	SIO_REG_CMOSRAM		0x070	/* CMOS RAM Address and NMI Mask */
#define	SIO_REG_NMIMASK		0x070	/* CMOS RAM Address and NMI Mask */
#define	SIO_REG_PORT92		0x092	/* Port 92 */
#define	SIO_REG_CPERR		0x0F0	/* Coprocessor Error */

/*
 * Interrupt
 */
#define	SIO_REG_ICU1		0x020	/* Intr. Controller #1 Control */
#define	SIO_REG_ICU1MASK	0x021	/* Intr. Controller #1 Mask */
#define	SIO_REG_ICU2		0x0A0	/* Intr. Controller #2 Control */
#define	SIO_REG_ICU2MASK	0x0A1	/* Intr. Controller #2 Mask */
#define	SIO_REG_ICU1ELC		0x4D0	/* #1's Edge/Level Control */
#define	SIO_REG_ICU2ELC		0x4D1	/* #2's Edge/Level Control */
#define	SIO_ICUSIZE		16	/* I/O Port Sizes */

/*
 * Timer
 */
/* XXX need Timer definitions */

/*
 * DMA
 */
/* XXX need DMA definitions */