📄 irframer_hw.h
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
#ifndef _IRFRAMER_HW_H
#define _IRFRAMER_HW_H
/* Transmit */
#define IR_BUF (IRDA_base+0x0)
#define IR_BUF_CLEAR (IRDA_base+0x04)
/* Control */
#define IR_MAX_T (IRDA_base+0x08)
#define IR_MIN_T (IRDA_base+0x0c)
#define IR_BOFS (IRDA_base+0x10)
#define IR_DIV (IRDA_base+0x14)
#define IR_TX_FRAME_SIZE (IRDA_base+0x18)
#define IR_RX_FRAME_SIZE (IRDA_base+0x1c) /*read only*/
#define IR_ABORT (IRDA_base+0x20)
#define IR_TX_EN (IRDA_base+0x24)
#define IR_RX_EN (IRDA_base+0x28)
/*Interrupt*/
#define IR_INTTRIGGER (IRDA_base+0x2c)
#define IR_IRQ_ENABLE (IRDA_base+0x30)
#define IR_STA (IRDA_base+0x34)
#define IR_LSR (IRDA_base+0x38)
#define IR_TRANSCEIVER_PDN (IRDA_base+0x3c)
#define IR_RX_FRAME_MAX (IRDA_base+0x40)
#define IR_DISCONNECT_TIME (IRDA_base+0x44)
#define IR_COUNT_ENABLE (IRDA_base+0x48)
#define IR_RATE (IRDA_base+0x4c)
#define IR_RATE_FIX (IRDA_base+0x50)
#define IR_FRAME1_STA (IRDA_base+0x54)
#define IR_FRAME2_STA (IRDA_base+0x58)
#define IR_RX_FRAME2_SIZE (IRDA_base+0x5c)
#if defined(MT6228)||defined(MT6229) || defined(MT6230)
#define IR_MODE (IRDA_base+0x60)
#define IR_FIFO_STA (IRDA_base+0x64)
#endif
/*=================Bit Definition=============================*/
#define IR_DATA_MASK 0x00ff
#define IR_MAX_T_MASK 0xffff
#define IR_MIN_T_MASK 0x03ff
#define IR_DIV_MASK 0xffff
#define IR_TXFRAME_SIZE_MASK 0x0fff
#define IR_RXFRAME_SIZE_MASK 0x0fff
#define IR_INTTRIGGER_TXMASK 0x0003
#define IR_INTTRIGGER_RXMASK 0x000c
/*IR_INTTRIGGER*/
//#define IR_INTTRIGGER_NORMAL 0x0000 /*TX_TRIG = 2, RX_TRIG=2*/
#define IR_INTTRIGGER_NORMAL 0x0003 /*TX_TRIG = 2, RX_TRIG=2*/
/*FIFO clear*/
#define IR_BUF_CLEAR_BIT 0x0001
/*IR_BOFS*/
#define IR_BOFS_MASK 0x007f
#define IR_BOFS_INIVALUE 0x000b
/*IR_ABORT*/
#define IR_ABORT_BIT 0x0001 /*Trx enable*/
/*IR_TX_EN*/
#define IR_TX_EN_BIT 0x0001 /*Trx enable*/
#define IR_TX_EN_MODE 0x0002 /*0:3/16 , 1: 1.61us*/
#define IR_TX_EN_INVERT 0x0004 /*invert tx signal*/
#define IR_TX_EN_ONESHIT 0x0008 /*HW auto clear tx_en, when frame is sent*/
#if ( (defined(MT6218B))||defined(MT6226M) || (defined(MT6219))||(defined(MT6217))||(defined(MT6228))||(defined(MT6229)) || defined(MT6230)||(defined(MT6226))||(defined(MT6227)))
#define IR_TX_EN_NORMAL 0x0003 /*3/16, don't invert signal*/
#define IR_TX_EN_DISABLE 0x0000
#endif /*MT6218B,MT6219,MT6217*/
/*HW 6228/6229 ECO to cover Vishay transicver*/
#define IR_TX_MIR576_ENABLE 0x8
/*IR_RX_EN*/
#define IR_RX_EN_BIT 0x0001
#define IR_RX_EN_INVERT 0x0002 /*invert rx signal*/
#define IR_RX_EN_RXONE 0x0004 /*disable when get one frame*/
#define IR_RX_EN_NORMAL 0x0001
#define IR_RX_EN_DISABLE 0x0000
/*IR_IRQ_ENABLE*/
#define IR_IRQ_ENABLE_TXTRIG 0x0001 /*x*/
#define IR_IRQ_ENABLE_RXTRIG 0x0002 /*x*/
#define IR_IRQ_ENABLE_ERROR 0x0004
#define IR_IRQ_ENABLE_TXCOMPLETE 0x0008
#define IR_IRQ_ENABLE_RXCOMPLETE 0x0010
#define IR_IRQ_ENABLE_MINTOUT 0x0020 /*x*/
#define IR_IRQ_ENABLE_MAXTOUT 0x0040 /*x*/
#define IR_IRQ_ENABLE_RXABORT 0x0080
#define IR_IRQ_ENABLE_TXABORT 0x0100
#define IR_IRQ_ENABLE_FIFOTOUT 0x0200 /*x*/
#define IR_IRQ_ENABLE_THRESHTOUT 0x0400 /*x*/
#define IR_IRQ_ENABLE_NORMAL 0x019e /*Disable all timer*/
#define IR_IRQ_ENABLE_DMANORMAL 0x01dc
/*IR_STA*/
#define IR_STA_TXTRIG 0x0001
#define IR_STA_RXTRIG 0x0002
#define IR_STA_LSR 0x0004
#define IR_STA_TXCOMPLETE 0x0008
#define IR_STA_RXCOMPLETE 0x0010
#define IR_STA_2ND_RXCOMPLETE 0x1000
#define IR_STA_MINTOUT 0x0020
#define IR_STA_MAXTOUT 0x0040
#define IR_STA_RXABORT 0x0080
#define IR_STA_TXABORT 0x0100
#define IR_STA_FIFOTOUT 0x0200
#define IR_STA_THRESHTOUT 0x0400
/*IR_ERROR*/
#define IR_LSR_RXSIZE 0x0001
#define IR_LSR_OVERRUN 0x0002
#define IR_LSR_FRAMING 0x0004
#define IR_LSR_CRC 0x0008
#define IR_LSR_TXEMPTY 0x0010
#define IR_LSR_DR 0x0020
#define IR_LSR_PF 0x0040
#if defined(MT6228)||defined(MT6229) || defined(MT6230)
#define IR_FRAME1_ERROR 0x0010
#define IR_FRAME2_ERROR 0x0020
#define IR_TX_UNDERRUN 0x0040
#endif
/*Power on*/
#define IR_POWER_ON 0x0000
#define IR_POWER_OFF 0x0001
#endif /*_IRFRAMER_HW_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -