diff options
author | Tom Rini <trini@ti.com> | 2014-12-01 15:24:07 -0500 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-12-01 15:24:07 -0500 |
commit | f4e7e2d12164c3235c3f5e19a68a503623029d35 (patch) | |
tree | dea8bdf2bf2a50f561c165b5bbd4e1195ab01994 /arch/x86/include/asm/ioapic.h | |
parent | 9e374e7b729dc9f68be89cd3e3b1d4d48c768ecf (diff) | |
parent | 908ec6e4d1d12f746cb9b7cc73430a268ceb2c92 (diff) |
Merge git://git.denx.de/u-boot-x86
Diffstat (limited to 'arch/x86/include/asm/ioapic.h')
-rw-r--r-- | arch/x86/include/asm/ioapic.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/arch/x86/include/asm/ioapic.h b/arch/x86/include/asm/ioapic.h new file mode 100644 index 00000000000..699160f9f71 --- /dev/null +++ b/arch/x86/include/asm/ioapic.h @@ -0,0 +1,38 @@ +/* + * From coreboot file of the same name + * + * Copyright (C) 2010 coresystems GmbH + * + * SPDX-License-Identifier: GPL-2.0 + */ + +#ifndef __ASM_IOAPIC_H +#define __ASM_IOAPIC_H + +#define IO_APIC_ADDR 0xfec00000 +#define IO_APIC_INDEX IO_APIC_ADDR +#define IO_APIC_DATA (IO_APIC_ADDR + 0x10) +#define IO_APIC_INTERRUPTS 24 + +#define ALL (0xff << 24) +#define NONE 0 +#define DISABLED (1 << 16) +#define ENABLED (0 << 16) +#define TRIGGER_EDGE (0 << 15) +#define TRIGGER_LEVEL (1 << 15) +#define POLARITY_HIGH (0 << 13) +#define POLARITY_LOW (1 << 13) +#define PHYSICAL_DEST (0 << 11) +#define LOGICAL_DEST (1 << 11) +#define ExtINT (7 << 8) +#define NMI (4 << 8) +#define SMI (2 << 8) +#define INT (1 << 8) + +u32 io_apic_read(u32 ioapic_base, u32 reg); +void io_apic_write(u32 ioapic_base, u32 reg, u32 value); +void set_ioapic_id(u32 ioapic_base, u8 ioapic_id); +void setup_ioapic(u32 ioapic_base, u8 ioapic_id); +void clear_ioapic(u32 ioapic_base); + +#endif |