ARM: davinci: support gpio platform device
DaVinci GPIO driver now uses platform device model. Add a GPIO platform register API to convert the traditional DaVinci SoCs to use the new model. While at it, also group related include files together wherever that was not the case. Signed-off-by: Philip Avinash <avinashphilip@ti.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> [nsekhar@ti.com: move function declaration to local header, simplify commit message, merge SoC specific portions from other patches into this patch] Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This commit is contained in:

committed by
Sekhar Nori

parent
f606d38de7
commit
9cc1515cbd
@@ -19,6 +19,9 @@
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/platform_data/edma.h>
|
||||
#include <linux/platform_data/gpio-davinci.h>
|
||||
#include <linux/platform_data/keyscan-davinci.h>
|
||||
#include <linux/platform_data/spi-davinci.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
@@ -29,9 +32,6 @@
|
||||
#include <mach/time.h>
|
||||
#include <mach/serial.h>
|
||||
#include <mach/common.h>
|
||||
#include <linux/platform_data/keyscan-davinci.h>
|
||||
#include <linux/platform_data/spi-davinci.h>
|
||||
#include <mach/gpio-davinci.h>
|
||||
|
||||
#include "davinci.h"
|
||||
#include "clock.h"
|
||||
@@ -698,6 +698,32 @@ void __init dm365_init_spi0(unsigned chipselect_mask,
|
||||
platform_device_register(&dm365_spi0_device);
|
||||
}
|
||||
|
||||
static struct resource dm365_gpio_resources[] = {
|
||||
{ /* registers */
|
||||
.start = DAVINCI_GPIO_BASE,
|
||||
.end = DAVINCI_GPIO_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
{ /* interrupt */
|
||||
.start = IRQ_DM365_GPIO0,
|
||||
.end = IRQ_DM365_GPIO7,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct davinci_gpio_platform_data dm365_gpio_platform_data = {
|
||||
.ngpio = 104,
|
||||
.intc_irq_num = DAVINCI_N_AINTC_IRQ,
|
||||
.gpio_unbanked = 8,
|
||||
};
|
||||
|
||||
int __init dm365_gpio_register(void)
|
||||
{
|
||||
return davinci_gpio_register(dm365_gpio_resources,
|
||||
sizeof(dm365_gpio_resources),
|
||||
&dm365_gpio_platform_data);
|
||||
}
|
||||
|
||||
static struct emac_platform_data dm365_emac_pdata = {
|
||||
.ctrl_reg_offset = DM365_EMAC_CNTRL_OFFSET,
|
||||
.ctrl_mod_reg_offset = DM365_EMAC_CNTRL_MOD_OFFSET,
|
||||
@@ -1105,11 +1131,6 @@ static struct davinci_soc_info davinci_soc_info_dm365 = {
|
||||
.intc_irq_prios = dm365_default_priorities,
|
||||
.intc_irq_num = DAVINCI_N_AINTC_IRQ,
|
||||
.timer_info = &dm365_timer_info,
|
||||
.gpio_type = GPIO_TYPE_DAVINCI,
|
||||
.gpio_base = DAVINCI_GPIO_BASE,
|
||||
.gpio_num = 104,
|
||||
.gpio_irq = IRQ_DM365_GPIO0,
|
||||
.gpio_unbanked = 8, /* really 16 ... skip muxed GPIOs */
|
||||
.emac_pdata = &dm365_emac_pdata,
|
||||
.sram_dma = 0x00010000,
|
||||
.sram_len = SZ_32K,
|
||||
|
Reference in New Issue
Block a user