at91sam9263_lcdc.h
来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C头文件 代码 · 共 305 行 · 第 1/2 页
H
305 行
/* linux/include/asm-arm/arch-at91sam9263/at91sam9263_lcdc.h
*
* Hardware definition for the lcdc peripheral in the ATMEL at91sam9263 processor
*
* Generated 12/07/2006 (13:13:45) AT91 SW Application Group from LCDC_6063A V1.3
*
* 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, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
* DISCLAIMED. IN NO EVENT SHALL ATMEL 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.
*/
#ifndef __AT91SAM9263_LCDC_H
#define __AT91SAM9263_LCDC_H
/* -------------------------------------------------------- */
/* LCDC ID definitions for AT91SAM9263 */
/* -------------------------------------------------------- */
#ifndef AT91C_ID_LCDC
#define AT91C_ID_LCDC 26 /**< LCD Controller id */
#endif /* AT91C_ID_LCDC */
/* -------------------------------------------------------- */
/* LCDC Base Address definitions for AT91SAM9263 */
/* -------------------------------------------------------- */
#define AT91C_BASE_LCDC 0x00700000 /**< LCDC base address */
/* -------------------------------------------------------- */
/* PIO definition for LCDC hardware peripheral */
/* -------------------------------------------------------- */
#define AT91C_PB9_LCDCC (1 << 9) /**< */
#define AT91C_PC4_LCDD0 (1 << 4) /**< */
#define AT91C_PC5_LCDD1 (1 << 5) /**< */
#define AT91C_PC14_LCDD10 (1 << 14) /**< */
#define AT91C_PC9_LCDD10B (1 << 9) /**< */
#define AT91C_PC15_LCDD11 (1 << 15) /**< */
#define AT91C_PC10_LCDD11B (1 << 10) /**< */
#define AT91C_PC16_LCDD12 (1 << 16) /**< */
#define AT91C_PC11_LCDD12B (1 << 11) /**< */
#define AT91C_PC17_LCDD13 (1 << 17) /**< */
#define AT91C_PC12_LCDD13B (1 << 12) /**< */
#define AT91C_PC18_LCDD14 (1 << 18) /**< */
#define AT91C_PC13_LCDD14B (1 << 13) /**< */
#define AT91C_PC19_LCDD15 (1 << 19) /**< */
#define AT91C_PC14_LCDD15B (1 << 14) /**< */
#define AT91C_PC20_LCDD16 (1 << 20) /**< */
#define AT91C_PC21_LCDD17 (1 << 21) /**< */
#define AT91C_PC22_LCDD18 (1 << 22) /**< */
#define AT91C_PC23_LCDD19 (1 << 23) /**< */
#define AT91C_PC15_LCDD19B (1 << 15) /**< */
#define AT91C_PC6_LCDD2 (1 << 6) /**< */
#define AT91C_PC24_LCDD20 (1 << 24) /**< */
#define AT91C_PC16_LCDD20B (1 << 16) /**< */
#define AT91C_PC25_LCDD21 (1 << 25) /**< */
#define AT91C_PC17_LCDD21B (1 << 17) /**< */
#define AT91C_PC26_LCDD22 (1 << 26) /**< */
#define AT91C_PC18_LCDD22B (1 << 18) /**< */
#define AT91C_PC27_LCDD23 (1 << 27) /**< */
#define AT91C_PC19_LCDD23B (1 << 19) /**< */
#define AT91C_PC7_LCDD3 (1 << 7) /**< */
#define AT91C_PC4_LCDD3B (1 << 4) /**< */
#define AT91C_PC8_LCDD4 (1 << 8) /**< */
#define AT91C_PC5_LCDD4B (1 << 5) /**< */
#define AT91C_PC9_LCDD5 (1 << 9) /**< */
#define AT91C_PC6_LCDD5B (1 << 6) /**< */
#define AT91C_PC10_LCDD6 (1 << 10) /**< */
#define AT91C_PC7_LCDD6B (1 << 7) /**< */
#define AT91C_PC11_LCDD7 (1 << 11) /**< */
#define AT91C_PC8_LCDD7B (1 << 8) /**< */
#define AT91C_PC12_LCDD8 (1 << 12) /**< */
#define AT91C_PC13_LCDD9 (1 << 13) /**< */
#define AT91C_PC2_LCDDOTCK (1 << 2) /**< */
#define AT91C_PC3_LCDEN (1 << 3) /**< */
#define AT91C_PC1_LCDHSYNC (1 << 1) /**< */
#define AT91C_PC0_LCDVSYNC (1 << 0) /**< */
/* -------------------------------------------------------- */
/* Register offset definition for LCDC hardware peripheral */
/* -------------------------------------------------------- */
#define LCDC_BA1 (0x0000) /**< DMA Base Address Register 1 */
#define LCDC_BA2 (0x0004) /**< DMA Base Address Register 2 */
#define LCDC_FRMP1 (0x0008) /**< DMA Frame Pointer Register 1 */
#define LCDC_FRMP2 (0x000C) /**< DMA Frame Pointer Register 2 */
#define LCDC_FRMA1 (0x0010) /**< DMA Frame Address Register 1 */
#define LCDC_FRMA2 (0x0014) /**< DMA Frame Address Register 2 */
#define LCDC_FRMCFG (0x0018) /**< DMA Frame Configuration Register */
#define LCDC_DMACON (0x001C) /**< DMA Control Register */
#define LCDC_DMA2DCFG (0x0020) /**< DMA 2D addressing configuration */
#define LCDC_LCDCON1 (0x0800) /**< LCD Control 1 Register */
#define LCDC_LCDCON2 (0x0804) /**< LCD Control 2 Register */
#define LCDC_TIM1 (0x0808) /**< LCD Timing Config 1 Register */
#define LCDC_TIM2 (0x080C) /**< LCD Timing Config 2 Register */
#define LCDC_LCDFRCFG (0x0810) /**< LCD Frame Config Register */
#define LCDC_FIFO (0x0814) /**< LCD FIFO Register */
#define LCDC_MVAL (0x0818) /**< LCD Mode Toggle Rate Value Register */
#define LCDC_DP1_2 (0x081C) /**< Dithering Pattern DP1_2 Register */
#define LCDC_DP4_7 (0x0820) /**< Dithering Pattern DP4_7 Register */
#define LCDC_DP3_5 (0x0824) /**< Dithering Pattern DP3_5 Register */
#define LCDC_DP2_3 (0x0828) /**< Dithering Pattern DP2_3 Register */
#define LCDC_DP5_7 (0x082C) /**< Dithering Pattern DP5_7 Register */
#define LCDC_DP3_4 (0x0830) /**< Dithering Pattern DP3_4 Register */
#define LCDC_DP4_5 (0x0834) /**< Dithering Pattern DP4_5 Register */
#define LCDC_DP6_7 (0x0838) /**< Dithering Pattern DP6_7 Register */
#define LCDC_PWRCON (0x083C) /**< Power Control Register */
#define LCDC_CTRSTCON (0x0840) /**< Contrast Control Register */
#define LCDC_CTRSTVAL (0x0844) /**< Contrast Value Register */
#define LCDC_IER (0x0848) /**< Interrupt Enable Register */
#define LCDC_IDR (0x084C) /**< Interrupt Disable Register */
#define LCDC_IMR (0x0850) /**< Interrupt Mask Register */
#define LCDC_ISR (0x0854) /**< Interrupt Enable Register */
#define LCDC_ICR (0x0858) /**< Interrupt Clear Register */
#define LCDC_GPR (0x085C) /**< General Purpose Register */
#define LCDC_ITR (0x0860) /**< Interrupts Test Register */
#define LCDC_IRR (0x0864) /**< Interrupts Raw Status Register */
#define LCDC_LUT_ENTRY (0x0C00) /**< LUT Entries Register */
/* -------------------------------------------------------- */
/* Bitfields definition for LCDC hardware peripheral */
/* -------------------------------------------------------- */
/* --- Register LCDC_FRMP1 */
#define AT91C_LCDC_FRMPT1 (0x3FFFFF << 0 ) /**< (LCDC) Frame Pointer Address 1 */
/* --- Register LCDC_FRMP2 */
#define AT91C_LCDC_FRMPT2 (0x1FFFFF << 0 ) /**< (LCDC) Frame Pointer Address 2 */
/* --- Register LCDC_FRMCFG */
#define AT91C_LCDC_FRSIZE (0x3FFFFF << 0 ) /**< (LCDC) FRAME SIZE */
#define AT91C_LCDC_BLENGTH (0xF << 24) /**< (LCDC) BURST LENGTH */
/* --- Register LCDC_DMACON */
#define AT91C_LCDC_DMAEN (0x1 << 0 ) /**< (LCDC) DAM Enable */
#define AT91C_LCDC_DMARST (0x1 << 1 ) /**< (LCDC) DMA Reset (WO) */
#define AT91C_LCDC_DMABUSY (0x1 << 2 ) /**< (LCDC) DMA Reset (WO) */
#define AT91C_LCDC_DMAUPDT (0x1 << 3 ) /**< (LCDC) DMA Configuration Update */
#define AT91C_LCDC_DMA2DEN (0x1 << 4 ) /**< (LCDC) 2D Addressing Enable */
/* --- Register LCDC_DMA2DCFG */
#define AT91C_LCDC_ADDRINC (0xFFFF << 0 ) /**< (LCDC) Number of 32b words that the DMA must jump when going to the next line */
#define AT91C_LCDC_PIXELOFF (0x1F << 24) /**< (LCDC) Offset (in bits) of the first pixel of the screen in the memory word which contain it */
/* --- Register LCDC_LCDCON1 */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?