linux/arch/arm/mach-s3c2410/include/mach/fb.h
<<
>>
Prefs
   1/* arch/arm/mach-s3c2410/include/mach/fb.h
   2 *
   3 * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
   4 *
   5 * Inspired by pxafb.h
   6 *
   7 * This program is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License version 2 as
   9 * published by the Free Software Foundation.
  10*/
  11
  12#ifndef __ASM_ARM_FB_H
  13#define __ASM_ARM_FB_H
  14
  15#include <mach/regs-lcd.h>
  16
  17struct s3c2410fb_hw {
  18        unsigned long   lcdcon1;
  19        unsigned long   lcdcon2;
  20        unsigned long   lcdcon3;
  21        unsigned long   lcdcon4;
  22        unsigned long   lcdcon5;
  23};
  24
  25/* LCD description */
  26struct s3c2410fb_display {
  27        /* LCD type */
  28        unsigned type;
  29
  30        /* Screen size */
  31        unsigned short width;
  32        unsigned short height;
  33
  34        /* Screen info */
  35        unsigned short xres;
  36        unsigned short yres;
  37        unsigned short bpp;
  38
  39        unsigned pixclock;              /* pixclock in picoseconds */
  40        unsigned short left_margin;  /* value in pixels (TFT) or HCLKs (STN) */
  41        unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */
  42        unsigned short hsync_len;    /* value in pixels (TFT) or HCLKs (STN) */
  43        unsigned short upper_margin;    /* value in lines (TFT) or 0 (STN) */
  44        unsigned short lower_margin;    /* value in lines (TFT) or 0 (STN) */
  45        unsigned short vsync_len;       /* value in lines (TFT) or 0 (STN) */
  46
  47        /* lcd configuration registers */
  48        unsigned long   lcdcon5;
  49};
  50
  51struct s3c2410fb_mach_info {
  52
  53        struct s3c2410fb_display *displays;     /* attached diplays info */
  54        unsigned num_displays;                  /* number of defined displays */
  55        unsigned default_display;
  56
  57        /* GPIOs */
  58
  59        unsigned long   gpcup;
  60        unsigned long   gpcup_mask;
  61        unsigned long   gpccon;
  62        unsigned long   gpccon_mask;
  63        unsigned long   gpdup;
  64        unsigned long   gpdup_mask;
  65        unsigned long   gpdcon;
  66        unsigned long   gpdcon_mask;
  67
  68        /* lpc3600 control register */
  69        unsigned long   lpcsel;
  70};
  71
  72extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
  73
  74#endif /* __ASM_ARM_FB_H */
  75