87 u8 int_pin = 0, int_line = 0;
96 int_line =
config->pirqa_routing;
break;
98 int_line =
config->pirqb_routing;
break;
100 int_line =
config->pirqc_routing;
break;
102 int_line =
config->pirqd_routing;
break;
119 reg32 |= (
config->gpi0_routing & 0x03) << 0;
120 reg32 |= (
config->gpi1_routing & 0x03) << 2;
121 reg32 |= (
config->gpi2_routing & 0x03) << 4;
122 reg32 |= (
config->gpi3_routing & 0x03) << 6;
123 reg32 |= (
config->gpi4_routing & 0x03) << 8;
124 reg32 |= (
config->gpi5_routing & 0x03) << 10;
125 reg32 |= (
config->gpi6_routing & 0x03) << 12;
126 reg32 |= (
config->gpi7_routing & 0x03) << 14;
127 reg32 |= (
config->gpi8_routing & 0x03) << 16;
128 reg32 |= (
config->gpi9_routing & 0x03) << 18;
129 reg32 |= (
config->gpi10_routing & 0x03) << 20;
130 reg32 |= (
config->gpi11_routing & 0x03) << 22;
131 reg32 |= (
config->gpi12_routing & 0x03) << 24;
132 reg32 |= (
config->gpi13_routing & 0x03) << 26;
133 reg32 |= (
config->gpi14_routing & 0x03) << 28;
134 reg32 |= (
config->gpi15_routing & 0x03) << 30;
169 state =
"state keep";
207 if (
config->c4onc3_enable)
213 if (
CONFIG(DEBUG_PERIODIC_SMI))
268 reg32 |= (1 << 27) | (1 << 26) | (1 << 25) | (1 << 24);
271 reg32 |= (1 << 3) | (1 << 1);
274 reg32 &= ~((1 << 29) | (1 << 28));
287 #define SPIBASE 0x3020
293 spicontrol &= ~(1 << 0);
395 res->
base = 0xff800000;
396 res->
size = 0x00800000;
402 res->
size = 0x00001000;
406 for (i = 0; i < 4; i++) {
410 if ((gen_dec & 0xFFFC) > 0x1000) {
412 res->
base = gen_dec & 0xFFFC;
413 res->
size = (gen_dec >> 16) & 0xFC;
420 #define SPIBAR16(x) RCBA16(0x3020 + x)
421 #define SPIBAR32(x) RCBA32(0x3020 + x)
427 if (!
CONFIG(INTEL_CHIPSET_LOCKDOWN))
430 if (
CONFIG(BOOT_DEVICE_SPI_FLASH))
444 tco1_cnt |= (1 << 12);
484 static const struct pci_driver ich7_lpc
__pci_driver = {
unsigned long acpi_create_madt_lapics(unsigned long current)
unsigned long acpi_write_hpet(const struct device *device, unsigned long current, acpi_rsdp_t *rsdp)
int acpi_create_madt_irqoverride(acpi_madt_irqoverride_t *irqoverride, u8 bus, u8 source, u32 gsirq, u16 flags)
int acpi_create_madt_ioapic(acpi_madt_ioapic_t *ioapic, u8 id, u32 addr, u32 gsi_base)
int acpi_create_madt_lapic_nmi(acpi_madt_lapic_nmi_t *lapic_nmi, u8 cpu, u16 flags, u8 lint)
static int acpi_is_wakeup_s3(void)
void setup_ioapic(void *ioapic_base, u8 ioapic_id)
#define MAINBOARD_POWER_ON
#define MAINBOARD_POWER_OFF
#define MAINBOARD_POWER_KEEP
#define printk(level,...)
void outb(u8 val, u16 port)
void outw(u16 val, u16 port)
DEVTREE_CONST struct device *DEVTREE_CONST all_devices
Linked list of ALL devices.
struct resource * new_resource(struct device *dev, unsigned int index)
See if a resource structure already exists for a given index and if not allocate one.
void i8259_configure_irq_trigger(int int_num, int is_level_triggered)
Configure IRQ triggering in the i8259 compatible Interrupt Controller.
void i82801gx_enable(struct device *dev)
#define APM_CNT_ACPI_DISABLE
#define APM_CNT_ACPI_ENABLE
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline void pci_update_config8(const struct device *dev, u16 reg, u8 mask, u8 or)
static __always_inline void pci_or_config16(const struct device *dev, u16 reg, u16 ormask)
static __always_inline u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline void pci_or_config8(const struct device *dev, u16 reg, u8 ormask)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
static __always_inline u8 pci_read_config8(const struct device *dev, u16 reg)
static __always_inline void pci_write_config16(const struct device *dev, u16 reg, u16 val)
static __always_inline void pci_write_config8(const struct device *dev, u16 reg, u8 val)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
void cmos_init(bool invalid)
#define MP_IRQ_POLARITY_HIGH
#define MP_IRQ_TRIGGER_EDGE
#define MP_IRQ_TRIGGER_LEVEL
unsigned int get_uint_option(const char *name, const unsigned int fallback)
#define PCI_INTERRUPT_PIN
#define PCI_INTERRUPT_LINE
void pci_dev_enable_resources(struct device *dev)
void pci_dev_read_resources(struct device *dev)
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
void pci_dev_set_resources(struct device *dev)
void write_pmbase16(const u8 addr, const u16 val)
u32 read_pmbase32(const u8 addr)
void write_pmbase32(const u8 addr, const u32 val)
#define POST_OS_BOOT
Final code before OS boots.
void intel_acpi_gen_def_acpi_pirq(const struct device *lpc)
#define IORESOURCE_SUBTRACTIVE
#define IORESOURCE_ASSIGNED
#define IOINDEX_SUBTRACTIVE(IDX, LINK)
void scan_static_bus(struct device *bus)
static int rtc_failed(uint32_t gen_pmcon_b)
void spi_finalize_ops(void)
static void lpc_final(struct device *dev)
static const char * lpc_acpi_name(const struct device *dev)
static void enable_clock_gating(void)
static struct device_operations device_ops
static void i82801gx_configure_cstates(struct device *dev)
static void i82801gx_gpi_routing(struct device *dev)
static void southbridge_fill_ssdt(const struct device *device)
static void i82801gx_lpc_read_resources(struct device *dev)
static void i82801gx_enable_ioapic(struct device *dev)
Set miscellaneous static southbridge features.
static void lpc_init(struct device *dev)
static const unsigned short pci_device_ids[]
static void i82801gx_fixups(struct device *dev)
unsigned long acpi_fill_madt(unsigned long current)
static void i82801gx_rtc_init(struct device *dev)
static void i82801gx_power_options(struct device *dev)
static const struct pci_driver ich7_lpc __pci_driver
static void i82801gx_spi_init(void)
static void i82801gx_enable_serial_irqs(struct device *dev)
static void i82801gx_pirq_init(struct device *dev)
static void i82801gx_set_acpi_mode(struct device *dev)
static void enable_hpet(struct device *const dev)
void(* read_resources)(struct device *dev)
enum device_path_type type
DEVTREE_CONST struct device * next
DEVTREE_CONST void * chip_info