]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Library/I2CLibPei/I2CAccess.h
Vlv2TbltDevicePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / Vlv2TbltDevicePkg / Library / I2CLibPei / I2CAccess.h
1 /** @file
2 Misc Registers Definition.
3
4 Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 --*/
9
10 #ifndef _I2C_ACCESS_H_
11 #define _I2C_ACCESS_H_
12
13 #include "I2CIoLibPei.h"
14
15 #define DEFAULT_PCI_BUS_NUMBER_PCH 0
16
17 #define PCI_DEVICE_NUMBER_PCH_LPC 31
18 #define PCI_FUNCTION_NUMBER_PCH_LPC 0
19
20 #define R_PCH_LPC_ACPI_BASE 0x40 // ABASE, 16bit
21 #define R_PCH_LPC_ACPI_BASEADR 0x400 // ABASE, 16bit
22 #define B_PCH_LPC_ACPI_BASE_EN BIT1 // Enable Bit
23 #define B_PCH_LPC_ACPI_BASE_BAR 0x0000FF80 // Base Address, 128 Bytes
24 #define V_PCH_ACPI_PM1_TMR_MAX_VAL 0x1000000 // The timer is 24 bit overflow
25 #define B_PCH_ACPI_PM1_TMR_VAL 0xFFFFFF // The timer value mask
26
27 #define R_PCH_ACPI_PM1_TMR 0x08 // Power Management 1 Timer
28 #define V_PCH_ACPI_PM1_TMR_FREQUENCY 3579545 // Timer Frequency
29
30
31 #define PchLpcPciCfg8(Register) I2CLibPeiMmioRead8 (MmPciAddress (0, DEFAULT_PCI_BUS_NUMBER_PCH, PCI_DEVICE_NUMBER_PCH_LPC, 0, Register))
32
33 #define PCIEX_BASE_ADDRESS 0xE0000000
34 #define PCI_EXPRESS_BASE_ADDRESS ((VOID *) (UINTN) PCIEX_BASE_ADDRESS)
35
36 #define MmPciAddress( Segment, Bus, Device, Function, Register ) \
37 ( (UINTN)PCI_EXPRESS_BASE_ADDRESS + \
38 (UINTN)(Bus << 20) + \
39 (UINTN)(Device << 15) + \
40 (UINTN)(Function << 12) + \
41 (UINTN)(Register) \
42 )
43 #endif
44