coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
i945.h File Reference
Include dependency graph for i945.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DEFAULT_X60BAR   0xfed13000
 
#define INT15_5F35_CL_DISPLAY_DEFAULT   0
 
#define INT15_5F35_CL_DISPLAY_CRT   (1 << 0)
 
#define INT15_5F35_CL_DISPLAY_TV   (1 << 1)
 
#define INT15_5F35_CL_DISPLAY_EFP   (1 << 2)
 
#define INT15_5F35_CL_DISPLAY_LCD   (1 << 3)
 
#define INT15_5F35_CL_DISPLAY_CRT2   (1 << 4)
 
#define INT15_5F35_CL_DISPLAY_TV2   (1 << 5)
 
#define INT15_5F35_CL_DISPLAY_EFP2   (1 << 6)
 
#define INT15_5F35_CL_DISPLAY_LCD2   (1 << 7)
 
#define HOST_BRIDGE   PCI_DEV(0, 0, 0)
 
#define EPBAR   0x40
 
#define MCHBAR   0x44
 
#define PCIEXBAR   0x48
 
#define DMIBAR   0x4c
 
#define X60BAR   0x60
 
#define GGC   0x52 /* GMCH Graphics Control */
 
#define DEVEN   0x54 /* Device Enable */
 
#define DEVEN_D0F0   (1 << 0)
 
#define DEVEN_D1F0   (1 << 1)
 
#define DEVEN_D2F0   (1 << 3)
 
#define DEVEN_D2F1   (1 << 4)
 
#define BOARD_DEVEN   (DEVEN_D0F0 | DEVEN_D2F0 | DEVEN_D2F1)
 
#define PAM0   0x90
 
#define PAM1   0x91
 
#define PAM2   0x92
 
#define PAM3   0x93
 
#define PAM4   0x94
 
#define PAM5   0x95
 
#define PAM6   0x96
 
#define LAC   0x97 /* Legacy Access Control */
 
#define TOLUD   0x9c /* Top of Low Used Memory */
 
#define SMRAM   0x9d /* System Management RAM Control */
 
#define ESMRAMC   0x9e /* Extended System Management RAM Control */
 
#define TOM   0xa0
 
#define SKPAD   0xdc /* Scratchpad Data */
 
#define PCISTS1   0x06 /* 16bit */
 
#define SSTS1   0x1e /* 16bit */
 
#define PEG_CAP   0xa2 /* 16bit */
 
#define DSTS   0xaa /* 16bit */
 
#define SLOTCAP   0xb4 /* 32bit */
 
#define SLOTSTS   0xba /* 16bit */
 
#define PEG_LC   0xec /* 32bit */
 
#define PVCCAP1   0x104 /* 32bit */
 
#define VC0RCTL   0x114 /* 32bit */
 
#define LE1D   0x150 /* 32bit */
 
#define LE1A   0x158 /* 64bit */
 
#define UESTS   0x1c4 /* 32bit */
 
#define CESTS   0x1d0 /* 32bit */
 
#define PEGTC   0x204 /* 32bit */
 
#define PEGCC   0x208 /* 32bit */
 
#define PEGSTS   0x214 /* 32bit */
 
#define IGD_DEV   PCI_DEV(0, 2, 0)
 
#define GMADR   0x18
 
#define GTTADR   0x1c
 
#define BSM   0x5c
 
#define GCFC   0xf0 /* Graphics Clock Frequency & Gating Control */
 
#define FSBPMC3   0x40 /* 32bit */
 
#define FSBPMC4   0x44 /* 32bit */
 
#define FSBSNPCTL   0x48 /* 32bit */
 
#define SLPCTL   0x90 /* 32bit */
 
#define C0DRB0   0x100 /* 8bit */
 
#define C0DRB1   0x101 /* 8bit */
 
#define C0DRB2   0x102 /* 8bit */
 
#define C0DRB3   0x103 /* 8bit */
 
#define C0DRA0   0x108 /* 8bit */
 
#define C0DRA2   0x109 /* 8bit */
 
#define C0DCLKDIS   0x10c /* 8bit */
 
#define C0BNKARC   0x10e /* 16bit */
 
#define C0DRT0   0x110 /* 32bit */
 
#define C0DRT1   0x114 /* 32bit */
 
#define C0DRT2   0x118 /* 32bit */
 
#define C0DRT3   0x11c /* 32bit */
 
#define C0DRC0   0x120 /* 32bit */
 
#define C0DRC1   0x124 /* 32bit */
 
#define C0DRC2   0x128 /* 32bit */
 
#define C0AIT   0x130 /* 64bit */
 
#define C0DCCFT   0x138 /* 64bit */
 
#define C0GTEW   0x140 /* 32bit */
 
#define C0GTC   0x144 /* 32bit */
 
#define C0DTPEW   0x148 /* 64bit */
 
#define C0DTAEW   0x150 /* 64bit */
 
#define C0DTC   0x158 /* 32bit */
 
#define C0DMC   0x164 /* 32bit */
 
#define C0ODT   0x168 /* 64bit */
 
#define C1DRB0   0x180 /* 8bit */
 
#define C1DRB1   0x181 /* 8bit */
 
#define C1DRB2   0x182 /* 8bit */
 
#define C1DRB3   0x183 /* 8bit */
 
#define C1DRA0   0x188 /* 8bit */
 
#define C1DRA2   0x189 /* 8bit */
 
#define C1DCLKDIS   0x18c /* 8bit */
 
#define C1BNKARC   0x18e /* 16bit */
 
#define C1DRT0   0x190 /* 32bit */
 
#define C1DRT1   0x194 /* 32bit */
 
#define C1DRT2   0x198 /* 32bit */
 
#define C1DRT3   0x19c /* 32bit */
 
#define C1DRC0   0x1a0 /* 32bit */
 
#define C1DRC1   0x1a4 /* 32bit */
 
#define C1DRC2   0x1a8 /* 32bit */
 
#define C1AIT   0x1b0 /* 64bit */
 
#define C1DCCFT   0x1b8 /* 64bit */
 
#define C1GTEW   0x1c0 /* 32bit */
 
