]> git.sur5r.net Git - u-boot/blobdiff - arch/x86/include/asm/ioapic.h
x86: acpi: Use u32 in table write routines
[u-boot] / arch / x86 / include / asm / ioapic.h
index 699160f9f71431f8a0137ae985c88264da18ce16..2feed864fe9b9b2aef4625a30bab0d7f8ac40846 100644 (file)
 #define __ASM_IOAPIC_H
 
 #define IO_APIC_ADDR           0xfec00000
-#define IO_APIC_INDEX          IO_APIC_ADDR
+
+/* Direct addressed register */
+#define IO_APIC_INDEX          (IO_APIC_ADDR + 0x00)
 #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);
+
+/* Indirect addressed register offset */
+#define IO_APIC_ID             0x00
+#define IO_APIC_VER            0x01
+
+/**
+ * io_apic_read() - Read I/O APIC register
+ *
+ * This routine reads I/O APIC indirect addressed register.
+ *
+ * @reg:       address of indirect addressed register
+ * @return:    register value to read
+ */
+u32 io_apic_read(u32 reg);
+
+/**
+ * io_apic_write() - Write I/O APIC register
+ *
+ * This routine writes I/O APIC indirect addressed register.
+ *
+ * @reg:       address of indirect addressed register
+ * @val:       register value to write
+ */
+void io_apic_write(u32 reg, u32 val);
+
+void io_apic_set_id(int ioapic_id);
 
 #endif