📄 elcd.h
字号:
//========================================================================
// 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 + -