#define C1GTC   0x1c4 /* 32bit */
 
#define C1DTPEW   0x1c8 /* 64bit */
 
#define C1DTAEW   0x1d0 /* 64bit */
 
#define C1DTC   0x1d8 /* 32bit */
 
#define C1DMC   0x1e4 /* 32bit */
 
#define C1ODT   0x1e8 /* 64bit */
 
#define DCC   0x200 /* 32bit */
 
#define CCCFT   0x208 /* 64bit */
 
#define WCC   0x218 /* 32bit */
 
#define MMARB0   0x220 /* 32bit */
 
#define MMARB1   0x224 /* 32bit */
 
#define SBTEST   0x230 /* 32bit */
 
#define SBOCC   0x238 /* 32bit */
 
#define ODTC   0x284 /* 32bit */
 
#define SMVREFC   0x2a0 /* 32bit */
 
#define DRTST   0x2a8 /* 32bit */
 
#define REPC   0x2e0 /* 32bit */
 
#define DQSMT   0x2f4 /* 16bit */
 
#define RCVENMT   0x2f8 /* 32bit */
 
#define C0R0B00DQST   0x300 /* 64bit */
 
#define C0WL0REOST   0x340 /* 8bit */
 
#define C0WL1REOST   0x341 /* 8bit */
 
#define C0WL2REOST   0x342 /* 8bit */
 
#define C0WL3REOST   0x343 /* 8bit */
 
#define WDLLBYPMODE   0x360 /* 16bit */
 
#define C0WDLLCMC   0x36c /* 32bit */
 
#define C0HCTC   0x37c /* 8bit */
 
#define C1R0B00DQST   0x380 /* 64bit */
 
#define C1WL0REOST   0x3c0 /* 8bit */
 
#define C1WL1REOST   0x3c1 /* 8bit */
 
#define C1WL2REOST   0x3c2 /* 8bit */
 
#define C1WL3REOST   0x3c3 /* 8bit */
 
#define C1WDLLCMC   0x3ec /* 32bit */
 
#define C1HCTC   0x3fc /* 8bit */
 
#define GBRCOMPCTL   0x400 /* 32bit */
 
#define SMSRCTL   0x408 /* XXX who knows */
 
#define C0DRAMW   0x40c /* 16bit */
 
#define G1SC   0x410 /* 8bit */
 
#define G2SC   0x418 /* 8bit */
 
#define G3SC   0x420 /* 8bit */
 
#define G4SC   0x428 /* 8bit */
 
#define G5SC   0x430 /* 8bit */
 
#define G6SC   0x438 /* 8bit */
 
#define C1DRAMW   0x48c /* 16bit */
 
#define G7SC   0x490 /* 8bit */
 
#define G8SC   0x498 /* 8bit */
 
#define G1SRPUT   0x500 /* 256bit */
 
#define G1SRPDT   0x520 /* 256bit */
 
#define G2SRPUT   0x540 /* 256bit */
 
#define G2SRPDT   0x560 /* 256bit */
 
#define G3SRPUT   0x580 /* 256bit */
 
#define G3SRPDT   0x5a0 /* 256bit */
 
#define G4SRPUT   0x5c0 /* 256bit */
 
#define G4SRPDT   0x5e0 /* 256bit */
 
#define G5SRPUT   0x600 /* 256bit */
 
#define G5SRPDT   0x620 /* 256bit */
 
#define G6SRPUT   0x640 /* 256bit */
 
#define G6SRPDT   0x660 /* 256bit */
 
#define G7SRPUT   0x680 /* 256bit */
 
#define G7SRPDT   0x6a0 /* 256bit */
 
#define G8SRPUT   0x6c0 /* 256bit */
 
#define G8SRPDT   0x6e0 /* 256bit */
 
#define CLKCFG   0xc00 /* 32bit */
 
#define UPMC1   0xc14 /* 16bit */
 
#define CPCTL   0xc16 /* 16bit */
 
#define SSKPD   0xc1c /* 16bit (scratchpad) */
 
#define UPMC2   0xc20 /* 16bit */
 
#define UPMC4   0xc30 /* 32bit */
 
#define PLLMON   0xc34 /* 32bit */
 
#define HGIPMC2   0xc38 /* 32bit */
 
#define TSC1   0xc88 /* 8bit */
 
#define TSS1   0xc8a /* 8bit */
 
#define TR1   0xc8b /* 8bit */
 
#define TSTTP1   0xc8c /* 32bit */
 
#define TCO1   0xc92 /* 8bit */
 
#define THERM1_1   0xc94 /* 8bit */
 
#define TCOF1   0xc96 /* 8bit */
 
#define TIS1   0xc9a /* 16bit */
 
#define TSTTP1_2   0xc9c /* 32bit */
 
#define IUB   0xcd0 /* 32bit */
 
#define TSC0_1   0xcd8 /* 8bit */
 
#define TSS0   0xcda /* 8bit */
 
#define TR0   0xcdb /* 8bit */
 
#define TSTTP0_1   0xcdc /* 32bit */
 
#define TCO0   0xce2 /* 8bit */
 
#define THERM0_1   0xce4 /* 8bit */
 
#define TCOF0   0xce6 /* 8bit */
 
#define TIS0   0xcea /* 16bit */
 
#define TSTTP0_2   0xcec /* 32bit */
 
#define TERRCMD   0xcf0 /* 8bit */
 
#define TSMICMD   0xcf1 /* 8bit */
 
#define TSCICMD   0xcf2 /* 8bit */
 
#define TINTRCMD   0xcf3 /* 8bit */
 
#define EXTTSCS   0xcff /* 8bit */
 
#define DFT_STRAP1   0xe08 /* 32bit */
 
#define MIPMC3   0xbd8 /* 32bit */
 
#define C2C3TT   0xf00 /* 32bit */
 
#define C3C4TT   0xf04 /* 32bit */
 
#define MIPMC4   0xf08 /* 16bit */
 
#define MIPMC5   0xf0a /* 16bit */
 
#define MIPMC6   0xf0c /* 16bit */
 
#define MIPMC7   0xf0e /* 16bit */
 
