spi: dw: intel: move IOAPIC interrupt trigger flags into driver
Move the common #define for IOAPIC interrupt trigger flags out of platform board.h and into the driver. Change-Id: I89090181acb5f48dd797e7773ab65c5f3d46c42a Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
parent
8effb4fed3
commit
c71dddb2c2
5 changed files with 36 additions and 37 deletions
|
@ -54,18 +54,6 @@
|
|||
#define NUM_STD_IRQS 16 /* number of "standard" IRQs on an x86 platform */
|
||||
#define INT_VEC_IRQ0 0x20 /* Vector number for IRQ0 */
|
||||
|
||||
#ifdef CONFIG_SPI_INTEL
|
||||
#if defined(CONFIG_SPI_INTEL_FALLING_EDGE)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_LOW)
|
||||
#elif defined(CONFIG_SPI_INTEL_RISING_EDGE)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_INTEL_LEVEL_HIGH)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_INTEL_LEVEL_LOW)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_LOW)
|
||||
#endif
|
||||
#endif /* CONFIG_SPI_INTEL */
|
||||
|
||||
/*
|
||||
* The irq_connect() API connects to a (virtualized) IRQ and the
|
||||
* associated interrupt controller is programmed with the allocated vector.
|
||||
|
|
|
@ -54,18 +54,6 @@
|
|||
#define NUM_STD_IRQS 16 /* number of "standard" IRQs on an x86 platform */
|
||||
#define INT_VEC_IRQ0 0x20 /* Vector number for IRQ0 */
|
||||
|
||||
#ifdef CONFIG_SPI_INTEL
|
||||
#if defined(CONFIG_SPI_INTEL_FALLING_EDGE)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_LOW)
|
||||
#elif defined(CONFIG_SPI_INTEL_RISING_EDGE)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_INTEL_LEVEL_HIGH)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_INTEL_LEVEL_LOW)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_LOW)
|
||||
#endif
|
||||
#endif /* CONFIG_SPI_INTEL */
|
||||
|
||||
/*
|
||||
* The irq_connect() API connects to a (virtualized) IRQ and the
|
||||
* associated interrupt controller is programmed with the allocated vector.
|
||||
|
|
|
@ -53,19 +53,6 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CONFIG_SPI_DW
|
||||
#if defined(CONFIG_SPI_DW_FALLING_EDGE)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_LOW)
|
||||
#elif defined(CONFIG_SPI_DW_RISING_EDGE)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_DW_LEVEL_HIGH)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_DW_LEVEL_LOW)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_LOW)
|
||||
#endif
|
||||
#endif /* CONFIG_SPI_DW */
|
||||
|
||||
/* serial port (aka COM port) information */
|
||||
|
||||
#ifdef CONFIG_UART_NS16550
|
||||
|
|
|
@ -31,6 +31,10 @@
|
|||
#include <spi.h>
|
||||
#include <dw_spi_priv.h>
|
||||
|
||||
#ifdef CONFIG_IOAPIC
|
||||
#include <drivers/ioapic.h>
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SPI_DEBUG
|
||||
#define DBG(...) {; }
|
||||
#else
|
||||
|
@ -440,6 +444,20 @@ int spi_dw_init(struct device *dev)
|
|||
return DEV_OK;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IOAPIC
|
||||
#if defined(CONFIG_SPI_DW_FALLING_EDGE)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_LOW)
|
||||
#elif defined(CONFIG_SPI_DW_RISING_EDGE)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_DW_LEVEL_HIGH)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_DW_LEVEL_LOW)
|
||||
#define SPI_DW_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_LOW)
|
||||
#endif
|
||||
#else
|
||||
#define SPI_DW_IRQ_FLAGS 0
|
||||
#endif /* CONFIG_IOAPIC */
|
||||
|
||||
#ifdef CONFIG_SPI_DW_PORT_0
|
||||
|
||||
void spi_config_0_irq(struct device *dev);
|
||||
|
|
|
@ -29,6 +29,10 @@
|
|||
#include <spi/intel_spi.h>
|
||||
#include "intel_spi_priv.h"
|
||||
|
||||
#ifdef CONFIG_IOAPIC
|
||||
#include <drivers/ioapic.h>
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SPI_DEBUG
|
||||
#define DBG(...) { ; }
|
||||
#else
|
||||
|
@ -427,6 +431,20 @@ int spi_intel_init(struct device *dev)
|
|||
return DEV_OK;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IOAPIC
|
||||
#if defined(CONFIG_SPI_INTEL_FALLING_EDGE)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_LOW)
|
||||
#elif defined(CONFIG_SPI_INTEL_RISING_EDGE)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_EDGE | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_INTEL_LEVEL_HIGH)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_HIGH)
|
||||
#elif defined(CONFIG_SPI_INTEL_LEVEL_LOW)
|
||||
#define SPI_INTEL_IRQ_FLAGS (IOAPIC_LEVEL | IOAPIC_LOW)
|
||||
#endif
|
||||
#else
|
||||
#define SPI_INTEL_IRQ_FLAGS 0
|
||||
#endif /* CONFIG_IOAPIC */
|
||||
|
||||
/* system bindings */
|
||||
#ifdef CONFIG_SPI_INTEL_PORT_0
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue