diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-11 03:05:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-11 03:05:37 -0500 |
commit | 53575aa99dc1584484b99c8173042d8370f6ed88 (patch) | |
tree | 06fd13c8847c1e97cd5080ea31cec47c4ad54963 /arch/arm/mach-davinci/dm646x.c | |
parent | d5aabbcaee6bb5fb57ea8c67714516af4d8238ce (diff) | |
parent | 3316dee245ef297155fa45b8d14263dfd6a9164b (diff) |
Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM driver updates from Olof Johansson:
"Updates of SoC-near drivers and other driver updates that makes more
sense to take through our tree. In this case it's involved:
- Some Davinci driver updates that has required corresponding
platform code changes (gpio mostly)
- CCI bindings and a few driver updates
- Marvell mvebu patches for PCI MSI support (could have gone through
the PCI tree for this release, but they were acked by Bjorn for
3.12 so we kept them through arm-soc).
- Marvell dove switch-over to DT-based PCIe configuration
- Misc updates for Samsung platform dmaengine drivers"
* tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
ARM: S3C24XX: add dma pdata for s3c2410, s3c2440 and s3c2442
dmaengine: s3c24xx-dma: add support for the s3c2410 type of controller
ARM: S3C24XX: Fix possible dma selection warning
PCI: mvebu: make local functions static
PCI: mvebu: add I/O access wrappers
PCI: mvebu: Dynamically detect if the PEX link is up to enable hot plug
ARM: mvebu: fix gated clock documentation
ARM: dove: remove legacy pcie and clock init
ARM: dove: switch to DT probed mbus address windows
ARM: SAMSUNG: set s3c24xx_dma_filter for s3c64xx-spi0 device
ARM: S3C24XX: add platform-devices for new dma driver for s3c2412 and s3c2443
dmaengine: add driver for Samsung s3c24xx SoCs
ARM: S3C24XX: number the dma clocks
PCI: mvebu: add support for Marvell Dove SoCs
PCI: mvebu: add support for reset on GPIO
PCI: mvebu: remove subsys_initcall
PCI: mvebu: increment nports only for registered ports
PCI: mvebu: move clock enable before register access
PCI: mvebu: add support for MSI
irqchip: armada-370-xp: implement MSI support
...
Diffstat (limited to 'arch/arm/mach-davinci/dm646x.c')
-rw-r--r-- | arch/arm/mach-davinci/dm646x.c | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index 68f8d1f1aca1..2a73f299c1d0 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/serial_8250.h> | 14 | #include <linux/serial_8250.h> |
15 | #include <linux/platform_device.h> | 15 | #include <linux/platform_device.h> |
16 | #include <linux/platform_data/edma.h> | 16 | #include <linux/platform_data/edma.h> |
17 | #include <linux/platform_data/gpio-davinci.h> | ||
17 | 18 | ||
18 | #include <asm/mach/map.h> | 19 | #include <asm/mach/map.h> |
19 | 20 | ||
@@ -24,7 +25,6 @@ | |||
24 | #include <mach/time.h> | 25 | #include <mach/time.h> |
25 | #include <mach/serial.h> | 26 | #include <mach/serial.h> |
26 | #include <mach/common.h> | 27 | #include <mach/common.h> |
27 | #include <mach/gpio-davinci.h> | ||
28 | 28 | ||
29 | #include "davinci.h" | 29 | #include "davinci.h" |
30 | #include "clock.h" | 30 | #include "clock.h" |
@@ -748,6 +748,30 @@ static struct platform_device vpif_capture_dev = { | |||
748 | .num_resources = ARRAY_SIZE(vpif_capture_resource), | 748 | .num_resources = ARRAY_SIZE(vpif_capture_resource), |
749 | }; | 749 | }; |
750 | 750 | ||
751 | static struct resource dm646x_gpio_resources[] = { | ||
752 | { /* registers */ | ||
753 | .start = DAVINCI_GPIO_BASE, | ||
754 | .end = DAVINCI_GPIO_BASE + SZ_4K - 1, | ||
755 | .flags = IORESOURCE_MEM, | ||
756 | }, | ||
757 | { /* interrupt */ | ||
758 | .start = IRQ_DM646X_GPIOBNK0, | ||
759 | .end = IRQ_DM646X_GPIOBNK2, | ||
760 | .flags = IORESOURCE_IRQ, | ||
761 | }, | ||
762 | }; | ||
763 | |||
764 | static struct davinci_gpio_platform_data dm646x_gpio_platform_data = { | ||
765 | .ngpio = 43, | ||
766 | .intc_irq_num = DAVINCI_N_AINTC_IRQ, | ||
767 | }; | ||
768 | |||
769 | int __init dm646x_gpio_register(void) | ||
770 | { | ||
771 | return davinci_gpio_register(dm646x_gpio_resources, | ||
772 | sizeof(dm646x_gpio_resources), | ||
773 | &dm646x_gpio_platform_data); | ||
774 | } | ||
751 | /*----------------------------------------------------------------------*/ | 775 | /*----------------------------------------------------------------------*/ |
752 | 776 | ||
753 | static struct map_desc dm646x_io_desc[] = { | 777 | static struct map_desc dm646x_io_desc[] = { |
@@ -874,10 +898,6 @@ static struct davinci_soc_info davinci_soc_info_dm646x = { | |||
874 | .intc_irq_prios = dm646x_default_priorities, | 898 | .intc_irq_prios = dm646x_default_priorities, |
875 | .intc_irq_num = DAVINCI_N_AINTC_IRQ, | 899 | .intc_irq_num = DAVINCI_N_AINTC_IRQ, |
876 | .timer_info = &dm646x_timer_info, | 900 | .timer_info = &dm646x_timer_info, |
877 | .gpio_type = GPIO_TYPE_DAVINCI, | ||
878 | .gpio_base = DAVINCI_GPIO_BASE, | ||
879 | .gpio_num = 43, /* Only 33 usable */ | ||
880 | .gpio_irq = IRQ_DM646X_GPIOBNK0, | ||
881 | .emac_pdata = &dm646x_emac_pdata, | 901 | .emac_pdata = &dm646x_emac_pdata, |
882 | .sram_dma = 0x10010000, | 902 | .sram_dma = 0x10010000, |
883 | .sram_len = SZ_32K, | 903 | .sram_len = SZ_32K, |