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 * Auther: 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 <mach/fb.h> 20 21enum 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 33struct 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 53int nuc900fb_init(void); 54 55#endif /* __NUC900FB_H */ 56