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

📄 irframer_hw.h

📁 MTK平台绝密核心代码之 外设管理(红外线)
💻 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 + -