162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci *  linux/drivers/video/macmodes.h -- Standard MacOS video modes
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci *	Copyright (C) 1998 Geert Uytterhoeven
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci *  This file is subject to the terms and conditions of the GNU General Public
762306a36Sopenharmony_ci *  License. See the file COPYING in the main directory of this archive for
862306a36Sopenharmony_ci *  more details.
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#ifndef _VIDEO_MACMODES_H
1262306a36Sopenharmony_ci#define _VIDEO_MACMODES_H
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci    /*
1562306a36Sopenharmony_ci     *  Video mode values.
1662306a36Sopenharmony_ci     *  These are supposed to be the same as the values that Apple uses in
1762306a36Sopenharmony_ci     *  MacOS.
1862306a36Sopenharmony_ci     */
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#define VMODE_NVRAM		0
2162306a36Sopenharmony_ci#define VMODE_512_384_60I	1	/* 512x384, 60Hz interlaced (NTSC) */
2262306a36Sopenharmony_ci#define VMODE_512_384_60	2	/* 512x384, 60Hz */
2362306a36Sopenharmony_ci#define VMODE_640_480_50I	3	/* 640x480, 50Hz interlaced (PAL) */
2462306a36Sopenharmony_ci#define VMODE_640_480_60I	4	/* 640x480, 60Hz interlaced (NTSC) */
2562306a36Sopenharmony_ci#define VMODE_640_480_60	5	/* 640x480, 60Hz (VGA) */
2662306a36Sopenharmony_ci#define VMODE_640_480_67	6	/* 640x480, 67Hz */
2762306a36Sopenharmony_ci#define VMODE_640_870_75P	7	/* 640x870, 75Hz (portrait) */
2862306a36Sopenharmony_ci#define VMODE_768_576_50I	8	/* 768x576, 50Hz (PAL full frame) */
2962306a36Sopenharmony_ci#define VMODE_800_600_56	9	/* 800x600, 56Hz */
3062306a36Sopenharmony_ci#define VMODE_800_600_60	10	/* 800x600, 60Hz */
3162306a36Sopenharmony_ci#define VMODE_800_600_72	11	/* 800x600, 72Hz */
3262306a36Sopenharmony_ci#define VMODE_800_600_75	12	/* 800x600, 75Hz */
3362306a36Sopenharmony_ci#define VMODE_832_624_75	13	/* 832x624, 75Hz */
3462306a36Sopenharmony_ci#define VMODE_1024_768_60	14	/* 1024x768, 60Hz */
3562306a36Sopenharmony_ci#define VMODE_1024_768_70	15	/* 1024x768, 70Hz (or 72Hz?) */
3662306a36Sopenharmony_ci#define VMODE_1024_768_75V	16	/* 1024x768, 75Hz (VESA) */
3762306a36Sopenharmony_ci#define VMODE_1024_768_75	17	/* 1024x768, 75Hz */
3862306a36Sopenharmony_ci#define VMODE_1152_870_75	18	/* 1152x870, 75Hz */
3962306a36Sopenharmony_ci#define VMODE_1280_960_75	19	/* 1280x960, 75Hz */
4062306a36Sopenharmony_ci#define VMODE_1280_1024_75	20	/* 1280x1024, 75Hz */
4162306a36Sopenharmony_ci#define VMODE_1152_768_60	21	/* 1152x768, 60Hz     Titanium PowerBook */
4262306a36Sopenharmony_ci#define VMODE_1600_1024_60	22	/* 1600x1024, 60Hz 22" Cinema Display */
4362306a36Sopenharmony_ci#define VMODE_MAX		22
4462306a36Sopenharmony_ci#define VMODE_CHOOSE		99
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci#define CMODE_NVRAM		-1
4762306a36Sopenharmony_ci#define CMODE_CHOOSE		-2
4862306a36Sopenharmony_ci#define CMODE_8			0	/* 8 bits/pixel */
4962306a36Sopenharmony_ci#define CMODE_16		1	/* 16 (actually 15) bits/pixel */
5062306a36Sopenharmony_ci#define CMODE_32		2	/* 32 (actually 24) bits/pixel */
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciextern int mac_vmode_to_var(int vmode, int cmode,
5462306a36Sopenharmony_ci			    struct fb_var_screeninfo *var);
5562306a36Sopenharmony_ciextern int mac_var_to_vmode(const struct fb_var_screeninfo *var, int *vmode,
5662306a36Sopenharmony_ci			    int *cmode);
5762306a36Sopenharmony_ciextern int mac_map_monitor_sense(int sense);
5862306a36Sopenharmony_ciextern int mac_find_mode(struct fb_var_screeninfo *var,
5962306a36Sopenharmony_ci			 struct fb_info *info,
6062306a36Sopenharmony_ci			 const char *mode_option,
6162306a36Sopenharmony_ci			 unsigned int default_bpp);
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci    /*
6562306a36Sopenharmony_ci     *  Addresses in NVRAM where video mode and pixel size are stored.
6662306a36Sopenharmony_ci     */
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci#define NV_VMODE		0x140f
6962306a36Sopenharmony_ci#define NV_CMODE		0x1410
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci#endif /* _VIDEO_MACMODES_H */
72