blob: 47a17bd2301169d9368d041b83d2b2b9d80835bf [file] [log] [blame]
Arnaud Patard20fd5762005-09-09 13:10:07 -07001/*
Uwe Zeisbergerf30c2262006-10-03 23:01:26 +02002 * linux/drivers/video/s3c2410fb.h
Ben Dooks6a0e4ec2008-05-23 13:04:56 -07003 * Copyright (c) 2004 Arnaud Patard
4 *
5 * S3C2410 LCD Framebuffer Driver
Arnaud Patard20fd5762005-09-09 13:10:07 -07006 *
7 * This file is subject to the terms and conditions of the GNU General Public
8 * License. See the file COPYING in the main directory of this archive for
9 * more details.
10 *
Ben Dooks6a0e4ec2008-05-23 13:04:56 -070011*/
Arnaud Patard20fd5762005-09-09 13:10:07 -070012
13#ifndef __S3C2410FB_H
14#define __S3C2410FB_H
15
Ben Dooksf62e7702008-02-06 01:39:41 -080016enum s3c_drv_type {
17 DRV_S3C2410,
18 DRV_S3C2412,
19};
20
Arnaud Patard20fd5762005-09-09 13:10:07 -070021struct s3c2410fb_info {
Arnaud Patard20fd5762005-09-09 13:10:07 -070022 struct device *dev;
23 struct clk *clk;
24
Ben Dooksaff39a82007-07-31 00:37:37 -070025 struct resource *mem;
26 void __iomem *io;
Ben Dooksf62e7702008-02-06 01:39:41 -080027 void __iomem *irq_base;
Ben Dooksaff39a82007-07-31 00:37:37 -070028
Ben Dooksf62e7702008-02-06 01:39:41 -080029 enum s3c_drv_type drv_type;
Arnaud Patard20fd5762005-09-09 13:10:07 -070030 struct s3c2410fb_hw regs;
31
Ben Dooks0dac6ec2009-06-16 15:34:34 -070032 unsigned long clk_rate;
Arnaud Patard20fd5762005-09-09 13:10:07 -070033 unsigned int palette_ready;
34
Ben Dooks0dac6ec2009-06-16 15:34:34 -070035#ifdef CONFIG_CPU_FREQ
36 struct notifier_block freq_transition;
37#endif
38
Arnaud Patard20fd5762005-09-09 13:10:07 -070039 /* keep these registers in case we need to re-write palette */
40 u32 palette_buffer[256];
41 u32 pseudo_pal[16];
42};
43
44#define PALETTE_BUFF_CLEAR (0x80000000) /* entry is clear/invalid */
45
46int s3c2410fb_init(void);
47
48#endif