coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
lpc.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _BROADWELL_LPC_H_
4 #define _BROADWELL_LPC_H_
5 
6 /* PCI Configuration Space (D31:F0): LPC */
7 #define SERIRQ_CNTL 0x64
8 #define PMBASE 0x40
9 #define ACPI_CNTL 0x44
10 #define ACPI_EN (1 << 7)
11 #define SCI_IRQ_SEL (7 << 0)
12 #define SCIS_IRQ9 0
13 #define SCIS_IRQ10 1
14 #define SCIS_IRQ11 2
15 #define SCIS_IRQ20 4
16 #define SCIS_IRQ21 5
17 #define SCIS_IRQ22 6
18 #define SCIS_IRQ23 7
19 #define GPIOBASE 0x48
20 #define BIOS_CNTL 0xdc
21 #define GPIO_BASE 0x48 /* LPC GPIO Base Address Register */
22 #define GPIO_CNTL 0x4C /* LPC GPIO Control Register */
23 #define GPIO_EN (1 << 4)
24 #define GPIO_ROUT 0xb8
25 
26 #define PIRQA_ROUT 0x60
27 #define PIRQB_ROUT 0x61
28 #define PIRQC_ROUT 0x62
29 #define PIRQD_ROUT 0x63
30 #define PIRQE_ROUT 0x68
31 #define PIRQF_ROUT 0x69
32 #define PIRQG_ROUT 0x6A
33 #define PIRQH_ROUT 0x6B
34 
35 #define LPC_IO_DEC 0x80 /* IO Decode Ranges Register */
36 #define LPC_EN 0x82 /* LPC IF Enables Register */
37 #define CNF2_LPC_EN (1 << 13) /* 0x4e/0x4f */
38 #define CNF1_LPC_EN (1 << 12) /* 0x2e/0x2f */
39 #define MC_LPC_EN (1 << 11) /* 0x62/0x66 */
40 #define KBC_LPC_EN (1 << 10) /* 0x60/0x64 */
41 #define GAMEH_LPC_EN (1 << 9) /* 0x208/0x20f */
42 #define GAMEL_LPC_EN (1 << 8) /* 0x200/0x207 */
43 #define FDD_LPC_EN (1 << 3) /* LPC_IO_DEC[12] */
44 #define LPT_LPC_EN (1 << 2) /* LPC_IO_DEC[9:8] */
45 #define COMB_LPC_EN (1 << 1) /* LPC_IO_DEC[6:4] */
46 #define COMA_LPC_EN (1 << 0) /* LPC_IO_DEC[2:0] */
47 #define LPC_GEN1_DEC 0x84 /* LPC IF Generic Decode Range 1 */
48 #define LPC_GEN2_DEC 0x88 /* LPC IF Generic Decode Range 2 */
49 #define LPC_GEN3_DEC 0x8c /* LPC IF Generic Decode Range 3 */
50 #define LPC_GEN4_DEC 0x90 /* LPC IF Generic Decode Range 4 */
51 #define LGMR 0x98 /* LPC Generic Memory Range */
52 #define RCBA 0xf0 /* Root Complex Register Block */
53 
54 /* Power Management */
55 
56 #define GEN_PMCON_1 0xa0
57 #define SMI_LOCK (1 << 4)
58 #define GEN_PMCON_2 0xa2
59 #define SYSTEM_RESET_STS (1 << 4)
60 #define THERMTRIP_STS (1 << 3)
61 #define SYSPWR_FLR (1 << 1)
62 #define PWROK_FLR (1 << 0)
63 #define GEN_PMCON_3 0xa4
64 #define SUS_PWR_FLR (1 << 14)
65 #define GEN_RST_STS (1 << 9)
66 #define RTC_BATTERY_DEAD (1 << 2)
67 #define PWR_FLR (1 << 1)
68 #define SLEEP_AFTER_POWER_FAIL (1 << 0)
69 #define GEN_PMCON_LOCK 0xa6
70 #define SLP_STR_POL_LOCK (1 << 2)
71 #define ACPI_BASE_LOCK (1 << 1)
72 #define PMIR 0xac
73 #define PMIR_CF9LOCK (1 << 31)
74 #define PMIR_CF9GR (1 << 20)
75 
76 #define LPC_IBDF 0x6C /* I/O APIC bus/dev/fn */
77 #define LPC_HnBDF(n) (0x70 + n * 2) /* HPET n bus/dev/fn */
78 
79 #endif