aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2014-01-14 18:35:26 -0500
committerKevin Hilman <khilman@linaro.org>2014-01-14 18:35:26 -0500
commit47482473c8f09f423b98c1e875771c7d0a444296 (patch)
treefaf8f9c56d7c86f537c22f9f7dc79a55647dc036
parent3e0a79695cf8600322c519b33df76b8bc2f1aaca (diff)
parent27d2adb5969eef7ff3bfeb2dc3b2064e3a124952 (diff)
Merge tag 'versatile-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc
From Linus Walleij: Versatile patches for v3.14: - Move GPIO2 and GPIO3 to be registered from the core boardfile. - Update the defconfig. Defconfig changes: - Enable GPIOLIB and PL061 for the Versatile. - Build the Versatile using EABI. - Enable the new LEDs in the defconfig. * tag 'versatile-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: versatile: enable LEDs by default ARM: versatile: build using EABI ARM: versatile: enable GPIOLIB and PL061 by default ARM: versatile: update defconfig ARM: versatile: move GPIO2 and GPIO3 to core
-rw-r--r--arch/arm/configs/versatile_defconfig26
-rw-r--r--arch/arm/mach-versatile/core.c16
-rw-r--r--arch/arm/mach-versatile/versatile_pb.c21
3 files changed, 28 insertions, 35 deletions
diff --git a/arch/arm/configs/versatile_defconfig b/arch/arm/configs/versatile_defconfig
index 2ba9e63d0f17..073541a50e23 100644
--- a/arch/arm/configs/versatile_defconfig
+++ b/arch/arm/configs/versatile_defconfig
@@ -1,5 +1,3 @@
1CONFIG_ARCH_VERSATILE=y
2CONFIG_EXPERIMENTAL=y
3# CONFIG_LOCALVERSION_AUTO is not set 1# CONFIG_LOCALVERSION_AUTO is not set
4CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
5CONFIG_LOG_BUF_SHIFT=14 3CONFIG_LOG_BUF_SHIFT=14
@@ -7,15 +5,16 @@ CONFIG_BLK_DEV_INITRD=y
7CONFIG_SLAB=y 5CONFIG_SLAB=y
8CONFIG_MODULES=y 6CONFIG_MODULES=y
9CONFIG_MODULE_UNLOAD=y 7CONFIG_MODULE_UNLOAD=y
8CONFIG_PARTITION_ADVANCED=y
9CONFIG_ARCH_VERSATILE=y
10CONFIG_MACH_VERSATILE_AB=y 10CONFIG_MACH_VERSATILE_AB=y
11CONFIG_LEDS=y 11CONFIG_AEABI=y
12CONFIG_LEDS_CPU=y 12CONFIG_OABI_COMPAT=y
13CONFIG_ZBOOT_ROM_TEXT=0x0 13CONFIG_ZBOOT_ROM_TEXT=0x0
14CONFIG_ZBOOT_ROM_BSS=0x0 14CONFIG_ZBOOT_ROM_BSS=0x0
15CONFIG_CMDLINE="root=1f03 mem=32M" 15CONFIG_CMDLINE="root=1f03 mem=32M"
16CONFIG_FPE_NWFPE=y 16CONFIG_FPE_NWFPE=y
17CONFIG_VFP=y 17CONFIG_VFP=y
18CONFIG_PM=y
19CONFIG_NET=y 18CONFIG_NET=y
20CONFIG_PACKET=y 19CONFIG_PACKET=y
21CONFIG_UNIX=y 20CONFIG_UNIX=y
@@ -26,9 +25,7 @@ CONFIG_IP_PNP_BOOTP=y
26# CONFIG_INET_DIAG is not set 25# CONFIG_INET_DIAG is not set
27# CONFIG_IPV6 is not set 26# CONFIG_IPV6 is not set
28CONFIG_MTD=y 27CONFIG_MTD=y
29CONFIG_MTD_PARTITIONS=y
30CONFIG_MTD_CMDLINE_PARTS=y 28CONFIG_MTD_CMDLINE_PARTS=y
31CONFIG_MTD_CHAR=y
32CONFIG_MTD_BLOCK=y 29CONFIG_MTD_BLOCK=y
33CONFIG_MTD_CFI=y 30CONFIG_MTD_CFI=y
34CONFIG_MTD_CFI_ADV_OPTIONS=y 31CONFIG_MTD_CFI_ADV_OPTIONS=y
@@ -37,10 +34,10 @@ CONFIG_MTD_PHYSMAP=y
37CONFIG_BLK_DEV_RAM=y 34CONFIG_BLK_DEV_RAM=y
38CONFIG_EEPROM_LEGACY=m 35CONFIG_EEPROM_LEGACY=m
39CONFIG_NETDEVICES=y 36CONFIG_NETDEVICES=y
40CONFIG_NET_ETHERNET=y
41CONFIG_SMC91X=y 37CONFIG_SMC91X=y
42# CONFIG_SERIO_SERPORT is not set 38# CONFIG_SERIO_SERPORT is not set
43CONFIG_SERIO_AMBAKMI=y 39CONFIG_SERIO_AMBAKMI=y
40CONFIG_LEGACY_PTY_COUNT=16
44CONFIG_SERIAL_8250=m 41CONFIG_SERIAL_8250=m
45CONFIG_SERIAL_8250_EXTENDED=y 42CONFIG_SERIAL_8250_EXTENDED=y
46CONFIG_SERIAL_8250_MANY_PORTS=y 43CONFIG_SERIAL_8250_MANY_PORTS=y
@@ -48,15 +45,14 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
48CONFIG_SERIAL_8250_RSA=y 45CONFIG_SERIAL_8250_RSA=y
49CONFIG_SERIAL_AMBA_PL011=y 46CONFIG_SERIAL_AMBA_PL011=y
50CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 47CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
51CONFIG_LEGACY_PTY_COUNT=16
52CONFIG_I2C=y 48CONFIG_I2C=y
53CONFIG_I2C_CHARDEV=m 49CONFIG_I2C_CHARDEV=m
50CONFIG_GPIOLIB=y
51CONFIG_GPIO_PL061=y
54# CONFIG_HWMON is not set 52# CONFIG_HWMON is not set
55CONFIG_FB=y 53CONFIG_FB=y
56CONFIG_FB_ARMCLCD=y 54CONFIG_FB_ARMCLCD=y
57CONFIG_FRAMEBUFFER_CONSOLE=y 55CONFIG_FRAMEBUFFER_CONSOLE=y
58CONFIG_FONTS=y
59CONFIG_FONT_ACORN_8x8=y
60CONFIG_SOUND=y 56CONFIG_SOUND=y
61CONFIG_SND=m 57CONFIG_SND=m
62CONFIG_SND_MIXER_OSS=m 58CONFIG_SND_MIXER_OSS=m
@@ -64,6 +60,9 @@ CONFIG_SND_PCM_OSS=m
64CONFIG_SND_ARMAACI=m 60CONFIG_SND_ARMAACI=m
65CONFIG_MMC=y 61CONFIG_MMC=y
66CONFIG_MMC_ARMMMCI=m 62CONFIG_MMC_ARMMMCI=m
63CONFIG_NEW_LEDS=y
64CONFIG_LEDS_TRIGGER_HEARTBEAT=y
65CONFIG_LEDS_TRIGGER_CPU=y
67CONFIG_EXT2_FS=y 66CONFIG_EXT2_FS=y
68CONFIG_VFAT_FS=m 67CONFIG_VFAT_FS=m
69CONFIG_JFFS2_FS=y 68CONFIG_JFFS2_FS=y
@@ -71,15 +70,14 @@ CONFIG_CRAMFS=y
71CONFIG_MINIX_FS=y 70CONFIG_MINIX_FS=y
72CONFIG_ROMFS_FS=y 71CONFIG_ROMFS_FS=y
73CONFIG_NFS_FS=y 72CONFIG_NFS_FS=y
74CONFIG_NFS_V3=y
75CONFIG_ROOT_NFS=y 73CONFIG_ROOT_NFS=y
76CONFIG_NFSD=y 74CONFIG_NFSD=y
77CONFIG_NFSD_V3=y 75CONFIG_NFSD_V3=y
78CONFIG_PARTITION_ADVANCED=y
79CONFIG_NLS_CODEPAGE_850=m 76CONFIG_NLS_CODEPAGE_850=m
80CONFIG_NLS_ISO8859_1=m 77CONFIG_NLS_ISO8859_1=m
81CONFIG_MAGIC_SYSRQ=y 78CONFIG_MAGIC_SYSRQ=y
82CONFIG_DEBUG_KERNEL=y 79CONFIG_DEBUG_KERNEL=y
83CONFIG_DEBUG_USER=y 80CONFIG_DEBUG_USER=y
84CONFIG_DEBUG_ERRORS=y
85CONFIG_DEBUG_LL=y 81CONFIG_DEBUG_LL=y
82CONFIG_FONTS=y
83CONFIG_FONT_ACORN_8x8=y
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c
index 3b0572f30d56..a335126ae18f 100644
--- a/arch/arm/mach-versatile/core.c
+++ b/arch/arm/mach-versatile/core.c
@@ -570,6 +570,16 @@ static struct pl061_platform_data gpio1_plat_data = {
570 .irq_base = IRQ_GPIO1_START, 570 .irq_base = IRQ_GPIO1_START,
571}; 571};
572 572
573static struct pl061_platform_data gpio2_plat_data = {
574 .gpio_base = 16,
575 .irq_base = IRQ_GPIO2_START,
576};
577
578static struct pl061_platform_data gpio3_plat_data = {
579 .gpio_base = 24,
580 .irq_base = IRQ_GPIO3_START,
581};
582
573static struct pl022_ssp_controller ssp0_plat_data = { 583static struct pl022_ssp_controller ssp0_plat_data = {
574 .bus_id = 0, 584 .bus_id = 0,
575 .enable_dma = 0, 585 .enable_dma = 0,
@@ -596,6 +606,8 @@ static struct pl022_ssp_controller ssp0_plat_data = {
596#define WATCHDOG_IRQ { IRQ_WDOGINT } 606#define WATCHDOG_IRQ { IRQ_WDOGINT }
597#define GPIO0_IRQ { IRQ_GPIOINT0 } 607#define GPIO0_IRQ { IRQ_GPIOINT0 }
598#define GPIO1_IRQ { IRQ_GPIOINT1 } 608#define GPIO1_IRQ { IRQ_GPIOINT1 }
609#define GPIO2_IRQ { IRQ_GPIOINT2 }
610#define GPIO3_IRQ { IRQ_GPIOINT3 }
599#define RTC_IRQ { IRQ_RTCINT } 611#define RTC_IRQ { IRQ_RTCINT }
600 612
601/* 613/*
@@ -622,6 +634,8 @@ APB_DEVICE(sctl, "dev:e0", SCTL, NULL);
622APB_DEVICE(wdog, "dev:e1", WATCHDOG, NULL); 634APB_DEVICE(wdog, "dev:e1", WATCHDOG, NULL);
623APB_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data); 635APB_DEVICE(gpio0, "dev:e4", GPIO0, &gpio0_plat_data);
624APB_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data); 636APB_DEVICE(gpio1, "dev:e5", GPIO1, &gpio1_plat_data);
637APB_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data);
638APB_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data);
625APB_DEVICE(rtc, "dev:e8", RTC, NULL); 639APB_DEVICE(rtc, "dev:e8", RTC, NULL);
626APB_DEVICE(sci0, "dev:f0", SCI, NULL); 640APB_DEVICE(sci0, "dev:f0", SCI, NULL);
627APB_DEVICE(uart0, "dev:f1", UART0, NULL); 641APB_DEVICE(uart0, "dev:f1", UART0, NULL);
@@ -641,6 +655,8 @@ static struct amba_device *amba_devs[] __initdata = {
641 &wdog_device, 655 &wdog_device,
642 &gpio0_device, 656 &gpio0_device,
643 &gpio1_device, 657 &gpio1_device,
658 &gpio2_device,
659 &gpio3_device,
644 &rtc_device, 660 &rtc_device,
645 &sci0_device, 661 &sci0_device,
646 &ssp0_device, 662 &ssp0_device,
diff --git a/arch/arm/mach-versatile/versatile_pb.c b/arch/arm/mach-versatile/versatile_pb.c
index 611d140c8695..9a53d0bd9144 100644
--- a/arch/arm/mach-versatile/versatile_pb.c
+++ b/arch/arm/mach-versatile/versatile_pb.c
@@ -47,27 +47,11 @@ static struct mmci_platform_data mmc1_plat_data = {
47 .gpio_cd = -1, 47 .gpio_cd = -1,
48}; 48};
49 49
50static struct pl061_platform_data gpio2_plat_data = {
51 .gpio_base = 16,
52 .irq_base = IRQ_GPIO2_START,
53};
54
55static struct pl061_platform_data gpio3_plat_data = {
56 .gpio_base = 24,
57 .irq_base = IRQ_GPIO3_START,
58};
59
60#define UART3_IRQ { IRQ_SIC_UART3 } 50#define UART3_IRQ { IRQ_SIC_UART3 }
61#define SCI1_IRQ { IRQ_SIC_SCI3 } 51#define SCI1_IRQ { IRQ_SIC_SCI3 }
62#define MMCI1_IRQ { IRQ_MMCI1A, IRQ_SIC_MMCI1B } 52#define MMCI1_IRQ { IRQ_MMCI1A, IRQ_SIC_MMCI1B }
63 53
64/* 54/*
65 * These devices are connected via the core APB bridge
66 */
67#define GPIO2_IRQ { IRQ_GPIOINT2 }
68#define GPIO3_IRQ { IRQ_GPIOINT3 }
69
70/*
71 * These devices are connected via the DMA APB bridge 55 * These devices are connected via the DMA APB bridge
72 */ 56 */
73 57
@@ -76,14 +60,9 @@ APB_DEVICE(uart3, "fpga:09", UART3, NULL);
76APB_DEVICE(sci1, "fpga:0a", SCI1, NULL); 60APB_DEVICE(sci1, "fpga:0a", SCI1, NULL);
77APB_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data); 61APB_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data);
78 62
79/* DevChip Primecells */
80APB_DEVICE(gpio2, "dev:e6", GPIO2, &gpio2_plat_data);
81APB_DEVICE(gpio3, "dev:e7", GPIO3, &gpio3_plat_data);
82 63
83static struct amba_device *amba_devs[] __initdata = { 64static struct amba_device *amba_devs[] __initdata = {
84 &uart3_device, 65 &uart3_device,
85 &gpio2_device,
86 &gpio3_device,
87 &sci1_device, 66 &sci1_device,
88 &mmc1_device, 67 &mmc1_device,
89}; 68};