| /* SPDX-License-Identifier: GPL-2.0-only */ |
| |
| #ifndef _BROADWELL_LPC_H_ |
| #define _BROADWELL_LPC_H_ |
| |
| /* PCI Configuration Space (D31:F0): LPC */ |
| #define SERIRQ_CNTL 0x64 |
| #define PMBASE 0x40 |
| #define ACPI_CNTL 0x44 |
| #define ACPI_EN (1 << 7) |
| #define SCI_IRQ_SEL (7 << 0) |
| #define SCIS_IRQ9 0 |
| #define SCIS_IRQ10 1 |
| #define SCIS_IRQ11 2 |
| #define SCIS_IRQ20 4 |
| #define SCIS_IRQ21 5 |
| #define SCIS_IRQ22 6 |
| #define SCIS_IRQ23 7 |
| #define GPIOBASE 0x48 |
| #define BIOS_CNTL 0xdc |
| #define GPIO_BASE 0x48 /* LPC GPIO Base Address Register */ |
| #define GPIO_CNTL 0x4C /* LPC GPIO Control Register */ |
| #define GPIO_EN (1 << 4) |
| #define GPIO_ROUT 0xb8 |
| |
| #define PIRQA_ROUT 0x60 |
| #define PIRQB_ROUT 0x61 |
| #define PIRQC_ROUT 0x62 |
| #define PIRQD_ROUT 0x63 |
| #define PIRQE_ROUT 0x68 |
| #define PIRQF_ROUT 0x69 |
| #define PIRQG_ROUT 0x6A |
| #define PIRQH_ROUT 0x6B |
| |
| #define LPC_IO_DEC 0x80 /* IO Decode Ranges Register */ |
| #define LPC_EN 0x82 /* LPC IF Enables Register */ |
| #define CNF2_LPC_EN (1 << 13) /* 0x4e/0x4f */ |
| #define CNF1_LPC_EN (1 << 12) /* 0x2e/0x2f */ |
| #define MC_LPC_EN (1 << 11) /* 0x62/0x66 */ |
| #define KBC_LPC_EN (1 << 10) /* 0x60/0x64 */ |
| #define GAMEH_LPC_EN (1 << 9) /* 0x208/0x20f */ |
| #define GAMEL_LPC_EN (1 << 8) /* 0x200/0x207 */ |
| #define FDD_LPC_EN (1 << 3) /* LPC_IO_DEC[12] */ |
| #define LPT_LPC_EN (1 << 2) /* LPC_IO_DEC[9:8] */ |
| #define COMB_LPC_EN (1 << 1) /* LPC_IO_DEC[6:4] */ |
| #define COMA_LPC_EN (1 << 0) /* LPC_IO_DEC[2:0] */ |
| #define LPC_GEN1_DEC 0x84 /* LPC IF Generic Decode Range 1 */ |
| #define LPC_GEN2_DEC 0x88 /* LPC IF Generic Decode Range 2 */ |
| #define LPC_GEN3_DEC 0x8c /* LPC IF Generic Decode Range 3 */ |
| #define LPC_GEN4_DEC 0x90 /* LPC IF Generic Decode Range 4 */ |
| #define LGMR 0x98 /* LPC Generic Memory Range */ |
| #define RCBA 0xf0 /* Root Complex Register Block */ |
| |
| /* Power Management */ |
| |
| #define GEN_PMCON_1 0xa0 |
| #define SMI_LOCK (1 << 4) |
| #define GEN_PMCON_2 0xa2 |
| #define SYSTEM_RESET_STS (1 << 4) |
| #define THERMTRIP_STS (1 << 3) |
| #define SYSPWR_FLR (1 << 1) |
| #define PWROK_FLR (1 << 0) |
| #define GEN_PMCON_3 0xa4 |
| #define SUS_PWR_FLR (1 << 14) |
| #define GEN_RST_STS (1 << 9) |
| #define RTC_BATTERY_DEAD (1 << 2) |
| #define PWR_FLR (1 << 1) |
| #define SLEEP_AFTER_POWER_FAIL (1 << 0) |
| #define GEN_PMCON_LOCK 0xa6 |
| #define SLP_STR_POL_LOCK (1 << 2) |
| #define ACPI_BASE_LOCK (1 << 1) |
| #define PMIR 0xac |
| #define PMIR_CF9LOCK (1 << 31) |
| #define PMIR_CF9GR (1 << 20) |
| |
| #define LPC_IBDF 0x6C /* I/O APIC bus/dev/fn */ |
| #define LPC_HnBDF(n) (0x70 + n * 2) /* HPET n bus/dev/fn */ |
| |
| #endif |