Linux 4.16.11
[linux/fpc-iii.git] / drivers / video / fbdev / nuc900fb.h
blob9a1ca6dbb6b2b704707c805d4994f32324146026
1 /*
3 * Copyright (c) 2009 Nuvoton technology corporation
4 * All rights reserved.
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.
11 * Author:
12 * Wang Qiang(rurality.linux@gmail.com) 2009/12/16
15 #ifndef __NUC900FB_H
16 #define __NUC900FB_H
18 #include <mach/map.h>
19 #include <linux/platform_data/video-nuc900fb.h>
21 enum nuc900_lcddrv_type {
22 LCDDRV_NUC910,
23 LCDDRV_NUC930,
24 LCDDRV_NUC932,
25 LCDDRV_NUC950,
26 LCDDRV_NUC960,
30 #define PALETTE_BUFFER_SIZE 256
31 #define PALETTE_BUFF_CLEAR (0x80000000) /* entry is clear/invalid */
33 struct nuc900fb_info {
34 struct device *dev;
35 struct clk *clk;
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;
44 #ifdef CONFIG_CPU_FREQ
45 struct notifier_block freq_transition;
46 #endif
48 /* keep these registers in case we need to re-write palette */
49 u32 palette_buffer[PALETTE_BUFFER_SIZE];
50 u32 pseudo_pal[16];
53 int nuc900fb_init(void);
55 #endif /* __NUC900FB_H */