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 */ 56