xref: /openbmc/u-boot/arch/x86/include/asm/ioapic.h (revision ef64e782)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * From coreboot file of the same name
4  *
5  * Copyright (C) 2010 coresystems GmbH
6  */
7 
8 #ifndef __ASM_IOAPIC_H
9 #define __ASM_IOAPIC_H
10 
11 #define IO_APIC_ADDR		0xfec00000
12 
13 /* Direct addressed register */
14 #define IO_APIC_INDEX		(IO_APIC_ADDR + 0x00)
15 #define IO_APIC_DATA		(IO_APIC_ADDR + 0x10)
16 
17 /* Indirect addressed register offset */
18 #define IO_APIC_ID		0x00
19 #define IO_APIC_VER		0x01
20 
21 /**
22  * io_apic_read() - Read I/O APIC register
23  *
24  * This routine reads I/O APIC indirect addressed register.
25  *
26  * @reg:	address of indirect addressed register
27  * @return:	register value to read
28  */
29 u32 io_apic_read(u32 reg);
30 
31 /**
32  * io_apic_write() - Write I/O APIC register
33  *
34  * This routine writes I/O APIC indirect addressed register.
35  *
36  * @reg:	address of indirect addressed register
37  * @val:	register value to write
38  */
39 void io_apic_write(u32 reg, u32 val);
40 
41 void io_apic_set_id(int ioapic_id);
42 
43 #endif
44