linux/arch/mips/include/asm/mach-jz4740/jz4740_fb.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 *  Copyright (C) 2009, Lars-Peter Clausen <lars@metafoo.de>
   4 */
   5
   6#ifndef __ASM_MACH_JZ4740_JZ4740_FB_H__
   7#define __ASM_MACH_JZ4740_JZ4740_FB_H__
   8
   9#include <linux/fb.h>
  10
  11enum jz4740_fb_lcd_type {
  12        JZ_LCD_TYPE_GENERIC_16_BIT = 0,
  13        JZ_LCD_TYPE_GENERIC_18_BIT = 0 | (1 << 4),
  14        JZ_LCD_TYPE_SPECIAL_TFT_1 = 1,
  15        JZ_LCD_TYPE_SPECIAL_TFT_2 = 2,
  16        JZ_LCD_TYPE_SPECIAL_TFT_3 = 3,
  17        JZ_LCD_TYPE_NON_INTERLACED_CCIR656 = 5,
  18        JZ_LCD_TYPE_INTERLACED_CCIR656 = 7,
  19        JZ_LCD_TYPE_SINGLE_COLOR_STN = 8,
  20        JZ_LCD_TYPE_SINGLE_MONOCHROME_STN = 9,
  21        JZ_LCD_TYPE_DUAL_COLOR_STN = 10,
  22        JZ_LCD_TYPE_DUAL_MONOCHROME_STN = 11,
  23        JZ_LCD_TYPE_8BIT_SERIAL = 12,
  24};
  25
  26#define JZ4740_FB_SPECIAL_TFT_CONFIG(start, stop) (((start) << 16) | (stop))
  27
  28/*
  29* width: width of the lcd display in mm
  30* height: height of the lcd display in mm
  31* num_modes: size of modes
  32* modes: list of valid video modes
  33* bpp: bits per pixel for the lcd
  34* lcd_type: lcd type
  35*/
  36
  37struct jz4740_fb_platform_data {
  38        unsigned int width;
  39        unsigned int height;
  40
  41        size_t num_modes;
  42        struct fb_videomode *modes;
  43
  44        unsigned int bpp;
  45        enum jz4740_fb_lcd_type lcd_type;
  46
  47        struct {
  48                uint32_t spl;
  49                uint32_t cls;
  50                uint32_t ps;
  51                uint32_t rev;
  52        } special_tft_config;
  53
  54        unsigned pixclk_falling_edge:1;
  55        unsigned date_enable_active_low:1;
  56};
  57
  58#endif
  59