#define PMCFG   0xf10 /* 32bit */
 
#define SLFRCS   0xf14 /* 32bit */
 
#define GIPMC1   0xfb0 /* 32bit */
 
#define FSBPMC1   0xfb8 /* 32bit */
 
#define UPMC3   0xfc0 /* 32bit */
 
#define ECO   0xffc /* 32bit */
 
#define EPPVCCAP1   0x004 /* 32bit */
 
#define EPPVCCAP2   0x008 /* 32bit */
 
#define EPVC0RCAP   0x010 /* 32bit */
 
#define EPVC0RCTL   0x014 /* 32bit */
 
#define EPVC0RSTS   0x01a /* 16bit */
 
#define EPVC1RCAP   0x01c /* 32bit */
 
#define EPVC1RCTL   0x020 /* 32bit */
 
#define EPVC1RSTS   0x026 /* 16bit */
 
#define EPVC1MTS   0x028 /* 32bit */
 
#define EPVC1IST   0x038 /* 64bit */
 
#define EPESD   0x044 /* 32bit */
 
#define EPLE1D   0x050 /* 32bit */
 
#define EPLE1A   0x058 /* 64bit */
 
#define EPLE2D   0x060 /* 32bit */
 
#define EPLE2A   0x068 /* 64bit */
 
#define PORTARB   0x100 /* 256bit */
 
#define DMIVCECH   0x000 /* 32bit */
 
#define DMIPVCCAP1   0x004 /* 32bit */
 
#define DMIPVCCAP2   0x008 /* 32bit */
 
#define DMIPVCCCTL   0x00c /* 16bit */
 
#define DMIVC0RCAP   0x010 /* 32bit */
 
#define DMIVC0RCTL0   0x014 /* 32bit */
 
#define DMIVC0RSTS   0x01a /* 16bit */
 
#define DMIVC1RCAP   0x01c /* 32bit */
 
#define DMIVC1RCTL   0x020 /* 32bit */
 
#define DMIVC1RSTS   0x026 /* 16bit */
 
#define DMILE1D   0x050 /* 32bit */
 
#define DMILE1A   0x058 /* 64bit */
 
#define DMILE2D   0x060 /* 32bit */
 
#define DMILE2A   0x068 /* 64bit */
 
#define DMILCAP   0x084 /* 32bit */
 
#define DMILCTL   0x088 /* 16bit */
 
#define DMILSTS   0x08a /* 16bit */
 
#define DMICTL1   0x0f0 /* 32bit */
 
#define DMICTL2   0x0fc /* 32bit */
 
#define DMICC   0x208 /* 32bit */
 
#define DMIDRCCFG   0xeb4 /* 32bit */
 

Functions

int i945_silicon_revision (void)
 
void i945_early_initialization (void)
 
void i945_late_initialization (int s3resume)
 
void print_pci_devices (void)
 
void dump_pci_device (unsigned int dev)
 
void dump_pci_devices (void)
 
void dump_spd_registers (u8 spd_map[4])
 
void sdram_dump_mchbar_registers (void)
 
u32 decode_igd_memory_size (u32 gms)
 Decodes used Graphics Mode Select (GMS) to kilobytes. More...
 
u32 decode_tseg_size (const u8 esmramc)
 
void mainboard_lpc_decode (void)
 
void mainboard_pre_raminit_config (int s3_resume)
 
void mainboard_late_rcba_config (void)
 
void mainboard_get_spd_map (u8 spd_map[4])
 

Macro Definition Documentation

◆ BOARD_DEVEN

#define BOARD_DEVEN   (DEVEN_D0F0 | DEVEN_D2F0 | DEVEN_D2F1)

Definition at line 42 of file i945.h.

◆ BSM

#define BSM   0x5c

Definition at line 86 of file i945.h.

◆ C0AIT

#define C0AIT   0x130 /* 64bit */

Definition at line 116 of file i945.h.

◆ C0BNKARC

#define C0BNKARC   0x10e /* 16bit */

Definition at line 108 of file i945.h.

◆ C0DCCFT

#define C0DCCFT   0x138 /* 64bit */

Definition at line 117 of file i945.h.

◆ C0DCLKDIS

#define C0DCLKDIS   0x10c /* 8bit */

Definition at line 107 of file i945.h.

◆ C0DMC

#define C0DMC   0x164 /* 32bit */

Definition at line 123 of file i945.h.

◆ C0DRA0

#define C0DRA0   0x108 /* 8bit */

Definition at line 105 of file i945.h.

◆ C0DRA2

#define C0DRA2   0x109 /* 8bit */

Definition at line 106 of file i945.h.

◆ C0DRAMW

#define C0DRAMW   0x40c /* 16bit */

Definition at line 187 of file i945.h.

◆ C0DRB0

#define C0DRB0   0x100 /* 8bit */

Definition at line 101 of file i945.h.

◆ C0DRB1

#define C0DRB1   0x101 /* 8bit */

Definition at line 102 of file i945.h.

◆ C0DRB2

#define C0DRB2   0x102 /* 8bit */

Definition at line 103 of file i945.h.

◆ C0DRB3

#define C0DRB3   0x103 /* 8bit */

Definition at line 104 of file i945.h.

◆ C0DRC0

#define C0DRC0   0x120 /* 32bit */

Definition at line 113 of file i945.h.

◆ C0DRC1

#define C0DRC1   0x124 /* 32bit */

Definition at line 114 of file i945.h.

◆ C0DRC2

#define C0DRC2   0x128 /* 32bit */

Definition at line 115 of file i945.h.

◆ C0DRT0

#define C0DRT0   0x110 /* 32bit */

Definition at line 109 of file i945.h.

◆ C0DRT1

#define C0DRT1   0x114 /* 32bit */

Definition at line 110 of file i945.h.

◆ C0DRT2

#define C0DRT2   0x118 /* 32bit */

Definition at line 111 of file i945.h.

◆ C0DRT3

#define C0DRT3   0x11c /* 32bit */

Definition at line 112 of file i945.h.

◆ C0DTAEW

#define C0DTAEW   0x150 /* 64bit */

Definition at line 121 of file i945.h.

