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