⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 it8172_cir.h

📁 linux-2.4.29操作系统的源码
💻 H
字号:
/* * * BRIEF MODULE DESCRIPTION *	IT8172 Consumer IR port defines. * * Copyright 2001 MontaVista Software Inc. * Author: MontaVista Software, Inc. *         	ppopov@mvista.com or source@mvista.com * *  This program is free software; you can redistribute  it and/or modify it *  under  the terms of  the GNU General  Public License as published by the *  Free Software Foundation;  either version 2 of the  License, or (at your *  option) any later version. * *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT, *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *  You should have received a copy of the  GNU General Public License along *  with this program; if not, write  to the Free Software Foundation, Inc., *  675 Mass Ave, Cambridge, MA 02139, USA. */#define NUM_CIR_PORTS 2/* Master Control Register */#define CIR_RESET              0x1#define CIR_FIFO_CLEAR         0x2#define CIR_SET_FIFO_TL(x)     (((x)&0x3)<<2)#define CIR_ILE                0x10#define CIR_ILSEL              0x20/* Interrupt Enable Register */#define CIR_TLDLIE             0x1#define CIR_RDAIE              0x2#define CIR_RFOIE              0x4#define CIR_IEC                0x80/* Interrupt Identification Register */#define CIR_TLDLI              0x1#define CIR_RDAI               0x2#define CIR_RFOI               0x4#define CIR_NIP                0x80/* Carrier Frequency Register */#define CIR_SET_CF(x)          ((x)&0x1f)  #define CFQ_38_480           0xB       /* 38 KHz low, 480 KHz high */#define CIR_HCFS               0x20  #define CIR_SET_HS(x)        (((x)&0x1)<<5)/* Receiver Control Register */#define CIR_SET_RXDCR(x)       ((x)&0x7)#define CIR_RXACT              0x8#define CIR_RXEND              0x10#define CIR_RDWOS              0x20  #define CIR_SET_RDWOS(x)     (((x)&0x1)<<5)#define CIR_RXEN               0x80/* Transmitter Control Register */#define CIR_SET_TXMPW(x)       ((x)&0x7)#define CIR_SET_TXMPM(x)       (((x)&0x3)<<3)#define CIR_TXENDF             0x20#define CIR_TXRLE              0x40/* Receiver FIFO Status Register */#define CIR_RXFBC_MASK         0x3f#define CIR_RXFTO              0x80/* Wakeup Code Length Register */#define CIR_SET_WCL            ((x)&0x3f)#define CIR_WCL_MASK(x)        ((x)&0x3f)/* Wakeup Power Control/Status Register */#define CIR_BTMON              0x2#define CIR_CIRON              0x4#define CIR_RCRST              0x10#define CIR_WCRST              0x20struct cir_port {	int port;	unsigned short baud_rate;	unsigned char fifo_tl;	unsigned char cfq;	unsigned char hcfs;	unsigned char rdwos;	unsigned char rxdcr;};struct it8172_cir_regs {	unsigned char dr;       /* data                        */	char pad;	unsigned char mstcr;    /* master control              */	char pad1;	unsigned char ier;      /* interrupt enable            */	char pad2;	unsigned char iir;      /* interrupt identification    */	char pad3;	unsigned char cfr;      /* carrier frequency           */	char pad4;	unsigned char rcr;      /* receiver control            */	char pad5;	unsigned char tcr;      /* transmitter control         */	char pad6;	char pad7;	char pad8;	unsigned char bdlr;     /* baud rate divisor low byte  */	char pad9;	unsigned char bdhr;     /* baud rate divisor high byte */	char pad10;	unsigned char tfsr;     /* tx fifo byte count          */	char pad11;	unsigned char rfsr;     /* rx fifo status              */	char pad12;	unsigned char wcl;      /* wakeup code length          */	char pad13;	unsigned char wcr;      /* wakeup code read/write      */	char pad14;	unsigned char wps;      /* wakeup power control/status */};int cir_port_init(struct cir_port *cir);extern void clear_fifo(struct cir_port *cir);extern void enable_receiver(struct cir_port *cir);extern void disable_receiver(struct cir_port *cir);extern void enable_rx_demodulation(struct cir_port *cir);extern void disable_rx_demodulation(struct cir_port *cir);extern void set_rx_active(struct cir_port *cir);extern void int_enable(struct cir_port *cir);extern void rx_int_enable(struct cir_port *cir);extern char get_int_status(struct cir_port *cir);extern int cir_get_rx_count(struct cir_port *cir);extern char cir_read_data(struct cir_port *cir);

⌨️ 快捷键说明

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