1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * linux/drivers/video/macmodes.h -- Standard MacOS video modes 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 1998 Geert Uytterhoeven 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * This file is subject to the terms and conditions of the GNU General Public 7*4882a593Smuzhiyun * License. See the file COPYING in the main directory of this archive for 8*4882a593Smuzhiyun * more details. 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #ifndef _VIDEO_MACMODES_H 12*4882a593Smuzhiyun #define _VIDEO_MACMODES_H 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun /* 15*4882a593Smuzhiyun * Video mode values. 16*4882a593Smuzhiyun * These are supposed to be the same as the values that Apple uses in 17*4882a593Smuzhiyun * MacOS. 18*4882a593Smuzhiyun */ 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun #define VMODE_NVRAM 0 21*4882a593Smuzhiyun #define VMODE_512_384_60I 1 /* 512x384, 60Hz interlaced (NTSC) */ 22*4882a593Smuzhiyun #define VMODE_512_384_60 2 /* 512x384, 60Hz */ 23*4882a593Smuzhiyun #define VMODE_640_480_50I 3 /* 640x480, 50Hz interlaced (PAL) */ 24*4882a593Smuzhiyun #define VMODE_640_480_60I 4 /* 640x480, 60Hz interlaced (NTSC) */ 25*4882a593Smuzhiyun #define VMODE_640_480_60 5 /* 640x480, 60Hz (VGA) */ 26*4882a593Smuzhiyun #define VMODE_640_480_67 6 /* 640x480, 67Hz */ 27*4882a593Smuzhiyun #define VMODE_640_870_75P 7 /* 640x870, 75Hz (portrait) */ 28*4882a593Smuzhiyun #define VMODE_768_576_50I 8 /* 768x576, 50Hz (PAL full frame) */ 29*4882a593Smuzhiyun #define VMODE_800_600_56 9 /* 800x600, 56Hz */ 30*4882a593Smuzhiyun #define VMODE_800_600_60 10 /* 800x600, 60Hz */ 31*4882a593Smuzhiyun #define VMODE_800_600_72 11 /* 800x600, 72Hz */ 32*4882a593Smuzhiyun #define VMODE_800_600_75 12 /* 800x600, 75Hz */ 33*4882a593Smuzhiyun #define VMODE_832_624_75 13 /* 832x624, 75Hz */ 34*4882a593Smuzhiyun #define VMODE_1024_768_60 14 /* 1024x768, 60Hz */ 35*4882a593Smuzhiyun #define VMODE_1024_768_70 15 /* 1024x768, 70Hz (or 72Hz?) */ 36*4882a593Smuzhiyun #define VMODE_1024_768_75V 16 /* 1024x768, 75Hz (VESA) */ 37*4882a593Smuzhiyun #define VMODE_1024_768_75 17 /* 1024x768, 75Hz */ 38*4882a593Smuzhiyun #define VMODE_1152_870_75 18 /* 1152x870, 75Hz */ 39*4882a593Smuzhiyun #define VMODE_1280_960_75 19 /* 1280x960, 75Hz */ 40*4882a593Smuzhiyun #define VMODE_1280_1024_75 20 /* 1280x1024, 75Hz */ 41*4882a593Smuzhiyun #define VMODE_1152_768_60 21 /* 1152x768, 60Hz Titanium PowerBook */ 42*4882a593Smuzhiyun #define VMODE_1600_1024_60 22 /* 1600x1024, 60Hz 22" Cinema Display */ 43*4882a593Smuzhiyun #define VMODE_MAX 22 44*4882a593Smuzhiyun #define VMODE_CHOOSE 99 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #define CMODE_NVRAM -1 47*4882a593Smuzhiyun #define CMODE_CHOOSE -2 48*4882a593Smuzhiyun #define CMODE_8 0 /* 8 bits/pixel */ 49*4882a593Smuzhiyun #define CMODE_16 1 /* 16 (actually 15) bits/pixel */ 50*4882a593Smuzhiyun #define CMODE_32 2 /* 32 (actually 24) bits/pixel */ 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun extern int mac_vmode_to_var(int vmode, int cmode, 54*4882a593Smuzhiyun struct fb_var_screeninfo *var); 55*4882a593Smuzhiyun extern int mac_var_to_vmode(const struct fb_var_screeninfo *var, int *vmode, 56*4882a593Smuzhiyun int *cmode); 57*4882a593Smuzhiyun extern int mac_map_monitor_sense(int sense); 58*4882a593Smuzhiyun extern int mac_find_mode(struct fb_var_screeninfo *var, 59*4882a593Smuzhiyun struct fb_info *info, 60*4882a593Smuzhiyun const char *mode_option, 61*4882a593Smuzhiyun unsigned int default_bpp); 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun /* 65*4882a593Smuzhiyun * Addresses in NVRAM where video mode and pixel size are stored. 66*4882a593Smuzhiyun */ 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun #define NV_VMODE 0x140f 69*4882a593Smuzhiyun #define NV_CMODE 0x1410 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun #endif /* _VIDEO_MACMODES_H */ 72