2015-02-03 01:25:34 +01:00
|
|
|
/*
|
|
|
|
* This file is part of the coreboot project.
|
|
|
|
*
|
|
|
|
* File taken verbatim from the Linux xgifb driver (v3.18.5)
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; version 2 of the License.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
Remove address from GPLv2 headers
As per discussion with lawyers[tm], it's not a good idea to
shorten the license header too much - not for legal reasons
but because there are tools that look for them, and giving
them a standard pattern simplifies things.
However, we got confirmation that we don't have to update
every file ever added to coreboot whenever the FSF gets a
new lease, but can drop the address instead.
util/kconfig is excluded because that's imported code that
we may want to synchronize every now and then.
$ find * -type f -exec sed -i "s:Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *MA[, ]*02110-1301[, ]*USA:Foundation, Inc.:" {} +
$ find * -type f -exec sed -i "s:Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA:Foundation, Inc.:" {} +
$ find * -type f -exec sed -i "s:Foundation, Inc., 59 Temple Place[-, ]*Suite 330, Boston, MA *02111-1307[, ]*USA:Foundation, Inc.:" {} +
$ find * -type f -exec sed -i "s:Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.:Foundation, Inc.:" {} +
$ find * -type f
-a \! -name \*.patch \
-a \! -name \*_shipped \
-a \! -name LICENSE_GPL \
-a \! -name LGPL.txt \
-a \! -name COPYING \
-a \! -name DISCLAIMER \
-exec sed -i "/Foundation, Inc./ N;s:Foundation, Inc.* USA\.* *:Foundation, Inc. :;s:Foundation, Inc. $:Foundation, Inc.:" {} +
Change-Id: Icc968a5a5f3a5df8d32b940f9cdb35350654bef9
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: http://review.coreboot.org/9233
Tested-by: build bot (Jenkins)
Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
2015-03-26 15:17:45 +01:00
|
|
|
* Foundation, Inc.
|
2015-02-03 01:25:34 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _LINUX_XGIFB
|
|
|
|
#define _LINUX_XGIFB
|
|
|
|
#include "vgatypes.h"
|
|
|
|
#include "vb_struct.h"
|
|
|
|
|
|
|
|
enum xgifb_display_type {
|
|
|
|
XGIFB_DISP_NONE = 0,
|
|
|
|
XGIFB_DISP_CRT,
|
|
|
|
XGIFB_DISP_LCD,
|
|
|
|
XGIFB_DISP_TV,
|
|
|
|
};
|
|
|
|
|
|
|
|
#define HASVB_NONE 0x00
|
|
|
|
#define HASVB_301 0x01
|
|
|
|
#define HASVB_LVDS 0x02
|
|
|
|
#define HASVB_TRUMPION 0x04
|
|
|
|
#define HASVB_LVDS_CHRONTEL 0x10
|
|
|
|
#define HASVB_302 0x20
|
|
|
|
#define HASVB_CHRONTEL 0x80
|
|
|
|
|
|
|
|
enum XGI_CHIP_TYPE {
|
|
|
|
XG40 = 32,
|
|
|
|
XG42,
|
|
|
|
XG20 = 48,
|
|
|
|
XG21,
|
|
|
|
XG27,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum xgi_tvtype {
|
|
|
|
TVMODE_NTSC = 0,
|
|
|
|
TVMODE_PAL,
|
|
|
|
TVMODE_HIVISION,
|
|
|
|
TVTYPE_PALM,
|
|
|
|
TVTYPE_PALN,
|
|
|
|
TVTYPE_NTSCJ,
|
|
|
|
TVMODE_TOTAL
|
|
|
|
};
|
|
|
|
|
|
|
|
enum xgi_tv_plug {
|
|
|
|
TVPLUG_UNKNOWN = 0,
|
|
|
|
TVPLUG_COMPOSITE = 1,
|
|
|
|
TVPLUG_SVIDEO = 2,
|
|
|
|
TVPLUG_COMPOSITE_AND_SVIDEO = 3,
|
|
|
|
TVPLUG_SCART = 4,
|
|
|
|
TVPLUG_YPBPR_525i = 5,
|
|
|
|
TVPLUG_YPBPR_525P = 6,
|
|
|
|
TVPLUG_YPBPR_750P = 7,
|
|
|
|
TVPLUG_YPBPR_1080i = 8,
|
|
|
|
TVPLUG_TOTAL
|
|
|
|
};
|
|
|
|
|
|
|
|
struct XGIfb_info {
|
|
|
|
unsigned long XGIfb_id;
|
|
|
|
int chip_id; /* PCI ID of detected chip */
|
|
|
|
int memory; /* video memory in KB which XGIfb manages */
|
|
|
|
int heapstart; /* heap start (= XGIfb "mem" argument) in KB */
|
|
|
|
unsigned char fbvidmode; /* current XGIfb mode */
|
|
|
|
|
|
|
|
unsigned char XGIfb_version;
|
|
|
|
unsigned char XGIfb_revision;
|
|
|
|
unsigned char XGIfb_patchlevel;
|
|
|
|
|
|
|
|
unsigned char XGIfb_caps; /* XGIfb capabilities */
|
|
|
|
|
|
|
|
int XGIfb_tqlen; /* turbo queue length (in KB) */
|
|
|
|
|
|
|
|
unsigned int XGIfb_pcibus; /* The card's PCI ID */
|
|
|
|
unsigned int XGIfb_pcislot;
|
|
|
|
unsigned int XGIfb_pcifunc;
|
|
|
|
|
|
|
|
unsigned char XGIfb_lcdpdc; /* PanelDelayCompensation */
|
|
|
|
|
|
|
|
unsigned char XGIfb_lcda; /* Detected status of LCDA for low res/text modes */
|
|
|
|
|
|
|
|
char reserved[235]; /* for future use */
|
|
|
|
};
|
|
|
|
|
|
|
|
struct xgifb_video_info {
|
|
|
|
struct fb_info *fb_info;
|
|
|
|
struct xgi_hw_device_info hw_info;
|
|
|
|
struct vb_device_info dev_info;
|
|
|
|
|
|
|
|
int mode_idx;
|
|
|
|
int rate_idx;
|
|
|
|
|
|
|
|
u32 pseudo_palette[17];
|
|
|
|
|
|
|
|
int chip_id;
|
|
|
|
unsigned int video_size;
|
|
|
|
phys_addr_t video_base;
|
|
|
|
void __iomem *video_vbase;
|
|
|
|
phys_addr_t mmio_base;
|
|
|
|
unsigned long mmio_size;
|
|
|
|
void __iomem *mmio_vbase;
|
|
|
|
unsigned long vga_base;
|
|
|
|
int mtrr;
|
|
|
|
|
|
|
|
int video_bpp;
|
|
|
|
int video_cmap_len;
|
|
|
|
int video_width;
|
|
|
|
int video_height;
|
|
|
|
int video_vwidth;
|
|
|
|
int video_vheight;
|
|
|
|
int org_x;
|
|
|
|
int org_y;
|
|
|
|
int video_linelength;
|
|
|
|
unsigned int refresh_rate;
|
|
|
|
|
|
|
|
enum xgifb_display_type display2; /* the second display output type */
|
|
|
|
bool display2_force;
|
|
|
|
unsigned char hasVB;
|
|
|
|
unsigned char TV_type;
|
|
|
|
unsigned char TV_plug;
|
|
|
|
|
|
|
|
struct XGI21_LVDSCapStruct lvds_data;
|
|
|
|
|
|
|
|
enum XGI_CHIP_TYPE chip;
|
|
|
|
unsigned char revision_id;
|
|
|
|
|
|
|
|
unsigned short DstColor;
|
|
|
|
unsigned long XGI310_AccelDepth;
|
|
|
|
unsigned long CommandReg;
|
|
|
|
|
|
|
|
unsigned int pcibus;
|
|
|
|
unsigned int pcislot;
|
|
|
|
unsigned int pcifunc;
|
|
|
|
|
|
|
|
unsigned short subsysvendor;
|
|
|
|
unsigned short subsysdevice;
|
|
|
|
|
|
|
|
char reserved[236];
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|