| /* | 
 |  * 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; | 
 | }; |