◆ C0DTC

#define C0DTC   0x158 /* 32bit */

Definition at line 122 of file i945.h.

◆ C0DTPEW

#define C0DTPEW   0x148 /* 64bit */

Definition at line 120 of file i945.h.

◆ C0GTC

#define C0GTC   0x144 /* 32bit */

Definition at line 119 of file i945.h.

◆ C0GTEW

#define C0GTEW   0x140 /* 32bit */

Definition at line 118 of file i945.h.

◆ C0HCTC

#define C0HCTC   0x37c /* 8bit */

Definition at line 173 of file i945.h.

◆ C0ODT

#define C0ODT   0x168 /* 64bit */

Definition at line 124 of file i945.h.

◆ C0R0B00DQST

#define C0R0B00DQST   0x300 /* 64bit */

Definition at line 165 of file i945.h.

◆ C0WDLLCMC

#define C0WDLLCMC   0x36c /* 32bit */

Definition at line 172 of file i945.h.

◆ C0WL0REOST

#define C0WL0REOST   0x340 /* 8bit */

Definition at line 167 of file i945.h.

◆ C0WL1REOST

#define C0WL1REOST   0x341 /* 8bit */

Definition at line 168 of file i945.h.

◆ C0WL2REOST

#define C0WL2REOST   0x342 /* 8bit */

Definition at line 169 of file i945.h.

◆ C0WL3REOST

#define C0WL3REOST   0x343 /* 8bit */

Definition at line 170 of file i945.h.

◆ C1AIT

#define C1AIT   0x1b0 /* 64bit */

Definition at line 141 of file i945.h.

◆ C1BNKARC

#define C1BNKARC   0x18e /* 16bit */

Definition at line 133 of file i945.h.

◆ C1DCCFT

#define C1DCCFT   0x1b8 /* 64bit */

Definition at line 142 of file i945.h.

◆ C1DCLKDIS

#define C1DCLKDIS   0x18c /* 8bit */

Definition at line 132 of file i945.h.

◆ C1DMC

#define C1DMC   0x1e4 /* 32bit */

Definition at line 148 of file i945.h.

◆ C1DRA0

#define C1DRA0   0x188 /* 8bit */

Definition at line 130 of file i945.h.

◆ C1DRA2

#define C1DRA2   0x189 /* 8bit */

Definition at line 131 of file i945.h.

◆ C1DRAMW

#define C1DRAMW   0x48c /* 16bit */

Definition at line 195 of file i945.h.

◆ C1DRB0

#define C1DRB0   0x180 /* 8bit */

Definition at line 126 of file i945.h.

◆ C1DRB1

#define C1DRB1   0x181 /* 8bit */

Definition at line 127 of file i945.h.

◆ C1DRB2

#define C1DRB2   0x182 /* 8bit */

Definition at line 128 of file i945.h.

◆ C1DRB3

#define C1DRB3   0x183 /* 8bit */

Definition at line 129 of file i945.h.

◆ C1DRC0

#define C1DRC0   0x1a0 /* 32bit */

Definition at line 138 of file i945.h.

◆ C1DRC1

#define C1DRC1   0x1a4 /* 32bit */

Definition at line 139 of file i945.h.

◆ C1DRC2

#define C1DRC2   0x1a8 /* 32bit */

Definition at line 140 of file i945.h.

◆ C1DRT0

#define C1DRT0   0x190 /* 32bit */

Definition at line 134 of file i945.h.

◆ C1DRT1

#define C1DRT1   0x194 /* 32bit */

Definition at line 135 of file i945.h.

◆ C1DRT2

#define C1DRT2   0x198 /* 32bit */

Definition at line 136 of file i945.h.

◆ C1DRT3

#define C1DRT3   0x19c /* 32bit */

Definition at line 137 of file i945.h.

◆ C1DTAEW

#define C1DTAEW   0x1d0 /* 64bit */

Definition at line 146 of file i945.h.

◆ C1DTC

#define C1DTC   0x1d8 /* 32bit */

Definition at line 147 of file i945.h.

◆ C1DTPEW

#define C1DTPEW   0x1c8 /* 64bit */

Definition at line 145 of file i945.h.

◆ C1GTC

#define C1GTC   0x1c4 /* 32bit */

Definition at line 144 of file i945.h.

◆ C1GTEW

#define C1GTEW   0x1c0 /* 32bit */

Definition at line 143 of file i945.h.

◆ C1HCTC

#define C1HCTC   0x3fc /* 8bit */

Definition at line 182 of file i945.h.

◆ C1ODT

#define C1ODT   0x1e8 /* 64bit */

Definition at line 149 of file i945.h.

◆ C1R0B00DQST

#define C1R0B00DQST   0x380 /* 64bit */

Definition at line 175 of file i945.h.

◆ C1WDLLCMC

#define C1WDLLCMC   0x3ec /* 32bit */

Definition at line 181 of file i945.h.

◆ C1WL0REOST

#define C1WL0REOST   0x3c0 /* 8bit */

Definition at line 177 of file i945.h.

◆ C1WL1REOST

#define C1WL1REOST   0x3c1 /* 8bit */

Definition at line 178 of file i945.h.

◆ C1WL2REOST

#define C1WL2REOST   0x3c2 /* 8bit */

Definition at line 179 of file i945.h.

◆ C1WL3REOST

#define C1WL3REOST   0x3c3 /* 8bit */

Definition at line 180 of file i945.h.

◆ C2C3TT

#define C2C3TT   0xf00 /* 32bit */

Definition at line 257 of file i945.h.

◆ C3C4TT

#define C3C4TT   0xf04 /* 32bit */

Definition at line 258 of file i945.h.

◆ CCCFT

#define CCCFT   0x208 /* 64bit */

Definition at line 152 of file i945.h.

◆ CESTS

#define CESTS   0x1d0 /* 32bit */

Definition at line 76 of file i945.h.

◆ CLKCFG

#define CLKCFG   0xc00 /* 32bit */

Definition at line 217 of file i945.h.

◆ CPCTL

#define CPCTL   0xc16 /* 16bit */

Definition at line 219 of file i945.h.

