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