2 * From Coreboot file of the same name
4 * Copyright (C) 2012 Chromium OS Authors
6 * SPDX-License-Identifier: GPL-2.0
9 /* mailbox 0: header */
10 __packed struct opregion_header {
16 u8 driver_version[16];
21 #define IGD_OPREGION_SIGNATURE "IntelGraphicsMem"
22 #define IGD_OPREGION_VERSION 2
24 #define IGD_MBOX1 (1 << 0)
25 #define IGD_MBOX2 (1 << 1)
26 #define IGD_MBOX3 (1 << 2)
27 #define IGD_MBOX4 (1 << 3)
28 #define IGD_MBOX5 (1 << 4)
30 #define MAILBOXES_MOBILE (IGD_MBOX1 | IGD_MBOX2 | IGD_MBOX3 | \
31 IGD_MBOX4 | IGD_MBOX5)
32 #define MAILBOXES_DESKTOP (IGD_MBOX2 | IGD_MBOX4)
34 #define SBIOS_VERSION_SIZE 32
36 /* mailbox 1: public acpi methods */
37 __packed struct opregion_mailbox1 {
58 /* mailbox 2: software sci interface */
59 __packed struct opregion_mailbox2 {
66 /* mailbox 3: power conservation */
67 __packed struct opregion_mailbox3 {
85 #define IGD_BACKLIGHT_BRIGHTNESS 0xff
86 #define IGD_INITIAL_BRIGHTNESS 0x64
88 #define IGD_FIELD_VALID (1 << 31)
89 #define IGD_WORD_FIELD_VALID (1 << 15)
90 #define IGD_PFIT_STRETCH 6
98 __packed struct igd_opregion {
99 opregion_header_t header;
100 opregion_mailbox1_t mailbox1;
101 opregion_mailbox2_t mailbox2;
102 opregion_mailbox3_t mailbox3;
106 /* Intel Video BIOS (Option ROM) */
107 __packed struct optionrom_header {
115 #define OPROM_SIGNATURE 0xaa55
117 __packed struct optionrom_pcir {
132 __packed struct optionrom_vbt {
133 u8 hdr_signature[20];
139 u32 hdr_vbt_datablock;
141 u8 datahdr_signature[16];
144 u16 datahdr_datablocksize;
147 u16 coreblock_biossize;
148 u8 coreblock_biostype;
149 u8 coreblock_releasestatus;
150 u8 coreblock_hwsupported;
151 u8 coreblock_integratedhw;
152 u8 coreblock_biosbuild[4];
153 u8 coreblock_biossignon[155];
156 #define VBT_SIGNATURE 0x54425624