17a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen/* 27a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * Copyright (C) 2009, Lars-Peter Clausen <lars@metafoo.de> 37a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * 47a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * This program is free software; you can redistribute it and/or modify it 57a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * under the terms of the GNU General Public License as published by the 67a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * Free Software Foundation; either version 2 of the License, or (at your 77a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * option) any later version. 87a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * 97a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * You should have received a copy of the GNU General Public License along 107a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * with this program; if not, write to the Free Software Foundation, Inc., 117a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * 675 Mass Ave, Cambridge, MA 02139, USA. 127a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen * 137a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen */ 147a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 157a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen#ifndef __ASM_MACH_JZ4740_JZ4740_FB_H__ 167a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen#define __ASM_MACH_JZ4740_JZ4740_FB_H__ 177a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 187a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen#include <linux/fb.h> 197a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 207a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausenenum jz4740_fb_lcd_type { 217a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_GENERIC_16_BIT = 0, 227a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_GENERIC_18_BIT = 0 | (1 << 4), 237a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_SPECIAL_TFT_1 = 1, 247a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_SPECIAL_TFT_2 = 2, 257a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_SPECIAL_TFT_3 = 3, 267a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_NON_INTERLACED_CCIR656 = 5, 277a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_INTERLACED_CCIR656 = 7, 287a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_SINGLE_COLOR_STN = 8, 297a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_SINGLE_MONOCHROME_STN = 9, 307a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_DUAL_COLOR_STN = 10, 317a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_DUAL_MONOCHROME_STN = 11, 327a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen JZ_LCD_TYPE_8BIT_SERIAL = 12, 337a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen}; 347a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 357a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen#define JZ4740_FB_SPECIAL_TFT_CONFIG(start, stop) (((start) << 16) | (stop)) 367a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 377a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen/* 387a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen* width: width of the lcd display in mm 397a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen* height: height of the lcd display in mm 407a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen* num_modes: size of modes 417a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen* modes: list of valid video modes 427a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen* bpp: bits per pixel for the lcd 437a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen* lcd_type: lcd type 447a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen*/ 457a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 467a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausenstruct jz4740_fb_platform_data { 477a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen unsigned int width; 487a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen unsigned int height; 497a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 507a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen size_t num_modes; 517a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen struct fb_videomode *modes; 527a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 537a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen unsigned int bpp; 547a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen enum jz4740_fb_lcd_type lcd_type; 557a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 567a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen struct { 577a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen uint32_t spl; 587a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen uint32_t cls; 597a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen uint32_t ps; 607a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen uint32_t rev; 617a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen } special_tft_config; 627a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 637a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen unsigned pixclk_falling_edge:1; 647a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen unsigned date_enable_active_low:1; 657a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen}; 667a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen 677a92d54521443450b14d89c413ec2072365da5bcLars-Peter Clausen#endif 68