78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 * Register definitions for the AMBA CLCD logic cell.
 | 
						|
 *
 | 
						|
 * derived from David A Rusling, although rearranged as a C structure
 | 
						|
 *     linux/include/asm-arm/hardware/amba_clcd.h -- Integrator LCD panel.
 | 
						|
 *
 | 
						|
 * Copyright (C) 2001 ARM Limited
 | 
						|
 *
 | 
						|
 * This file is subject to the terms and conditions of the GNU General Public
 | 
						|
 * License.  See the file COPYING in the main directory of this archive
 | 
						|
 * for more details.
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * CLCD Controller Internal Register addresses
 | 
						|
 */
 | 
						|
struct clcd_registers {
 | 
						|
	u32 tim0;	/* 0x00 */
 | 
						|
	u32 tim1;
 | 
						|
	u32 tim2;
 | 
						|
	u32 tim3;
 | 
						|
	u32 ubas;	/* 0x10 */
 | 
						|
	u32 lbas;
 | 
						|
#if !defined(CONFIG_ARCH_VERSATILE) && !defined(CONFIG_ARCH_REALVIEW)
 | 
						|
	u32 ienb;
 | 
						|
	u32 cntl;
 | 
						|
#else /* Someone rearranged these two registers on the Versatile */
 | 
						|
	u32 cntl;
 | 
						|
	u32 ienb;
 | 
						|
#endif
 | 
						|
	u32 stat;	/* 0x20 */
 | 
						|
	u32 intr;
 | 
						|
	u32 ucur;
 | 
						|
	u32 lcur;
 | 
						|
	u32 unused[0x74];	/* 0x030..0x1ff */
 | 
						|
	u32 palette[0x80];	/* 0x200..0x3ff */
 | 
						|
};
 | 
						|
 | 
						|
/* Bit definition for TIM2 */
 | 
						|
#define TIM2_CLKSEL		(1 << 5)
 | 
						|
#define TIM2_IVS		(1 << 11)
 | 
						|
#define TIM2_IHS		(1 << 12)
 | 
						|
#define TIM2_IPC		(1 << 13)
 | 
						|
#define TIM2_IOE		(1 << 14)
 | 
						|
#define TIM2_BCD		(1 << 26)
 | 
						|
 | 
						|
/* Bit definitions for control register */
 | 
						|
#define CNTL_LCDEN		(1 << 0)
 | 
						|
#define CNTL_LCDBPP1		(0 << 1)
 | 
						|
#define CNTL_LCDBPP2		(1 << 1)
 | 
						|
#define CNTL_LCDBPP4		(2 << 1)
 | 
						|
#define CNTL_LCDBPP8		(3 << 1)
 | 
						|
#define CNTL_LCDBPP16		(4 << 1)
 | 
						|
#define CNTL_LCDBPP16_565	(6 << 1)
 | 
						|
#define CNTL_LCDBPP24		(5 << 1)
 | 
						|
#define CNTL_LCDBW		(1 << 4)
 | 
						|
#define CNTL_LCDTFT		(1 << 5)
 | 
						|
#define CNTL_LCDMONO8		(1 << 6)
 | 
						|
#define CNTL_LCDDUAL		(1 << 7)
 | 
						|
#define CNTL_BGR		(1 << 8)
 | 
						|
#define CNTL_BEBO		(1 << 9)
 | 
						|
#define CNTL_BEPO		(1 << 10)
 | 
						|
#define CNTL_LCDPWR		(1 << 11)
 | 
						|
#define CNTL_LCDVCOMP(x)	((x) << 12)
 | 
						|
#define CNTL_LDMAFIFOTIME	(1 << 15)
 | 
						|
#define CNTL_WATERMARK		(1 << 16)
 | 
						|
 | 
						|
/* u-boot specific: information passed by the board file */
 | 
						|
struct clcd_config {
 | 
						|
	struct clcd_registers *address;
 | 
						|
	u32			tim0;
 | 
						|
	u32			tim1;
 | 
						|
	u32			tim2;
 | 
						|
	u32			tim3;
 | 
						|
	u32			cntl;
 | 
						|
	unsigned long		pixclock;
 | 
						|
};
 |