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

📄 elcd.h

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 H
📖 第 1 页 / 共 5 页
字号:
//========================================================================
//          TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION  
//   Property of Texas Instruments
//   For Unrestricted Internal Use Only
//   Unauthorized reprofuction and/or distribution is strictly prohibited.
//   This product is protected under copyright law and trade secret law
//   as an unpublished work
//   Created 2000,  (C) Copyright 2000 Texas Instruments. All rights reserved
//
//
//   Filename           :elcd.h
//
//   Date of Module Modification:1/7/04
//   Date of Generation :1/7/04
//
//
//   Yoan Hebrard (y-hebrard@ti.com)
//
//========================================================================
#include "mapping.h"
#include "result.h"
#include "global_types.h"
#include "testaccess.h"

#ifndef _ELCD__H
#define _ELCD__H

//BEGIN INC GENERATION
//--------------------------------------


#define ELCD_CMDTX_END_TIMEOUT 0xFF // Time out while a command must have been transmitted

#define ELCD_TOP_DATA_SIZE     18   // ELCD data size at Neptune Top Level

#define CYCLE1_CAPABILITY      24   // Max length capability for the first cycle
#define CYCLE2_CAPABILITY      12   // Max length capability for the second cycle
#define CYCLE3_CAPABILITY      8    // Max length capability for the third cycle
#define UNUSUED                32   // To tell an ELCD_DATA_O is unusued, usefull to fill the cycle mapping table

#define ONE_CYCLE              1
#define TWO_CYCLES             2
#define THREE_CYCLES           3

#define ELCD_FIFO_SIZE         8

#define A0_POS                 24          // The 24-bit data & A0 bit is stored into SDRAM to differenciate 
#define A0_PIXEL               1 << A0_POS // pixel from command (ELCD DnC signal)




// Macro
//------------------------------------------

#define ELCD_Write_M(data)  ELCD_DATATX_REG = (data)
#define ELCD_WAIT_FIFO_EMPTY  while ( !GetField32(ELCD_STATUS_REG, TXFIFOEMPTY)  );




// Types Definitions
//------------------------------------------


//------------------------------------------
// ELCD_mode_t : Bus Mode Type
//------------------------------------------
typedef enum {
  MOTOROLA_6800 = 0,
  INTEL_8086 = 1
} ELCD_mode_t; 


//------------------------------------------
//  ELCD_write_on_polarity_t : Write On polarity Type
//------------------------------------------
typedef enum {
  WRITE_ON_RISING_EDGE  = 1,
  WRITE_ON_FALLING_EDGE = 0
} ELCD_write_on_polarity_t;

//------------------------------------------
//  ELCD_read_on_polarity_t : Read On polarity Type
//------------------------------------------
typedef enum {
  READ_ON_RISING_EDGE  = 0,
  READ_ON_FALLING_EDGE = 1
} ELCD_read_on_polarity_t;


//------------------------------------------
// ELCD_dma_it_t : DMA or IT Type
//------------------------------------------
typedef enum {
  IT = 0x19,
  DMA_LCD = 0x06,
  DMA_OCP = 0x07,
  NONE = 0x00
} ELCD_dma_it_t;


//------------------------------------------
// ELCD_bus_size_t : Data Bus size Type
//------------------------------------------
typedef enum {
  BUS_SIZE_6_BITS  = 0,
  BUS_SIZE_8_BITS  = 1,
  BUS_SIZE_9_BITS  = 2,
  BUS_SIZE_12_BITS = 3,
  BUS_SIZE_16_BITS = 4,
  BUS_SIZE_18_BITS = 5,
  BUS_SIZE_24_BITS = 6 
} ELCD_bus_size_t;


//------------------------------------------
// ELCD_cs_t : Chip Select Type
//------------------------------------------
typedef enum {
  nCS0  = 1,
  nCS1  = 2
} ELCD_cs_type;



//------------------------------------------
// ELCD_tx_mode_t : To select OCP Bus or DMA-LCD TX dedicated bus only to fill the TX FIFO
//------------------------------------------
typedef enum {
  TX_MODE_DMA_LCD = 0,
  TX_MODE_OCP     = 1
} ELCD_tx_mode_t;




//------------------------------------------
// ELCD_dummy_read_cycles_t : To specify the number of dummy read cycle
//------------------------------------------
typedef enum {
  NO_DUMMY_CYCLE   = 0,
  ONE_DUMMY_CYCLE  = 1,
  TWO_DUMMY_CYCLES = 2
} ELCD_dummy_read_cycles_t;




//------------------------------------------
// ELCD_te_mode_t : To specify the tearing effect mode
//------------------------------------------
typedef enum {
  NO_HW_SYNC_MODE = 0,
  TE_MODE         = 2,
  VS_ONLY_MODE    = 3
} ELCD_te_mode_t;


//------------------------------------------
// ELCD_te_polarity_t : To specify the tearing effect signal polarity
//------------------------------------------
typedef enum {
  TE_POLARITY_ONE  = 0,
  TE_POLATITY_ZERO = 1
} ELCD_te_polarity_t;



//------------------------------------------
// ELCD_nb_pixel_t : To specify the number of pixel per data
//------------------------------------------
typedef enum {
  ONE_PIXEL             = 0,
  ONE_AND_HALF_PIXEL    = 1,
  TWO_PIXELS            = 2,
  TWO_AND_HALF_PIXELS   = 3,
  THREE_PIXELS          = 4,
  THREE_AND_HALF_PIXELS = 5,
  FOUR_PIXELS           = 7

} ELCD_nb_pixel_t;



//------------------------------------------
// ELCD_unusued_bits_t : To specify the state of unusued bits in swapping process
//------------------------------------------
typedef enum {
  UNUSUED_BITS_LOW_LEVEL  = 0,
  UNUSUED_BITS_HIGH_LEVEL = 1,
  UNUSUED_BITS_UNCHANGED  = 2
} ELCD_unusued_bits_t;


//------------------------------------------
// ELCD_swap_logic_t : To disable or not the swapping logic
//------------------------------------------
typedef enum {
  SWAP_LOGIC_ENABLE  = 0,
  SWAP_LOGIC_DISABLE = 1
} ELCD_swap_logic_t;


//------------------------------------------
// ELCD_write_edge_t : To define the edge the data will be stable on
//------------------------------------------
typedef enum {
  WEDGE_FALLING = 0,
  WEDGE_RISING  = 1

⌨️ 快捷键说明

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