◆ DCC

#define DCC   0x200 /* 32bit */

Definition at line 151 of file i945.h.

◆ DEFAULT_X60BAR

#define DEFAULT_X60BAR   0xfed13000

Definition at line 6 of file i945.h.

◆ DEVEN

#define DEVEN   0x54 /* Device Enable */

Definition at line 35 of file i945.h.

◆ DEVEN_D0F0

#define DEVEN_D0F0   (1 << 0)

Definition at line 36 of file i945.h.

◆ DEVEN_D1F0

#define DEVEN_D1F0   (1 << 1)

Definition at line 37 of file i945.h.

◆ DEVEN_D2F0

#define DEVEN_D2F0   (1 << 3)

Definition at line 38 of file i945.h.

◆ DEVEN_D2F1

#define DEVEN_D2F1   (1 << 4)

Definition at line 39 of file i945.h.

◆ DFT_STRAP1

#define DFT_STRAP1   0xe08 /* 32bit */

Definition at line 251 of file i945.h.

◆ DMIBAR

#define DMIBAR   0x4c

Definition at line 30 of file i945.h.

◆ DMICC

#define DMICC   0x208 /* 32bit */

Definition at line 328 of file i945.h.

◆ DMICTL1

#define DMICTL1   0x0f0 /* 32bit */

Definition at line 325 of file i945.h.

◆ DMICTL2

#define DMICTL2   0x0fc /* 32bit */

Definition at line 326 of file i945.h.

◆ DMIDRCCFG

#define DMIDRCCFG   0xeb4 /* 32bit */

Definition at line 330 of file i945.h.

◆ DMILCAP

#define DMILCAP   0x084 /* 32bit */

Definition at line 321 of file i945.h.

◆ DMILCTL

#define DMILCTL   0x088 /* 16bit */

Definition at line 322 of file i945.h.

◆ DMILE1A

#define DMILE1A   0x058 /* 64bit */

Definition at line 317 of file i945.h.

◆ DMILE1D

#define DMILE1D   0x050 /* 32bit */

Definition at line 316 of file i945.h.

◆ DMILE2A

#define DMILE2A   0x068 /* 64bit */

Definition at line 319 of file i945.h.

◆ DMILE2D

#define DMILE2D   0x060 /* 32bit */

Definition at line 318 of file i945.h.

◆ DMILSTS

#define DMILSTS   0x08a /* 16bit */

Definition at line 323 of file i945.h.

◆ DMIPVCCAP1

#define DMIPVCCAP1   0x004 /* 32bit */

Definition at line 303 of file i945.h.

◆ DMIPVCCAP2

#define DMIPVCCAP2   0x008 /* 32bit */

Definition at line 304 of file i945.h.

◆ DMIPVCCCTL

#define DMIPVCCCTL   0x00c /* 16bit */

Definition at line 306 of file i945.h.

◆ DMIVC0RCAP

#define DMIVC0RCAP   0x010 /* 32bit */

Definition at line 308 of file i945.h.

◆ DMIVC0RCTL0

#define DMIVC0RCTL0   0x014 /* 32bit */

Definition at line 309 of file i945.h.

◆ DMIVC0RSTS

#define DMIVC0RSTS   0x01a /* 16bit */

Definition at line 310 of file i945.h.

◆ DMIVC1RCAP

#define DMIVC1RCAP   0x01c /* 32bit */

Definition at line 312 of file i945.h.

◆ DMIVC1RCTL

#define DMIVC1RCTL   0x020 /* 32bit */

Definition at line 313 of file i945.h.

◆ DMIVC1RSTS

#define DMIVC1RSTS   0x026 /* 16bit */

Definition at line 314 of file i945.h.

◆ DMIVCECH

#define DMIVCECH   0x000 /* 32bit */

Definition at line 302 of file i945.h.

◆ DQSMT

#define DQSMT   0x2f4 /* 16bit */

Definition at line 162 of file i945.h.

◆ DRTST

#define DRTST   0x2a8 /* 32bit */

Definition at line 160 of file i945.h.

◆ DSTS

#define DSTS   0xaa /* 16bit */

Definition at line 67 of file i945.h.

◆ ECO

#define ECO   0xffc /* 32bit */

Definition at line 269 of file i945.h.

◆ EPBAR

#define EPBAR   0x40

Definition at line 27 of file i945.h.

◆ EPESD

#define EPESD   0x044 /* 32bit */

Definition at line 289 of file i945.h.

◆ EPLE1A

#define EPLE1A   0x058 /* 64bit */

Definition at line 292 of file i945.h.

◆ EPLE1D

#define EPLE1D   0x050 /* 32bit */

Definition at line 291 of file i945.h.

◆ EPLE2A

#define EPLE2A   0x068 /* 64bit */

Definition at line 294 of file i945.h.

◆ EPLE2D

#define EPLE2D   0x060 /* 32bit */

Definition at line 293 of file i945.h.

◆ EPPVCCAP1

#define EPPVCCAP1   0x004 /* 32bit */

Definition at line 275 of file i945.h.

◆ EPPVCCAP2

#define EPPVCCAP2   0x008 /* 32bit */

Definition at line 276 of file i945.h.

◆ EPVC0RCAP

#define EPVC0RCAP   0x010 /* 32bit */

Definition at line 278 of file i945.h.

◆ EPVC0RCTL

#define EPVC0RCTL   0x014 /* 32bit */

Definition at line 279 of file i945.h.

◆ EPVC0RSTS

#define EPVC0RSTS   0x01a /* 16bit */

Definition at line 280 of file i945.h.

◆ EPVC1IST

#define EPVC1IST   0x038 /* 64bit */

Definition at line 287 of file i945.h.

◆ EPVC1MTS

#define EPVC1MTS   0x028 /* 32bit */

Definition at line 286 of file i945.h.

◆ EPVC1RCAP

#define EPVC1RCAP   0x01c /* 32bit */

Definition at line 282 of file i945.h.

◆ EPVC1RCTL

#define EPVC1RCTL   0x020 /* 32bit */

Definition at line 283 of file i945.h.

◆ EPVC1RSTS

