/*	Copyright (c) 1984, 1986, 1987, 1988 AT&T	*/
/*	  All Rights Reserved  	*/

/*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*/
/*	The copyright notice above does not evidence any   	*/
/*	actual or intended publication of such source code.	*/

#ident	"@(#)head.sys:pit.h	1.5"

/*
 *         INTEL CORPORATION PROPRIETARY INFORMATION
 *
 *     This software is supplied under the terms of a license 
 *    agreement or nondisclosure agreement with Intel Corpo-
 *    ration and may not be copied or disclosed except in
 *    accordance with the terms of that agreement.
 */

#if defined (MB1) || defined (MB2)
/* Definitions for 8254 Programmable Interrupt Timer ports on 386/20 */
#define	PITCTR0_PORT	0xD0		/* counter 0 port */	
#define	PITCTR1_PORT	0xD2		/* counter 1 port */	
#define	PITCTR2_PORT	0xD4		/* counter 2 port */	
#define	PITCTL_PORT	0xD6		/* PIT control port */
#endif
#ifdef AT386
/* Definitions for 8254 Programmable Interrupt Timer ports on AT 386 */
#define	PITCTR0_PORT	0x40		/* counter 0 port */	
#define	PITCTR1_PORT	0x41		/* counter 1 port */	
#define	PITCTR2_PORT	0x42		/* counter 2 port */	
#define	PITCTL_PORT	0x43		/* PIT control port */
#define	PITAUX_PORT	0x61		/* PIT auxiliary port */
#endif /* AT386 */

/* Definitions for 8254 commands */

/* Following are used for Timer 0 */
#define PIT_C0          0x00            /* select counter 0 */
#define	PIT_LOADMODE	0x30		/* load least significant byte followed
					 * by most significant byte */
#define PIT_NDIVMODE	0x04		/*divide by N counter */
#define	PIT_SQUAREMODE	0x06		/* square-wave mode */

/* Used for Timer 1. Used for delay calculations in countdown mode */
#define PIT_C1          0x40            /* select counter 1 */
#define	PIT_READMODE	0x30		/* read or load least significant byte
					 * followed by most significant byte */
#define	PIT_RATEMODE	0x06		/* square-wave mode for USART */

#if defined(MB1)
#define CLKNUM 12288			/* clock speed for the timer in hz 
					 * divided by the constant HZ
					 * ( defined in param.h )
					 */
#endif
#if defined(MB2)
#define CLKNUM 12500			/* clock speed for the timer in hz 
					 * divided by the constant HZ
					 * ( defined in param.h )
					 */
#endif
#ifdef AT386
#define	CLKNUM	(1193167/HZ)		/* clock speed for timer */
/* bits used in auxiliary control port for timer 2 */
#define	PITAUX_GATE2	0x01		/* aux port, PIT gate 2 input */
#define	PITAUX_OUT2	0x02		/* aux port, PIT clock out 2 enable */
#endif /* AT386 */

