i8254.h

来自「国产CPU-龙芯(loongson)BIOS源代码」· C头文件 代码 · 共 82 行

H
82
字号
/* * i8254.h: definitions for i8254 programmable interval timer in P5064 * * Copyright (c) 1997-1999, Algorithmics Ltd.  All rights reserved. * * This program is free software; you can redistribute it and/or modify  * it under the terms of the "Free MIPS" License Agreement, a copy of  * which is available at: * *  http://www.algor.co.uk/ftp/pub/doc/freemips-license.txt * * You may not, however, modify or remove any part of this copyright  * message if this program is redistributed or reused in whole or in * part. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * "Free MIPS" License for more details.   *//* Timer 0 is clock interrupt (irq0) * Timer 1 is refresh clock * Timer 2 is speaker tone */#define PT_CLOCK	0#define PT_REFRESH	1#define PT_SPEAKER	2#define PT_CONTROL	3#ifndef __ASSEMBLER__struct i8254 {    	unsigned char	pt_counter0;    	unsigned char	pt_counter1;    	unsigned char	pt_counter2;    	unsigned char	pt_control;};#define pt_clock	pt_counter0#define pt_refresh	pt_counter1#define pt_speaker	pt_counter2#else#define PT_REG(x)	(x)#endif/* * control word definitions */#define	PTCW_RBCMD	(3<<6)		/* read-back command */ #define  PTCW_RB_NCNT	 0x20		   /* rb: no count */ #define  PTCW_RB_NSTAT	 0x10		   /* rb: no status */ #define  PTCW_RB_SC(x)	 (0x02<<(x))	   /* rb: select counter x */#define	PTCW_SC(x)	((x)<<6)	/* select counter x */#define	PTCW_CLCMD	(0<<4)		/* counter latch command */#define	PTCW_LSB	(1<<4)		/* r/w least signif. byte only */#define	PTCW_MSB	(2<<4)		/* r/w most signif. byte only */#define	PTCW_16B	(3<<4)		/* r/w 16 bits, lsb then msb */#define	PTCW_MODE(x)	((x)<<1)	/* set mode to x */#define	PTCW_BCD	0x1		/* operate in BCD mode *//* * Status word definitions */#define PTSW_OUTPUT	0x80		/* output pin active */#define PTSW_NULL	0x40		/* null count *//* * Mode definitions */#define	MODE_ITC	0		/* interrupt on terminal count */#define	MODE_HROS	1		/* hw retriggerable one-shot */#define	MODE_RG		2		/* rate generator */#define	MODE_SQW	3		/* square wave generator */#define	MODE_STS	4		/* software triggered strobe */#define	MODE_HTS	5		/* hardware triggered strobe */#define PT_CRYSTAL	14318180	/* timer crystal hz (ticks/sec) */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?