#define EPVC1RSTS   0x026 /* 16bit */

Definition at line 284 of file i945.h.

◆ ESMRAMC

#define ESMRAMC   0x9e /* Extended System Management RAM Control */

Definition at line 56 of file i945.h.

◆ EXTTSCS

#define EXTTSCS   0xcff /* 8bit */

Definition at line 250 of file i945.h.

◆ FSBPMC1

#define FSBPMC1   0xfb8 /* 32bit */

Definition at line 267 of file i945.h.

◆ FSBPMC3

#define FSBPMC3   0x40 /* 32bit */

Definition at line 96 of file i945.h.

◆ FSBPMC4

#define FSBPMC4   0x44 /* 32bit */

Definition at line 97 of file i945.h.

◆ FSBSNPCTL

#define FSBSNPCTL   0x48 /* 32bit */

Definition at line 98 of file i945.h.

◆ G1SC

#define G1SC   0x410 /* 8bit */

Definition at line 188 of file i945.h.

◆ G1SRPDT

#define G1SRPDT   0x520 /* 256bit */

Definition at line 200 of file i945.h.

◆ G1SRPUT

#define G1SRPUT   0x500 /* 256bit */

Definition at line 199 of file i945.h.

◆ G2SC

#define G2SC   0x418 /* 8bit */

Definition at line 189 of file i945.h.

◆ G2SRPDT

#define G2SRPDT   0x560 /* 256bit */

Definition at line 202 of file i945.h.

◆ G2SRPUT

#define G2SRPUT   0x540 /* 256bit */

Definition at line 201 of file i945.h.

◆ G3SC

#define G3SC   0x420 /* 8bit */

Definition at line 190 of file i945.h.

◆ G3SRPDT

#define G3SRPDT   0x5a0 /* 256bit */

Definition at line 204 of file i945.h.

◆ G3SRPUT

#define G3SRPUT   0x580 /* 256bit */

Definition at line 203 of file i945.h.

◆ G4SC

#define G4SC   0x428 /* 8bit */

Definition at line 191 of file i945.h.

◆ G4SRPDT

#define G4SRPDT   0x5e0 /* 256bit */

Definition at line 206 of file i945.h.

◆ G4SRPUT

#define G4SRPUT   0x5c0 /* 256bit */

Definition at line 205 of file i945.h.

◆ G5SC

#define G5SC   0x430 /* 8bit */

Definition at line 192 of file i945.h.

◆ G5SRPDT

#define G5SRPDT   0x620 /* 256bit */

Definition at line 208 of file i945.h.

◆ G5SRPUT

#define G5SRPUT   0x600 /* 256bit */

Definition at line 207 of file i945.h.

◆ G6SC

#define G6SC   0x438 /* 8bit */

Definition at line 193 of file i945.h.

◆ G6SRPDT

#define G6SRPDT   0x660 /* 256bit */

Definition at line 210 of file i945.h.

◆ G6SRPUT

#define G6SRPUT   0x640 /* 256bit */

Definition at line 209 of file i945.h.

◆ G7SC

#define G7SC   0x490 /* 8bit */

Definition at line 196 of file i945.h.

◆ G7SRPDT

#define G7SRPDT   0x6a0 /* 256bit */

Definition at line 212 of file i945.h.

◆ G7SRPUT

#define G7SRPUT   0x680 /* 256bit */

Definition at line 211 of file i945.h.

◆ G8SC

#define G8SC   0x498 /* 8bit */

Definition at line 197 of file i945.h.

◆ G8SRPDT

#define G8SRPDT   0x6e0 /* 256bit */

Definition at line 214 of file i945.h.

◆ G8SRPUT

#define G8SRPUT   0x6c0 /* 256bit */

Definition at line 213 of file i945.h.

◆ GBRCOMPCTL

#define GBRCOMPCTL   0x400 /* 32bit */

Definition at line 184 of file i945.h.

◆ GCFC

#define GCFC   0xf0 /* Graphics Clock Frequency & Gating Control */

Definition at line 87 of file i945.h.

◆ GGC

#define GGC   0x52 /* GMCH Graphics Control */

Definition at line 33 of file i945.h.

◆ GIPMC1

#define GIPMC1   0xfb0 /* 32bit */

Definition at line 266 of file i945.h.

◆ GMADR

#define GMADR   0x18

Definition at line 84 of file i945.h.

◆ GTTADR

#define GTTADR   0x1c

Definition at line 85 of file i945.h.

◆ HGIPMC2

#define HGIPMC2   0xc38 /* 32bit */

Definition at line 224 of file i945.h.

◆ HOST_BRIDGE

#define HOST_BRIDGE   PCI_DEV(0, 0, 0)

Definition at line 25 of file i945.h.

◆ IGD_DEV

#define IGD_DEV   PCI_DEV(0, 2, 0)

Definition at line 82 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_CRT

#define INT15_5F35_CL_DISPLAY_CRT   (1 << 0)

Definition at line 15 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_CRT2

#define INT15_5F35_CL_DISPLAY_CRT2   (1 << 4)

Definition at line 19 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_DEFAULT

#define INT15_5F35_CL_DISPLAY_DEFAULT   0

Definition at line 14 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_EFP

#define INT15_5F35_CL_DISPLAY_EFP   (1 << 2)

Definition at line 17 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_EFP2

#define INT15_5F35_CL_DISPLAY_EFP2   (1 << 6)

Definition at line 21 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_LCD

#define INT15_5F35_CL_DISPLAY_LCD   (1 << 3)

Definition at line 18 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_LCD2

#define INT15_5F35_CL_DISPLAY_LCD2   (1 << 7)

Definition at line 22 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_TV

#define INT15_5F35_CL_DISPLAY_TV   (1 << 1)

Definition at line 16 of file i945.h.

◆ INT15_5F35_CL_DISPLAY_TV2

#define INT15_5F35_CL_DISPLAY_TV2   (1 << 5)

Definition at line 20 of file i945.h.

◆ IUB

#define IUB   0xcd0 /* 32bit */

Definition at line 236 of file i945.h.

◆ LAC

#define LAC   0x97 /* Legacy Access Control */

