Merge tag 'pci-v3.14-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
[linux-2.6-microblaze.git] / drivers / video / nuc900fb.h
1 /*
2  *
3  * Copyright (c) 2009 Nuvoton technology corporation
4  * All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  *   Author:
12  *        Wang Qiang(rurality.linux@gmail.com)  2009/12/16
13  */
14
15 #ifndef __NUC900FB_H
16 #define __NUC900FB_H
17
18 #include <mach/map.h>
19 #include <linux/platform_data/video-nuc900fb.h>
20
21 enum nuc900_lcddrv_type {
22         LCDDRV_NUC910,
23         LCDDRV_NUC930,
24         LCDDRV_NUC932,
25         LCDDRV_NUC950,
26         LCDDRV_NUC960,
27 };
28
29
30 #define PALETTE_BUFFER_SIZE     256
31 #define PALETTE_BUFF_CLEAR      (0x80000000) /* entry is clear/invalid */
32
33 struct nuc900fb_info {
34         struct device           *dev;
35         struct clk              *clk;
36
37         struct resource         *mem;
38         void __iomem            *io;
39         void __iomem            *irq_base;
40         int                     drv_type;
41         struct nuc900fb_hw      regs;
42         unsigned long           clk_rate;
43
44 #ifdef CONFIG_CPU_FREQ
45         struct notifier_block   freq_transition;
46 #endif
47
48         /* keep these registers in case we need to re-write palette */
49         u32                     palette_buffer[PALETTE_BUFFER_SIZE];
50         u32                     pseudo_pal[16];
51 };
52
53 int nuc900fb_init(void);
54
55 #endif /* __NUC900FB_H */