Chameleon

Chameleon Svn Source Tree

Root/trunk/i386/libsaio/gma.h

1/*
2 * Copyright 2013 Intel Corporation
3 * All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sub license, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
12 *
13 * The above copyright notice and this permission notice (including the
14 * next paragraph) shall be included in all copies or substantial portions
15 * of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 * DEALINGS IN THE SOFTWARE.
24 */
25
26/*
27 Original patch by Nawcom
28 http://forum.voodooprojects.org/index.php/topic,1029.0.html
29
30 Original Intel HDx000 code from valv
31 Intel HD4xx and HD5xx code by ErmaC http://www.insanelymac.com/forum/topic/288241-intel-hd4000-inject-aaplig-platform-id/
32 */
33
34#ifndef __LIBSAIO_GMA_H
35#define __LIBSAIO_GMA_H
36
37bool setup_gma_devprop(pci_dt_t *gma_dev);
38
39struct intel_gfx_info_t;
40typedef struct{
41 uint32_tmodel;
42char*label_info;
43}intel_gfx_info_t;
44
45#define REG8(reg)((volatile uint8_t *)regs)[(reg)]
46#define REG16(reg)((volatile uint16_t *)regs)[(reg) >> 1]
47#define REG32(reg)((volatile uint32_t *)regs)[(reg) >> 2]
48
49/****************************************************************************
50 * Miscellanious defines
51 ****************************************************************************/
52
53/* Intel gfx Controller models */
54#define GFX_MODEL_CONSTRUCT(vendor, model) (((uint32_t)(model) << 16) | ((vendor##_VENDORID) & 0xffff))
55
56/* Intel */
57#define INTEL_NAME "Intel"
58#define HD_GRAPHICS "HD Graphics"
59#define HD_GRAPHICS_2000 "HD Graphics 2000"
60#define HD_GRAPHICS_2500 "HD Graphics 2500"
61#define HD_GRAPHICS_3000 "HD Graphics 3000"
62#define HD_GRAPHICS_4000 "HD Graphics 4000"
63#define HD_GRAPHICS_4600 "HD Graphics 4600"
64#define HD_GRAPHICS_5000 "HD Graphics 5000"
65#define IRIS_5100 "Iris(TM) Graphics 5100"
66#define IRIS_5200 "Iris(TM) Pro Graphics 5200"
67#define INTEL_VENDORID0x8086
68
69/* http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/tree/src/intel_driver.h */
70/* http://people.redhat.com/agk/patches/linux/patches-3.6/git-update1.patch */
71
72#define GMA_I810 GFX_MODEL_CONSTRUCT(INTEL, 0x7121)
73#define GMA_I810_DC100 GFX_MODEL_CONSTRUCT(INTEL, 0x7123)
74#define GMA_I810_E GFX_MODEL_CONSTRUCT(INTEL, 0x7125)
75#define GMA_I815 GFX_MODEL_CONSTRUCT(INTEL, 0x1132)
76/* ==================================== */
77
78#define GMA_I830_M GFX_MODEL_CONSTRUCT(INTEL, 0x3577)
79#define GMA_845_G GFX_MODEL_CONSTRUCT(INTEL, 0x2562)
80#define GMA_I854 GFX_MODEL_CONSTRUCT(INTEL, 0x358E)
81#define GMA_I855_GM GFX_MODEL_CONSTRUCT(INTEL, 0x3582)
82#define GMA_I865_G GFX_MODEL_CONSTRUCT(INTEL, 0x2572)
83/* ==================================== */
84
85#define GMA_I915_G GFX_MODEL_CONSTRUCT(INTEL, 0x2582) // GMA 915
86#define GMA_I915_GM GFX_MODEL_CONSTRUCT(INTEL, 0x2592) // GMA 915
87#define GMA_E7221_G GFX_MODEL_CONSTRUCT(INTEL, 0x258A)
88#define GMA_I945_G GFX_MODEL_CONSTRUCT(INTEL, 0x2772) // Desktop GMA950
89//#define GMA_82945G GFX_MODEL_CONSTRUCT(INTEL, 2776) // Desktop GMA950
90//#define GMA_82915G GFX_MODEL_CONSTRUCT(INTEL, 2782) // GMA 915
91//#define GMA_038000 GFX_MODEL_CONSTRUCT(INTEL, 2792) // Mobile GMA915
92#define GMA_I945_GM GFX_MODEL_CONSTRUCT(INTEL, 0x27A2) // Mobile GMA950
93#define GMA_I945_GME GFX_MODEL_CONSTRUCT(INTEL, 0x27AE) // Mobile GMA950
94//#define GMA_945GM GFX_MODEL_CONSTRUCT(INTEL, 27A6) // Mobile GMA950
95//#define GMA_PINEVIEW_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0xA010)
96#define GMA_PINEVIEW_M GFX_MODEL_CONSTRUCT(INTEL, 0xA011) // Mobile GMA3150
97#define GMA_GMA3150_M GFX_MODEL_CONSTRUCT(INTEL, 0xA012) // Mobile GMA3150
98//#define GMA_PINEVIEW_HB GFX_MODEL_CONSTRUCT(INTEL, 0xA000)
99#define GMA_PINEVIEW_G GFX_MODEL_CONSTRUCT(INTEL, 0xA001) // Mobile GMA3150
100#define GMA_GMA3150_D GFX_MODEL_CONSTRUCT(INTEL, 0xA002) // Desktop GMA3150
101#define GMA_Q35_G GFX_MODEL_CONSTRUCT(INTEL, 0x29B2)
102#define GMA_G33_G GFX_MODEL_CONSTRUCT(INTEL, 0x29C2) // Desktop GMA3100
103// 29C3 // Desktop GMA3100
104#define GMA_Q33_G GFX_MODEL_CONSTRUCT(INTEL, 0x29D2)
105/* ==================================== */
106
107#define GMA_G35_G GFX_MODEL_CONSTRUCT(INTEL, 0x2982)
108#define GMA_I965_Q GFX_MODEL_CONSTRUCT(INTEL, 0x2992)
109#define GMA_I965_G GFX_MODEL_CONSTRUCT(INTEL, 0x29A2)
110#define GMA_I946_GZ GFX_MODEL_CONSTRUCT(INTEL, 0x2972)
111#define GMA_I965_GM GFX_MODEL_CONSTRUCT(INTEL, 0x2A02) // GMAX3100
112#define GMA_I965_GME GFX_MODEL_CONSTRUCT(INTEL, 0x2A12) // GMAX3100
113#define GMA_GM45_GM GFX_MODEL_CONSTRUCT(INTEL, 0x2A42) // GMAX3100
114//#define GMA_GM45_GM2 GFX_MODEL_CONSTRUCT(INTEL, 0x2A43) // GMAX3100
115#define GMA_G45_E_G GFX_MODEL_CONSTRUCT(INTEL, 0x2E02)
116#define GMA_G45_G GFX_MODEL_CONSTRUCT(INTEL, 0x2E22)
117#define GMA_Q45_G GFX_MODEL_CONSTRUCT(INTEL, 0x2E12)
118#define GMA_G41_G GFX_MODEL_CONSTRUCT(INTEL, 0x2E32)
119#define GMA_B43_G GFX_MODEL_CONSTRUCT(INTEL, 0x2E42)
120#define GMA_B43_G1 GFX_MODEL_CONSTRUCT(INTEL, 0x2E92)
121
122#define GMA_IRONLAKE_D_G GFX_MODEL_CONSTRUCT(INTEL, 0x0042) // HD2000
123#define GMA_IRONLAKE_M_G GFX_MODEL_CONSTRUCT(INTEL, 0x0046) // HD2000
124/*
125#define GMA_IRONLAKE_D_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0040)
126#define GMA_IRONLAKE_D2_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0069)
127#define GMA_IRONLAKE_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0044)
128#define GMA_IRONLAKE_MA_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0062)
129#define GMA_IRONLAKE_MC2_HB GFX_MODEL_CONSTRUCT(INTEL, 0x006a)
130*/
131// 004A // HD2000
132/* ==================================== */
133
134/* ========== Sandy Bridge ============ */
135//#define GMA_SANDYBRIDGE_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0100) /* Desktop */
136#define GMA_SANDYBRIDGE_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0102) // HD Graphics 2000
137//#define GMA_SANDYBRIDGE_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0104) /* Mobile */
138#define GMA_SANDYBRIDGE_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0112) // HD Graphics 3000
139#define GMA_SANDYBRIDGE_GT2_PLUSGFX_MODEL_CONSTRUCT(INTEL, 0x0122) // HD Graphics 3000
140#define GMA_SANDYBRIDGE_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0106) // HD Graphics 2000 Mobile
141#define GMA_SANDYBRIDGE_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0116) // HD Graphics 3000 Mobile
142#define GMA_SANDYBRIDGE_M_GT2_PLUSGFX_MODEL_CONSTRUCT(INTEL, 0x0126) // HD Graphics 3000 Mobile
143//#define GMA_SANDYBRIDGE_S_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0108) /* Server */
144#define GMA_SANDYBRIDGE_S_GT GFX_MODEL_CONSTRUCT(INTEL, 0x010A) // HD Graphics
145// 010B // ??
146// 010E // ??
147/* ==================================== */
148
149/* ========== Ivy Bridge ============== */
150//#define GMA_IVYBRIDGE_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0150) /* Desktop */
151//#define GMA_IVYBRIDGE_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0154) /* Mobile */
152#define GMA_IVYBRIDGE_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0156) // HD Graphics 2500 Mobile
153#define GMA_IVYBRIDGE_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0166) // HD Graphics 4000 Mobile
154#define GMA_IVYBRIDGE_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0152) // HD Graphics 2500
155#define GMA_IVYBRIDGE_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0162) // HD Graphics 4000
156//#define GMA_IVYBRIDGE_S_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0158) /* Server */
157#define GMA_IVYBRIDGE_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x015A) // HD Graphics 4000
158// 015E // ??
159#define GMA_IVYBRIDGE_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x016A) // HD Graphics P4000
160// 0172 // HD Graphics 2500 Mobile
161// 0176 // HD Graphics 2500 Mobile
162/* ==================================== */
163
164//#define GMA_VALLEYVIEW_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0F00) /* VLV1 */
165//#define GMA_VALLEYVIEW_IG GFX_MODEL_CONSTRUCT(INTEL, 0x0F30)
166
167/* ============ Haswell =============== */
168// 0090 // AppleIntelHD5000Graphics.kext
169// 0091 // AppleIntelHD5000Graphics.kext
170// 0092 // AppleIntelHD5000Graphics.kext
171//#define GMA_HASWELL_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0400) /* Desktop */
172#define GMA_HASWELL_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0402) //
173#define GMA_HASWELL_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0412) // AppleIntelHD5000Graphics.kext
174#define GMA_HASWELL_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0422) //
175//#define GMA_HASWELL_M_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0404) /* Mobile */
176#define GMA_HASWELL_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0406) // AppleIntelHD5000Graphics.kext
177#define GMA_HASWELL_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0416) // AppleIntelHD5000Graphics.kext
178#define GMA_HASWELL_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0426) // AppleIntelHD5000Graphics.kext
179#define GMA_HASWELL_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x040A) //
180//#define GMA_HASWELL_S_HB GFX_MODEL_CONSTRUCT(INTEL, 0x0408) /* Server */
181#define GMA_HASWELL_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041A) //
182#define GMA_HASWELL_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x042A) //
183#define GMA_HASWELL_B_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x040B)
184#define GMA_HASWELL_B_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041B)
185#define GMA_HASWELL_B_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x042B)
186#define GMA_HASWELL_E_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x040E)
187#define GMA_HASWELL_E_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x041E)
188#define GMA_HASWELL_E_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x042E)
189
190#define GMA_HASWELL_ULT_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A02)
191#define GMA_HASWELL_ULT_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A12)
192#define GMA_HASWELL_ULT_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A22) //
193#define GMA_HASWELL_ULT_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A06) //
194#define GMA_HASWELL_ULT_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A16) // AppleIntelHD5000Graphics.kext
195#define GMA_HASWELL_ULT_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A26) // AppleIntelHD5000Graphics.kext
196#define GMA_HASWELL_ULT_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A0A)
197#define GMA_HASWELL_ULT_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A1A)
198#define GMA_HASWELL_ULT_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A2A)
199#define GMA_HASWELL_ULT_B_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A0B)
200#define GMA_HASWELL_ULT_B_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A1B)
201#define GMA_HASWELL_ULT_B_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A2B)
202#define GMA_HASWELL_ULT_E_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0A0E) //
203#define GMA_HASWELL_ULT_E_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0A1E) // AppleIntelHD5000Graphics.kext
204#define GMA_HASWELL_ULT_E_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0A2E) // AppleIntelHD5000Graphics.kext
205
206//#define GMA_HASWELL_SDV_D_GT1_IG GFX_MODEL_CONSTRUCT(INTEL, 0C02)
207//#define GMA_HASWELL_E_HB GFX_MODEL_CONSTRUCT(INTEL, 0C04)
208//#define GMA_HASWELL_SDV_M_GT1_IG GFX_MODEL_CONSTRUCT(INTEL, 0C06) // AppleIntelHD5000Graphics.kext
209//#define GMA_HASWELL_SDV_D_GT2_IG GFX_MODEL_CONSTRUCT(INTEL, 0C12)
210//#define GMA_HASWELL_SDV_M_GT2_IG GFX_MODEL_CONSTRUCT(INTEL, 0C16) // AppleIntelHD5000Graphics.kext
211//#define GMA_HASWELL_SDV_D_GT2_PLUS_IG GFX_MODEL_CONSTRUCT(INTEL, 0C22) // AppleIntelHD5000Graphics.kext
212//#define GMA_HASWELL_SDV_M_GT2_PLUS_IG GFX_MODEL_CONSTRUCT(INTEL, 0C26) // AppleIntelHD5000Graphics.kext
213//#define GMA_HASWELL_SDV_S_GT1_IGGFX_MODEL_CONSTRUCT(INTEL, 0x0C0A)
214//#define GMA_HASWELL_SDV_S_GT2_IGGFX_MODEL_CONSTRUCT(INTEL, 0x0C1A)
215//#define GMA_HASWELL_SDV_S_GT2_PLUS_IGGFX_MODEL_CONSTRUCT(INTEL, 0x0C2A)
216
217#define GMA_HASWELL_CRW_D_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D02)
218#define GMA_HASWELL_CRW_D_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D12) //
219#define GMA_HASWELL_CRW_D_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D22) //
220//#define GMA_HASWELL_CRW_D_GT2_PLUS_IGGFX_MODEL_CONSTRUCT(INTEL, 0x0D32)
221#define GMA_HASWELL_CRW_M_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D06)
222#define GMA_HASWELL_CRW_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D16) //
223#define GMA_HASWELL_CRW_M_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D26) // AppleIntelHD5000Graphics.kext
224#define GMA_HASWELL_CRW_S_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D0A)
225#define GMA_HASWELL_CRW_S_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D1A)
226#define GMA_HASWELL_CRW_S_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D2A)
227#define GMA_HASWELL_CRW_B_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D0B)
228#define GMA_HASWELL_CRW_B_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D1B)
229#define GMA_HASWELL_CRW_B_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D2B)
230#define GMA_HASWELL_CRW_E_GT1 GFX_MODEL_CONSTRUCT(INTEL, 0x0D0E)
231#define GMA_HASWELL_CRW_E_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0D1E)
232#define GMA_HASWELL_CRW_E_GT3 GFX_MODEL_CONSTRUCT(INTEL, 0x0D2E)
233//#define GMA_HASWELL_CRW_M_GT2_PLUS_IG GFX_MODEL_CONSTRUCT(INTEL, 0x0D36)
234//#define GMA_HASWELL_CRW_S_GT2_PLUS_IG GFX_MODEL_CONSTRUCT(INTEL, 0x0D3A)
235
236/* END */
237
238#endif /* !__LIBSAIO_GMA_H */
239

Archive Download this file

Revision: 2262