Definition at line 53 of file i945.h.

◆ LE1A

#define LE1A   0x158 /* 64bit */

Definition at line 74 of file i945.h.

◆ LE1D

#define LE1D   0x150 /* 32bit */

Definition at line 73 of file i945.h.

◆ MCHBAR

#define MCHBAR   0x44

Definition at line 28 of file i945.h.

◆ MIPMC3

#define MIPMC3   0xbd8 /* 32bit */

Definition at line 255 of file i945.h.

◆ MIPMC4

#define MIPMC4   0xf08 /* 16bit */

Definition at line 260 of file i945.h.

◆ MIPMC5

#define MIPMC5   0xf0a /* 16bit */

Definition at line 261 of file i945.h.

◆ MIPMC6

#define MIPMC6   0xf0c /* 16bit */

Definition at line 262 of file i945.h.

◆ MIPMC7

#define MIPMC7   0xf0e /* 16bit */

Definition at line 263 of file i945.h.

◆ MMARB0

#define MMARB0   0x220 /* 32bit */

Definition at line 154 of file i945.h.

◆ MMARB1

#define MMARB1   0x224 /* 32bit */

Definition at line 155 of file i945.h.

◆ ODTC

#define ODTC   0x284 /* 32bit */

Definition at line 158 of file i945.h.

◆ PAM0

#define PAM0   0x90

Definition at line 45 of file i945.h.

◆ PAM1

#define PAM1   0x91

Definition at line 46 of file i945.h.

◆ PAM2

#define PAM2   0x92

Definition at line 47 of file i945.h.

◆ PAM3

#define PAM3   0x93

Definition at line 48 of file i945.h.

◆ PAM4

#define PAM4   0x94

Definition at line 49 of file i945.h.

◆ PAM5

#define PAM5   0x95

Definition at line 50 of file i945.h.

◆ PAM6

#define PAM6   0x96

Definition at line 51 of file i945.h.

◆ PCIEXBAR

#define PCIEXBAR   0x48

Definition at line 29 of file i945.h.

◆ PCISTS1

#define PCISTS1   0x06 /* 16bit */

Definition at line 64 of file i945.h.

◆ PEG_CAP

#define PEG_CAP   0xa2 /* 16bit */

Definition at line 66 of file i945.h.

◆ PEG_LC

#define PEG_LC   0xec /* 32bit */

Definition at line 70 of file i945.h.

◆ PEGCC

#define PEGCC   0x208 /* 32bit */

Definition at line 78 of file i945.h.

◆ PEGSTS

#define PEGSTS   0x214 /* 32bit */

Definition at line 79 of file i945.h.

◆ PEGTC

#define PEGTC   0x204 /* 32bit */

Definition at line 77 of file i945.h.

◆ PLLMON

#define PLLMON   0xc34 /* 32bit */

Definition at line 223 of file i945.h.

◆ PMCFG

#define PMCFG   0xf10 /* 32bit */

Definition at line 264 of file i945.h.

◆ PORTARB

#define PORTARB   0x100 /* 256bit */

Definition at line 296 of file i945.h.

◆ PVCCAP1

#define PVCCAP1   0x104 /* 32bit */

Definition at line 71 of file i945.h.

◆ RCVENMT

#define RCVENMT   0x2f8 /* 32bit */

Definition at line 163 of file i945.h.

◆ REPC

#define REPC   0x2e0 /* 32bit */

Definition at line 161 of file i945.h.

◆ SBOCC

#define SBOCC   0x238 /* 32bit */

Definition at line 157 of file i945.h.

◆ SBTEST

#define SBTEST   0x230 /* 32bit */

Definition at line 156 of file i945.h.

◆ SKPAD

#define SKPAD   0xdc /* Scratchpad Data */

Definition at line 60 of file i945.h.

◆ SLFRCS

#define SLFRCS   0xf14 /* 32bit */

Definition at line 265 of file i945.h.

◆ SLOTCAP

#define SLOTCAP   0xb4 /* 32bit */

Definition at line 68 of file i945.h.

◆ SLOTSTS

#define SLOTSTS   0xba /* 16bit */

Definition at line 69 of file i945.h.

◆ SLPCTL

#define SLPCTL   0x90 /* 32bit */

Definition at line 99 of file i945.h.

◆ SMRAM

#define SMRAM   0x9d /* System Management RAM Control */

Definition at line 55 of file i945.h.

◆ SMSRCTL

#define SMSRCTL   0x408 /* XXX who knows */

Definition at line 186 of file i945.h.

◆ SMVREFC

#define SMVREFC   0x2a0 /* 32bit */

Definition at line 159 of file i945.h.

◆ SSKPD

#define SSKPD   0xc1c /* 16bit (scratchpad) */

Definition at line 220 of file i945.h.

◆ SSTS1

#define SSTS1   0x1e /* 16bit */

Definition at line 65 of file i945.h.

◆ TCO0

#define TCO0   0xce2 /* 8bit */

Definition at line 241 of file i945.h.

◆ TCO1

#define TCO1   0xc92 /* 8bit */

Definition at line 231 of file i945.h.

◆ TCOF0

#define TCOF0   0xce6 /* 8bit */

Definition at line 243 of file i945.h.

◆ TCOF1

#define TCOF1   0xc96 /* 8bit */

Definition at line 233 of file i945.h.

◆ TERRCMD

#define TERRCMD   0xcf0 /* 8bit */

Definition at line 246 of file i945.h.

◆ THERM0_1

#define THERM0_1   0xce4 /* 8bit */

Definition at line 242 of file i945.h.

◆ THERM1_1

#define THERM1_1   0xc94 /* 8bit */

Definition at line 232 of file i945.h.

◆ TINTRCMD

#define TINTRCMD   0xcf3 /* 8bit */

Definition at line 249 of file i945.h.

◆ TIS0

#define TIS0   0xcea /* 16bit */

Definition at line 244 of file i945.h.

◆ TIS1

#define TIS1   0xc9a /* 16bit */

Definition at line 234 of file i945.h.

◆ TOLUD

#define TOLUD   0x9c /* Top of Low Used Memory */

