ARM i.MX: get rid of wrong MXC_INTERNAL_IRQ usage
There are several occurences where MXC_INTERNAL_IRQ is assumed to be the start of the gpio interrupts. It was never meant this way. Replace these with gpio_to_irq. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
This commit is contained in:
parent
5a24d69c2c
commit
7cf7381f35
|
@ -43,7 +43,7 @@
|
||||||
|
|
||||||
#include "devices-imx35.h"
|
#include "devices-imx35.h"
|
||||||
|
|
||||||
#define EXPIO_PARENT_INT (MXC_INTERNAL_IRQS + GPIO_PORTA + 1)
|
#define EXPIO_PARENT_INT gpio_to_irq(IMX_GPIO_NR(1, 1))
|
||||||
|
|
||||||
static const struct imxuart_platform_data uart_pdata __initconst = {
|
static const struct imxuart_platform_data uart_pdata __initconst = {
|
||||||
.flags = IMXUART_HAVE_RTSCTS,
|
.flags = IMXUART_HAVE_RTSCTS,
|
||||||
|
|
|
@ -43,10 +43,6 @@
|
||||||
#define CPUIMX51_QUARTB_GPIO IMX_GPIO_NR(3, 25)
|
#define CPUIMX51_QUARTB_GPIO IMX_GPIO_NR(3, 25)
|
||||||
#define CPUIMX51_QUARTC_GPIO IMX_GPIO_NR(3, 26)
|
#define CPUIMX51_QUARTC_GPIO IMX_GPIO_NR(3, 26)
|
||||||
#define CPUIMX51_QUARTD_GPIO IMX_GPIO_NR(3, 27)
|
#define CPUIMX51_QUARTD_GPIO IMX_GPIO_NR(3, 27)
|
||||||
#define CPUIMX51_QUARTA_IRQ (MXC_INTERNAL_IRQS + CPUIMX51_QUARTA_GPIO)
|
|
||||||
#define CPUIMX51_QUARTB_IRQ (MXC_INTERNAL_IRQS + CPUIMX51_QUARTB_GPIO)
|
|
||||||
#define CPUIMX51_QUARTC_IRQ (MXC_INTERNAL_IRQS + CPUIMX51_QUARTC_GPIO)
|
|
||||||
#define CPUIMX51_QUARTD_IRQ (MXC_INTERNAL_IRQS + CPUIMX51_QUARTD_GPIO)
|
|
||||||
#define CPUIMX51_QUART_XTAL 14745600
|
#define CPUIMX51_QUART_XTAL 14745600
|
||||||
#define CPUIMX51_QUART_REGSHIFT 17
|
#define CPUIMX51_QUART_REGSHIFT 17
|
||||||
|
|
||||||
|
@ -61,7 +57,7 @@
|
||||||
static struct plat_serial8250_port serial_platform_data[] = {
|
static struct plat_serial8250_port serial_platform_data[] = {
|
||||||
{
|
{
|
||||||
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x400000),
|
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x400000),
|
||||||
.irq = CPUIMX51_QUARTA_IRQ,
|
.irq = gpio_to_irq(CPUIMX51_QUARTA_GPIO),
|
||||||
.irqflags = IRQF_TRIGGER_HIGH,
|
.irqflags = IRQF_TRIGGER_HIGH,
|
||||||
.uartclk = CPUIMX51_QUART_XTAL,
|
.uartclk = CPUIMX51_QUART_XTAL,
|
||||||
.regshift = CPUIMX51_QUART_REGSHIFT,
|
.regshift = CPUIMX51_QUART_REGSHIFT,
|
||||||
|
@ -69,7 +65,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
|
||||||
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
|
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
|
||||||
}, {
|
}, {
|
||||||
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x800000),
|
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x800000),
|
||||||
.irq = CPUIMX51_QUARTB_IRQ,
|
.irq = gpio_to_irq(CPUIMX51_QUARTB_GPIO),
|
||||||
.irqflags = IRQF_TRIGGER_HIGH,
|
.irqflags = IRQF_TRIGGER_HIGH,
|
||||||
.uartclk = CPUIMX51_QUART_XTAL,
|
.uartclk = CPUIMX51_QUART_XTAL,
|
||||||
.regshift = CPUIMX51_QUART_REGSHIFT,
|
.regshift = CPUIMX51_QUART_REGSHIFT,
|
||||||
|
@ -77,7 +73,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
|
||||||
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
|
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
|
||||||
}, {
|
}, {
|
||||||
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x1000000),
|
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x1000000),
|
||||||
.irq = CPUIMX51_QUARTC_IRQ,
|
.irq = gpio_to_irq(CPUIMX51_QUARTC_GPIO),
|
||||||
.irqflags = IRQF_TRIGGER_HIGH,
|
.irqflags = IRQF_TRIGGER_HIGH,
|
||||||
.uartclk = CPUIMX51_QUART_XTAL,
|
.uartclk = CPUIMX51_QUART_XTAL,
|
||||||
.regshift = CPUIMX51_QUART_REGSHIFT,
|
.regshift = CPUIMX51_QUART_REGSHIFT,
|
||||||
|
@ -85,7 +81,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
|
||||||
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
|
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
|
||||||
}, {
|
}, {
|
||||||
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x2000000),
|
.mapbase = (unsigned long)(MX51_CS1_BASE_ADDR + 0x2000000),
|
||||||
.irq = CPUIMX51_QUARTD_IRQ,
|
.irq = irq_to_gpio(CPUIMX51_QUARTD_GPIO),
|
||||||
.irqflags = IRQF_TRIGGER_HIGH,
|
.irqflags = IRQF_TRIGGER_HIGH,
|
||||||
.uartclk = CPUIMX51_QUART_XTAL,
|
.uartclk = CPUIMX51_QUART_XTAL,
|
||||||
.regshift = CPUIMX51_QUART_REGSHIFT,
|
.regshift = CPUIMX51_QUART_REGSHIFT,
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
|
#include <linux/gpio.h>
|
||||||
|
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
|
@ -26,7 +27,7 @@
|
||||||
#include "devices-imx51.h"
|
#include "devices-imx51.h"
|
||||||
#include "devices.h"
|
#include "devices.h"
|
||||||
|
|
||||||
#define EXPIO_PARENT_INT (MXC_INTERNAL_IRQS + GPIO_PORTA + 6)
|
#define EXPIO_PARENT_INT gpio_to_irq(IMX_GPIO_NR(1, 6))
|
||||||
#define MX51_3DS_ECSPI2_CS (GPIO_PORTC + 28)
|
#define MX51_3DS_ECSPI2_CS (GPIO_PORTC + 28)
|
||||||
|
|
||||||
static iomux_v3_cfg_t mx51_3ds_pads[] = {
|
static iomux_v3_cfg_t mx51_3ds_pads[] = {
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
#include "devices.h"
|
#include "devices.h"
|
||||||
|
|
||||||
#define MBIMX51_TSC2007_GPIO IMX_GPIO_NR(3, 30)
|
#define MBIMX51_TSC2007_GPIO IMX_GPIO_NR(3, 30)
|
||||||
#define MBIMX51_TSC2007_IRQ (MXC_INTERNAL_IRQS + MBIMX51_TSC2007_GPIO)
|
|
||||||
#define MBIMX51_LED0 IMX_GPIO_NR(3, 5)
|
#define MBIMX51_LED0 IMX_GPIO_NR(3, 5)
|
||||||
#define MBIMX51_LED1 IMX_GPIO_NR(3, 6)
|
#define MBIMX51_LED1 IMX_GPIO_NR(3, 6)
|
||||||
#define MBIMX51_LED2 IMX_GPIO_NR(3, 7)
|
#define MBIMX51_LED2 IMX_GPIO_NR(3, 7)
|
||||||
|
@ -161,7 +160,7 @@ struct tsc2007_platform_data tsc2007_data = {
|
||||||
static struct i2c_board_info mbimx51_i2c_devices[] = {
|
static struct i2c_board_info mbimx51_i2c_devices[] = {
|
||||||
{
|
{
|
||||||
I2C_BOARD_INFO("tsc2007", 0x49),
|
I2C_BOARD_INFO("tsc2007", 0x49),
|
||||||
.irq = MBIMX51_TSC2007_IRQ,
|
.irq = gpio_to_irq(MBIMX51_TSC2007_GPIO),
|
||||||
.platform_data = &tsc2007_data,
|
.platform_data = &tsc2007_data,
|
||||||
}, {
|
}, {
|
||||||
I2C_BOARD_INFO("tlv320aic23", 0x1a),
|
I2C_BOARD_INFO("tlv320aic23", 0x1a),
|
||||||
|
@ -198,7 +197,8 @@ void __init eukrea_mbimx51_baseboard_init(void)
|
||||||
|
|
||||||
gpio_request(MBIMX51_TSC2007_GPIO, "tsc2007_irq");
|
gpio_request(MBIMX51_TSC2007_GPIO, "tsc2007_irq");
|
||||||
gpio_direction_input(MBIMX51_TSC2007_GPIO);
|
gpio_direction_input(MBIMX51_TSC2007_GPIO);
|
||||||
irq_set_irq_type(MBIMX51_TSC2007_IRQ, IRQF_TRIGGER_FALLING);
|
irq_set_irq_type(gpio_to_irq(MBIMX51_TSC2007_GPIO),
|
||||||
|
IRQF_TRIGGER_FALLING);
|
||||||
i2c_register_board_info(1, mbimx51_i2c_devices,
|
i2c_register_board_info(1, mbimx51_i2c_devices,
|
||||||
ARRAY_SIZE(mbimx51_i2c_devices));
|
ARRAY_SIZE(mbimx51_i2c_devices));
|
||||||
|
|
||||||
|
|
|
@ -85,9 +85,6 @@
|
||||||
#define GPIO_BOUT_0 (2 << GPIO_BOUT_SHIFT)
|
#define GPIO_BOUT_0 (2 << GPIO_BOUT_SHIFT)
|
||||||
#define GPIO_BOUT_1 (3 << GPIO_BOUT_SHIFT)
|
#define GPIO_BOUT_1 (3 << GPIO_BOUT_SHIFT)
|
||||||
|
|
||||||
/* decode irq number to use with IMR(x), ISR(x) and friends */
|
|
||||||
#define IRQ_TO_REG(irq) ((irq - MXC_INTERNAL_IRQS) >> 5)
|
|
||||||
|
|
||||||
#define IRQ_GPIOA(x) (MXC_GPIO_IRQ_START + x)
|
#define IRQ_GPIOA(x) (MXC_GPIO_IRQ_START + x)
|
||||||
#define IRQ_GPIOB(x) (IRQ_GPIOA(32) + x)
|
#define IRQ_GPIOB(x) (IRQ_GPIOA(32) + x)
|
||||||
#define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x)
|
#define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x)
|
||||||
|
|
Loading…
Reference in New Issue