uboot/drivers/video/videomodes.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * (C) Copyright 2004
   4 * Pierre Aubert, Staubli Faverges , <p.aubert@staubli.com>
   5 */
   6
   7#include <edid.h>
   8
   9#ifndef CONFIG_SYS_DEFAULT_VIDEO_MODE
  10#define CONFIG_SYS_DEFAULT_VIDEO_MODE   0x301
  11#endif
  12
  13/* Some mode definitions */
  14#define FB_SYNC_HOR_HIGH_ACT    1       /* horizontal sync high active  */
  15#define FB_SYNC_VERT_HIGH_ACT   2       /* vertical sync high active    */
  16#define FB_SYNC_EXT             4       /* external sync                */
  17#define FB_SYNC_COMP_HIGH_ACT   8       /* composite sync high active   */
  18#define FB_SYNC_BROADCAST       16      /* broadcast video timings      */
  19                                        /* vtotal = 144d/288n/576i => PAL  */
  20                                        /* vtotal = 121d/242n/484i => NTSC */
  21#define FB_SYNC_ON_GREEN        32      /* sync on green */
  22#define FB_VMODE_NONINTERLACED  0       /* non interlaced */
  23#define FB_VMODE_INTERLACED     1       /* interlaced   */
  24#define FB_VMODE_DOUBLE         2       /* double scan */
  25#define FB_VMODE_MASK           255
  26
  27#define FB_VMODE_YWRAP          256     /* ywrap instead of panning     */
  28#define FB_VMODE_SMOOTH_XPAN    512     /* smooth xpan possible (internally used) */
  29#define FB_VMODE_CONUPDATE      512     /* don't update x/yoffset       */
  30
  31
  32/******************************************************************
  33 * Resolution Struct
  34 ******************************************************************/
  35struct ctfb_res_modes {
  36        int xres;               /* visible resolution           */
  37        int yres;
  38        int refresh;            /* vertical refresh rate in hz  */
  39        /* Timing: All values in pixclocks, except pixclock (of course) */
  40        int pixclock;           /* pixel clock in ps (pico seconds) */
  41        int pixclock_khz;       /* pixel clock in kHz           */
  42        int left_margin;        /* time from sync to picture    */
  43        int right_margin;       /* time from picture to sync    */
  44        int upper_margin;       /* time from sync to picture    */
  45        int lower_margin;
  46        int hsync_len;          /* length of horizontal sync    */
  47        int vsync_len;          /* length of vertical sync      */
  48        int sync;               /* see FB_SYNC_*                */
  49        int vmode;              /* see FB_VMODE_*               */
  50};
  51
  52/******************************************************************
  53 * Vesa Mode Struct
  54 ******************************************************************/
  55struct ctfb_vesa_modes {
  56        int vesanr;             /* Vesa number as in LILO (VESA Nr + 0x200} */
  57        int resindex;           /* index to resolution struct */
  58        int bits_per_pixel;     /* bpp */
  59};
  60
  61#define RES_MODE_640x480        0
  62#define RES_MODE_800x600        1
  63#define RES_MODE_1024x768       2
  64#define RES_MODE_960_720        3
  65#define RES_MODE_1152x864       4
  66#define RES_MODE_1280x1024      5
  67#define RES_MODE_1280x720       6
  68#define RES_MODE_1360x768       7
  69#define RES_MODE_1920x1080      8
  70#define RES_MODE_1920x1200      9
  71#define RES_MODES_COUNT         10
  72
  73#define VESA_MODES_COUNT 19
  74
  75extern const struct ctfb_vesa_modes vesa_modes[];
  76extern const struct ctfb_res_modes res_mode_init[];
  77
  78int video_get_params (struct ctfb_res_modes *pPar, char *penv);
  79
  80int video_get_video_mode(unsigned int *xres, unsigned int *yres,
  81        unsigned int *depth, unsigned int *freq, const char **options);
  82
  83void video_get_ctfb_res_modes(int default_mode, unsigned int default_depth,
  84                              const struct ctfb_res_modes **mode_ret,
  85                              unsigned int *depth_ret,
  86                              const char **options);
  87
  88void video_get_option_string(const char *options, const char *name,
  89                             char *dest, int dest_len, const char *def);
  90
  91int video_get_option_int(const char *options, const char *name, int def);
  92
  93int video_edid_dtd_to_ctfb_res_modes(struct edid_detailed_timing *t,
  94                                     struct ctfb_res_modes *mode);
  95