Definition at line 54 of file i945.h.

◆ TOM

#define TOM   0xa0

Definition at line 58 of file i945.h.

◆ TR0

#define TR0   0xcdb /* 8bit */

Definition at line 239 of file i945.h.

◆ TR1

#define TR1   0xc8b /* 8bit */

Definition at line 229 of file i945.h.

◆ TSC0_1

#define TSC0_1   0xcd8 /* 8bit */

Definition at line 237 of file i945.h.

◆ TSC1

#define TSC1   0xc88 /* 8bit */

Definition at line 227 of file i945.h.

◆ TSCICMD

#define TSCICMD   0xcf2 /* 8bit */

Definition at line 248 of file i945.h.

◆ TSMICMD

#define TSMICMD   0xcf1 /* 8bit */

Definition at line 247 of file i945.h.

◆ TSS0

#define TSS0   0xcda /* 8bit */

Definition at line 238 of file i945.h.

◆ TSS1

#define TSS1   0xc8a /* 8bit */

Definition at line 228 of file i945.h.

◆ TSTTP0_1

#define TSTTP0_1   0xcdc /* 32bit */

Definition at line 240 of file i945.h.

◆ TSTTP0_2

#define TSTTP0_2   0xcec /* 32bit */

Definition at line 245 of file i945.h.

◆ TSTTP1

#define TSTTP1   0xc8c /* 32bit */

Definition at line 230 of file i945.h.

◆ TSTTP1_2

#define TSTTP1_2   0xc9c /* 32bit */

Definition at line 235 of file i945.h.

◆ UESTS

#define UESTS   0x1c4 /* 32bit */

Definition at line 75 of file i945.h.

◆ UPMC1

#define UPMC1   0xc14 /* 16bit */

Definition at line 218 of file i945.h.

◆ UPMC2

#define UPMC2   0xc20 /* 16bit */

Definition at line 221 of file i945.h.

◆ UPMC3

#define UPMC3   0xfc0 /* 32bit */

Definition at line 268 of file i945.h.

◆ UPMC4

#define UPMC4   0xc30 /* 32bit */

Definition at line 222 of file i945.h.

◆ VC0RCTL

#define VC0RCTL   0x114 /* 32bit */

Definition at line 72 of file i945.h.

◆ WCC

#define WCC   0x218 /* 32bit */

Definition at line 153 of file i945.h.

◆ WDLLBYPMODE

#define WDLLBYPMODE   0x360 /* 16bit */

Definition at line 171 of file i945.h.

◆ X60BAR

#define X60BAR   0x60

Definition at line 31 of file i945.h.

Function Documentation

◆ decode_igd_memory_size()

u32 decode_igd_memory_size ( u32  gms)

Decodes used Graphics Mode Select (GMS) to kilobytes.

Definition at line 24 of file memmap.c.

◆ decode_tseg_size()

u32 decode_tseg_size ( const u8  esmramc)

Definition at line 57 of file memmap.c.

References die().

Referenced by northbridge_get_tseg_base(), and northbridge_get_tseg_size().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dump_pci_device()

void dump_pci_device ( unsigned int  dev)

Definition at line 38 of file debug.c.

References BIOS_DEBUG, pci_read_config8(), printk, and val.

Referenced by dump_pci_devices().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dump_pci_devices()

void dump_pci_devices ( void  )

Definition at line 45 of file debug.c.

References dump_pci_device(), PCI_DEV, pci_read_config32(), and PCI_VENDOR_ID.

Here is the call graph for this function:

◆ dump_spd_registers()

void dump_spd_registers ( u8  spd_map[4])

Definition at line 60 of file debug.c.

References BIOS_DEBUG, printk, and smbus_read_byte().

Here is the call graph for this function:

◆ i945_early_initialization()

void i945_early_initialization ( void  )

Definition at line 775 of file early_init.c.

References GCS, HOST_BRIDGE, i945_detect_chipset(), i945_setup_bars(), i945m_detect_chipset(), pci_read_config32(), and RCBA32.

Referenced by mainboard_romstage_entry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ i945_late_initialization()

void i945_late_initialization ( int  s3resume)

◆ i945_silicon_revision()

int i945_silicon_revision ( void  )

Definition at line 15 of file early_init.c.

References HOST_BRIDGE, PCI_CLASS_REVISION, and pci_read_config8().

Referenced by i945_setup_bars(), i945_setup_dmi_rcrb(), i945_setup_pci_express_x16(), sdram_force_rcomp(), sdram_power_management(), sdram_program_graphics_frequency(), and sdram_setup_processor_side().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mainboard_get_spd_map()

void mainboard_get_spd_map ( u8  spd_map[4])

Definition at line 83 of file early_init.c.

◆ mainboard_late_rcba_config()

void mainboard_late_rcba_config ( void  )

Definition at line 6 of file early_init.c.

◆ mainboard_lpc_decode()

void mainboard_lpc_decode ( void  )

Definition at line 34 of file early_init.c.

References get_uint_option(), LPC_EN, LPC_IO_DEC, LPT_LPC_EN, PCI_DEV, pci_update_config16(), pci_update_config32(), and pci_write_config16().

Referenced by mainboard_romstage_entry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mainboard_pre_raminit_config()

void mainboard_pre_raminit_config ( int  s3_resume)

Definition at line 85 of file early_init.c.

References BIOS_DEBUG, BIOS_SPEW, DEFAULT_GPIOBASE, full_reset(), init_artec_dongle(), inl(), msr_get_fsb(), outl(), printk, and setup_sio_gpio().

Referenced by mainboard_romstage_entry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ print_pci_devices()

void print_pci_devices ( void  )

Definition at line 10 of file debug.c.

References BIOS_DEBUG, PCI_DEV, pci_read_config32(), PCI_VENDOR_ID, and printk.

Here is the call graph for this function:

◆ sdram_dump_mchbar_registers()

void sdram_dump_mchbar_registers ( void  )

Definition at line 80 of file raminit.c.

References BIOS_DEBUG, mchbar_read32(), and printk.

Referenced by i945_late_initialization().

Here is the call graph for this function:
Here is the caller graph for this function: