1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * This file is created based on Intel Alder Lake Processor PCH Datasheet
5 * Document number: 621483
9 #include <device/pci.h>
10 #include <pc80/isa-dma.h>
11 #include <pc80/i8259.h>
12 #include <arch/ioapic.h>
13 #include <intelblocks/itss.h>
14 #include <intelblocks/lpc_lib.h>
15 #include <intelblocks/pcr.h>
17 #include <soc/iomap.h>
19 #include <soc/pci_devs.h>
20 #include <soc/pcr_ids.h>
21 #include <soc/soc_chip.h>
23 void soc_get_gen_io_dec_range(uint32_t gen_io_dec
[LPC_NUM_GENERIC_IO_RANGES
])
25 const config_t
*config
= config_of_soc();
27 gen_io_dec
[0] = config
->gen1_dec
;
28 gen_io_dec
[1] = config
->gen2_dec
;
29 gen_io_dec
[2] = config
->gen3_dec
;
30 gen_io_dec
[3] = config
->gen4_dec
;
34 void lpc_soc_init(struct device
*dev
)
36 /* Legacy initialization */
40 /* Enable CLKRUN_EN for power gating ESPI */
41 lpc_enable_pci_clk_cntl();
43 /* Set ESPI Serial IRQ mode */
44 if (CONFIG(SERIRQ_CONTINUOUS_MODE
))
45 lpc_set_serirq_mode(SERIRQ_CONTINUOUS
);
47 lpc_set_serirq_mode(SERIRQ_QUIET
);
49 /* Interrupt configuration */
53 i8259_configure_irq_trigger(9, 1);