diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-03-17 09:51:52 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-03-17 09:51:52 -0400 |
commit | 117a6df3ef067e69f1de5db304a1e07e23f8f484 (patch) | |
tree | f98ad98e17378bb3095b1e29269031aa04d344d9 /arch/arm/mach-davinci | |
parent | 9d6eccb9cce61282a78e62861d958ebb5fb073d2 (diff) | |
parent | 4b9e44f8d7c9cd166d8304b8f619741c1d59b836 (diff) |
Merge tag 'davinci-for-v3.15/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc
Merge "DaVinci SoC updates for v3.15" from Sekhar Nori:
This pull request removes da8xx_omapl_defconfig
enabling all ARMv5 davinci devices to be built
using davinci_all_defconfig
* tag 'davinci-for-v3.15/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: davinci: remove da8xx_omapl_defconfig
ARM: davinci: da8xx: fix multiple watchdog device registration
ARM: davinci: add da8xx specific configs to davinci_all_defconfig
ARM: davinci: enable da8xx build concurrently with older devices
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-davinci')
-rw-r--r-- | arch/arm/mach-davinci/Makefile.boot | 20 | ||||
-rw-r--r-- | arch/arm/mach-davinci/davinci.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/devices.c | 17 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm355.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm365.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm644x.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm646x.c | 8 |
7 files changed, 39 insertions, 32 deletions
diff --git a/arch/arm/mach-davinci/Makefile.boot b/arch/arm/mach-davinci/Makefile.boot index 04a6c4e67b14..4b81601754a2 100644 --- a/arch/arm/mach-davinci/Makefile.boot +++ b/arch/arm/mach-davinci/Makefile.boot | |||
@@ -1,13 +1,7 @@ | |||
1 | ifeq ($(CONFIG_ARCH_DAVINCI_DA8XX),y) | 1 | zreladdr-$(CONFIG_ARCH_DAVINCI_DA8XX) += 0xc0008000 |
2 | ifeq ($(CONFIG_ARCH_DAVINCI_DMx),y) | 2 | params_phys-$(CONFIG_ARCH_DAVINCI_DA8XX) := 0xc0000100 |
3 | $(error Cannot enable DaVinci and DA8XX platforms concurrently) | 3 | initrd_phys-$(CONFIG_ARCH_DAVINCI_DA8XX) := 0xc0800000 |
4 | else | 4 | |
5 | zreladdr-y += 0xc0008000 | 5 | zreladdr-$(CONFIG_ARCH_DAVINCI_DMx) += 0x80008000 |
6 | params_phys-y := 0xc0000100 | 6 | params_phys-$(CONFIG_ARCH_DAVINCI_DMx) := 0x80000100 |
7 | initrd_phys-y := 0xc0800000 | 7 | initrd_phys-$(CONFIG_ARCH_DAVINCI_DMx) := 0x80800000 |
8 | endif | ||
9 | else | ||
10 | zreladdr-y += 0x80008000 | ||
11 | params_phys-y := 0x80000100 | ||
12 | initrd_phys-y := 0x80800000 | ||
13 | endif | ||
diff --git a/arch/arm/mach-davinci/davinci.h b/arch/arm/mach-davinci/davinci.h index 2eebc4338802..4ffc37accce0 100644 --- a/arch/arm/mach-davinci/davinci.h +++ b/arch/arm/mach-davinci/davinci.h | |||
@@ -79,6 +79,8 @@ int davinci_gpio_register(struct resource *res, int size, void *pdata); | |||
79 | #define DM646X_ASYNC_EMIF_CONTROL_BASE 0x20008000 | 79 | #define DM646X_ASYNC_EMIF_CONTROL_BASE 0x20008000 |
80 | #define DM646X_ASYNC_EMIF_CS2_SPACE_BASE 0x42000000 | 80 | #define DM646X_ASYNC_EMIF_CS2_SPACE_BASE 0x42000000 |
81 | 81 | ||
82 | int davinci_init_wdt(void); | ||
83 | |||
82 | /* DM355 function declarations */ | 84 | /* DM355 function declarations */ |
83 | void dm355_init(void); | 85 | void dm355_init(void); |
84 | void dm355_init_spi0(unsigned chipselect_mask, | 86 | void dm355_init_spi0(unsigned chipselect_mask, |
diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c index 5cf9a027dcc6..6257aa452568 100644 --- a/arch/arm/mach-davinci/devices.c +++ b/arch/arm/mach-davinci/devices.c | |||
@@ -313,9 +313,9 @@ void davinci_restart(enum reboot_mode mode, const char *cmd) | |||
313 | davinci_watchdog_reset(&davinci_wdt_device); | 313 | davinci_watchdog_reset(&davinci_wdt_device); |
314 | } | 314 | } |
315 | 315 | ||
316 | static void davinci_init_wdt(void) | 316 | int davinci_init_wdt(void) |
317 | { | 317 | { |
318 | platform_device_register(&davinci_wdt_device); | 318 | return platform_device_register(&davinci_wdt_device); |
319 | } | 319 | } |
320 | 320 | ||
321 | static struct platform_device davinci_gpio_device = { | 321 | static struct platform_device davinci_gpio_device = { |
@@ -348,16 +348,3 @@ struct davinci_timer_instance davinci_timer_instance[2] = { | |||
348 | }, | 348 | }, |
349 | }; | 349 | }; |
350 | 350 | ||
351 | /*-------------------------------------------------------------------------*/ | ||
352 | |||
353 | static int __init davinci_init_devices(void) | ||
354 | { | ||
355 | /* please keep these calls, and their implementations above, | ||
356 | * in alphabetical order so they're easier to sort through. | ||
357 | */ | ||
358 | davinci_init_wdt(); | ||
359 | |||
360 | return 0; | ||
361 | } | ||
362 | arch_initcall(davinci_init_devices); | ||
363 | |||
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c index 4668c0e19767..07381d8cea62 100644 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c | |||
@@ -1076,12 +1076,18 @@ int __init dm355_init_video(struct vpfe_config *vpfe_cfg, | |||
1076 | 1076 | ||
1077 | static int __init dm355_init_devices(void) | 1077 | static int __init dm355_init_devices(void) |
1078 | { | 1078 | { |
1079 | int ret = 0; | ||
1080 | |||
1079 | if (!cpu_is_davinci_dm355()) | 1081 | if (!cpu_is_davinci_dm355()) |
1080 | return 0; | 1082 | return 0; |
1081 | 1083 | ||
1082 | davinci_cfg_reg(DM355_INT_EDMA_CC); | 1084 | davinci_cfg_reg(DM355_INT_EDMA_CC); |
1083 | platform_device_register(&dm355_edma_device); | 1085 | platform_device_register(&dm355_edma_device); |
1084 | 1086 | ||
1085 | return 0; | 1087 | ret = davinci_init_wdt(); |
1088 | if (ret) | ||
1089 | pr_warn("%s: watchdog init failed: %d\n", __func__, ret); | ||
1090 | |||
1091 | return ret; | ||
1086 | } | 1092 | } |
1087 | postcore_initcall(dm355_init_devices); | 1093 | postcore_initcall(dm355_init_devices); |
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index b44b49e2801a..08a61b938333 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c | |||
@@ -1436,6 +1436,8 @@ int __init dm365_init_video(struct vpfe_config *vpfe_cfg, | |||
1436 | 1436 | ||
1437 | static int __init dm365_init_devices(void) | 1437 | static int __init dm365_init_devices(void) |
1438 | { | 1438 | { |
1439 | int ret = 0; | ||
1440 | |||
1439 | if (!cpu_is_davinci_dm365()) | 1441 | if (!cpu_is_davinci_dm365()) |
1440 | return 0; | 1442 | return 0; |
1441 | 1443 | ||
@@ -1445,6 +1447,10 @@ static int __init dm365_init_devices(void) | |||
1445 | platform_device_register(&dm365_mdio_device); | 1447 | platform_device_register(&dm365_mdio_device); |
1446 | platform_device_register(&dm365_emac_device); | 1448 | platform_device_register(&dm365_emac_device); |
1447 | 1449 | ||
1448 | return 0; | 1450 | ret = davinci_init_wdt(); |
1451 | if (ret) | ||
1452 | pr_warn("%s: watchdog init failed: %d\n", __func__, ret); | ||
1453 | |||
1454 | return ret; | ||
1449 | } | 1455 | } |
1450 | postcore_initcall(dm365_init_devices); | 1456 | postcore_initcall(dm365_init_devices); |
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 5c3e0be95ef3..5debffba4b24 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c | |||
@@ -964,6 +964,8 @@ int __init dm644x_init_video(struct vpfe_config *vpfe_cfg, | |||
964 | 964 | ||
965 | static int __init dm644x_init_devices(void) | 965 | static int __init dm644x_init_devices(void) |
966 | { | 966 | { |
967 | int ret = 0; | ||
968 | |||
967 | if (!cpu_is_davinci_dm644x()) | 969 | if (!cpu_is_davinci_dm644x()) |
968 | return 0; | 970 | return 0; |
969 | 971 | ||
@@ -972,6 +974,10 @@ static int __init dm644x_init_devices(void) | |||
972 | platform_device_register(&dm644x_mdio_device); | 974 | platform_device_register(&dm644x_mdio_device); |
973 | platform_device_register(&dm644x_emac_device); | 975 | platform_device_register(&dm644x_emac_device); |
974 | 976 | ||
975 | return 0; | 977 | ret = davinci_init_wdt(); |
978 | if (ret) | ||
979 | pr_warn("%s: watchdog init failed: %d\n", __func__, ret); | ||
980 | |||
981 | return ret; | ||
976 | } | 982 | } |
977 | postcore_initcall(dm644x_init_devices); | 983 | postcore_initcall(dm644x_init_devices); |
diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index 81768dd47096..332d00d24dc2 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c | |||
@@ -955,12 +955,18 @@ void __init dm646x_init(void) | |||
955 | 955 | ||
956 | static int __init dm646x_init_devices(void) | 956 | static int __init dm646x_init_devices(void) |
957 | { | 957 | { |
958 | int ret = 0; | ||
959 | |||
958 | if (!cpu_is_davinci_dm646x()) | 960 | if (!cpu_is_davinci_dm646x()) |
959 | return 0; | 961 | return 0; |
960 | 962 | ||
961 | platform_device_register(&dm646x_mdio_device); | 963 | platform_device_register(&dm646x_mdio_device); |
962 | platform_device_register(&dm646x_emac_device); | 964 | platform_device_register(&dm646x_emac_device); |
963 | 965 | ||
964 | return 0; | 966 | ret = davinci_init_wdt(); |
967 | if (ret) | ||
968 | pr_warn("%s: watchdog init failed: %d\n", __func__, ret); | ||
969 | |||
970 | return ret; | ||
965 | } | 971 | } |
966 | postcore_initcall(dm646x_init_devices); | 972 | postcore_initcall(dm646x_init_devices); |