aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-03-17 09:51:52 -0400
committerArnd Bergmann <arnd@arndb.de>2014-03-17 09:51:52 -0400
commit117a6df3ef067e69f1de5db304a1e07e23f8f484 (patch)
treef98ad98e17378bb3095b1e29269031aa04d344d9
parent9d6eccb9cce61282a78e62861d958ebb5fb073d2 (diff)
parent4b9e44f8d7c9cd166d8304b8f619741c1d59b836 (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>
-rw-r--r--arch/arm/configs/da8xx_omapl_defconfig139
-rw-r--r--arch/arm/configs/davinci_all_defconfig20
-rw-r--r--arch/arm/mach-davinci/Makefile.boot20
-rw-r--r--arch/arm/mach-davinci/davinci.h2
-rw-r--r--arch/arm/mach-davinci/devices.c17
-rw-r--r--arch/arm/mach-davinci/dm355.c8
-rw-r--r--arch/arm/mach-davinci/dm365.c8
-rw-r--r--arch/arm/mach-davinci/dm644x.c8
-rw-r--r--arch/arm/mach-davinci/dm646x.c8
9 files changed, 59 insertions, 171 deletions
diff --git a/arch/arm/configs/da8xx_omapl_defconfig b/arch/arm/configs/da8xx_omapl_defconfig
deleted file mode 100644
index 1571bea48bed..000000000000
--- a/arch/arm/configs/da8xx_omapl_defconfig
+++ /dev/null
@@ -1,139 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_SWAP is not set
3CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y
5CONFIG_IKCONFIG=y
6CONFIG_IKCONFIG_PROC=y
7CONFIG_LOG_BUF_SHIFT=14
8CONFIG_CGROUPS=y
9CONFIG_BLK_DEV_INITRD=y
10CONFIG_EXPERT=y
11CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y
13CONFIG_MODULE_FORCE_UNLOAD=y
14CONFIG_MODVERSIONS=y
15# CONFIG_BLK_DEV_BSG is not set
16# CONFIG_IOSCHED_DEADLINE is not set
17# CONFIG_IOSCHED_CFQ is not set
18CONFIG_ARCH_DAVINCI=y
19CONFIG_ARCH_DAVINCI_DA830=y
20CONFIG_ARCH_DAVINCI_DA850=y
21CONFIG_MACH_DA8XX_DT=y
22CONFIG_MACH_MITYOMAPL138=y
23CONFIG_MACH_OMAPL138_HAWKBOARD=y
24CONFIG_DAVINCI_RESET_CLOCKS=y
25CONFIG_NO_HZ=y
26CONFIG_HIGH_RES_TIMERS=y
27CONFIG_PREEMPT=y
28CONFIG_AEABI=y
29# CONFIG_OABI_COMPAT is not set
30CONFIG_LEDS=y
31CONFIG_USE_OF=y
32CONFIG_ZBOOT_ROM_TEXT=0x0
33CONFIG_ZBOOT_ROM_BSS=0x0
34CONFIG_CPU_FREQ=y
35CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
36CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
37CONFIG_CPU_FREQ_GOV_POWERSAVE=m
38CONFIG_CPU_FREQ_GOV_ONDEMAND=m
39CONFIG_CPU_IDLE=y
40CONFIG_PM_RUNTIME=y
41CONFIG_NET=y
42CONFIG_PACKET=y
43CONFIG_UNIX=y
44CONFIG_INET=y
45CONFIG_IP_PNP=y
46CONFIG_IP_PNP_DHCP=y
47# CONFIG_INET_LRO is not set
48CONFIG_NETFILTER=y
49CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50CONFIG_DEVTMPFS=y
51CONFIG_DEVTMPFS_MOUNT=y
52# CONFIG_FW_LOADER is not set
53CONFIG_BLK_DEV_LOOP=m
54CONFIG_BLK_DEV_RAM=y
55CONFIG_BLK_DEV_RAM_COUNT=1
56CONFIG_BLK_DEV_RAM_SIZE=32768
57CONFIG_EEPROM_AT24=y
58CONFIG_SCSI=m
59CONFIG_BLK_DEV_SD=m
60CONFIG_NETDEVICES=y
61CONFIG_TUN=m
62CONFIG_LXT_PHY=y
63CONFIG_LSI_ET1011C_PHY=y
64CONFIG_NET_ETHERNET=y
65CONFIG_MII=y
66CONFIG_TI_DAVINCI_EMAC=y
67# CONFIG_NETDEV_1000 is not set
68# CONFIG_NETDEV_10000 is not set
69CONFIG_NETCONSOLE=y
70CONFIG_NETPOLL_TRAP=y
71CONFIG_INPUT_MOUSEDEV=m
72CONFIG_INPUT_EVDEV=m
73CONFIG_INPUT_EVBUG=m
74CONFIG_KEYBOARD_ATKBD=m
75CONFIG_KEYBOARD_GPIO=y
76CONFIG_KEYBOARD_XTKBD=m
77# CONFIG_INPUT_MOUSE is not set
78CONFIG_INPUT_TOUCHSCREEN=y
79CONFIG_SERIO_LIBPS2=y
80# CONFIG_VT_CONSOLE is not set
81CONFIG_SERIAL_8250=y
82CONFIG_SERIAL_8250_CONSOLE=y
83CONFIG_SERIAL_8250_NR_UARTS=3
84CONFIG_SERIAL_OF_PLATFORM=y
85CONFIG_I2C=y
86CONFIG_I2C_CHARDEV=y
87CONFIG_I2C_DAVINCI=y
88CONFIG_PINCTRL_SINGLE=y
89# CONFIG_HWMON is not set
90CONFIG_WATCHDOG=y
91CONFIG_REGULATOR=y
92CONFIG_REGULATOR_DUMMY=y
93CONFIG_REGULATOR_TPS6507X=y
94CONFIG_FB=y
95CONFIG_FB_DA8XX=y
96# CONFIG_VGA_CONSOLE is not set
97CONFIG_FRAMEBUFFER_CONSOLE=y
98CONFIG_LOGO=y
99CONFIG_SOUND=m
100CONFIG_SND=m
101CONFIG_SND_SOC=m
102CONFIG_SND_DAVINCI_SOC=m
103# CONFIG_HID_SUPPORT is not set
104# CONFIG_USB_SUPPORT is not set
105CONFIG_DMADEVICES=y
106CONFIG_TI_EDMA=y
107CONFIG_EXT2_FS=y
108CONFIG_EXT3_FS=y
109CONFIG_XFS_FS=m
110CONFIG_INOTIFY=y
111CONFIG_AUTOFS4_FS=m
112CONFIG_MSDOS_FS=y
113CONFIG_VFAT_FS=y
114CONFIG_TMPFS=y
115CONFIG_CRAMFS=y
116CONFIG_MINIX_FS=m
117CONFIG_NFS_FS=y
118CONFIG_NFS_V3=y
119CONFIG_ROOT_NFS=y
120CONFIG_NFSD=m
121CONFIG_NFSD_V3=y
122CONFIG_SMB_FS=m
123CONFIG_PARTITION_ADVANCED=y
124CONFIG_NLS_CODEPAGE_437=y
125CONFIG_NLS_ASCII=m
126CONFIG_NLS_ISO8859_1=y
127CONFIG_NLS_UTF8=m
128CONFIG_DEBUG_FS=y
129CONFIG_DEBUG_KERNEL=y
130CONFIG_TIMER_STATS=y
131CONFIG_DEBUG_RT_MUTEXES=y
132CONFIG_DEBUG_MUTEXES=y
133# CONFIG_RCU_CPU_STALL_DETECTOR is not set
134CONFIG_DEBUG_USER=y
135CONFIG_DEBUG_ERRORS=y
136# CONFIG_CRYPTO_ANSI_CPRNG is not set
137# CONFIG_CRYPTO_HW is not set
138CONFIG_CRC_CCITT=m
139CONFIG_CRC_T10DIF=m
diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig
index ab2f7378352c..fff4eb6f62c2 100644
--- a/arch/arm/configs/davinci_all_defconfig
+++ b/arch/arm/configs/davinci_all_defconfig
@@ -20,9 +20,14 @@ CONFIG_ARCH_DAVINCI_DM644x=y
20CONFIG_ARCH_DAVINCI_DM355=y 20CONFIG_ARCH_DAVINCI_DM355=y
21CONFIG_ARCH_DAVINCI_DM646x=y 21CONFIG_ARCH_DAVINCI_DM646x=y
22CONFIG_ARCH_DAVINCI_DM365=y 22CONFIG_ARCH_DAVINCI_DM365=y
23CONFIG_ARCH_DAVINCI_DA830=y
24CONFIG_ARCH_DAVINCI_DA850=y
25CONFIG_MACH_DA8XX_DT=y
23CONFIG_MACH_SFFSDR=y 26CONFIG_MACH_SFFSDR=y
24CONFIG_MACH_NEUROS_OSD2=y 27CONFIG_MACH_NEUROS_OSD2=y
25CONFIG_MACH_DM355_LEOPARD=y 28CONFIG_MACH_DM355_LEOPARD=y
29CONFIG_MACH_MITYOMAPL138=y
30CONFIG_MACH_OMAPL138_HAWKBOARD=y
26CONFIG_DAVINCI_MUX_DEBUG=y 31CONFIG_DAVINCI_MUX_DEBUG=y
27CONFIG_DAVINCI_MUX_WARNINGS=y 32CONFIG_DAVINCI_MUX_WARNINGS=y
28CONFIG_DAVINCI_RESET_CLOCKS=y 33CONFIG_DAVINCI_RESET_CLOCKS=y
@@ -32,8 +37,16 @@ CONFIG_PREEMPT=y
32CONFIG_AEABI=y 37CONFIG_AEABI=y
33# CONFIG_OABI_COMPAT is not set 38# CONFIG_OABI_COMPAT is not set
34CONFIG_LEDS=y 39CONFIG_LEDS=y
40CONFIG_USE_OF=y
35CONFIG_ZBOOT_ROM_TEXT=0x0 41CONFIG_ZBOOT_ROM_TEXT=0x0
36CONFIG_ZBOOT_ROM_BSS=0x0 42CONFIG_ZBOOT_ROM_BSS=0x0
43CONFIG_AUTO_ZRELADDR=y
44CONFIG_CPU_FREQ=y
45CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
46CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
47CONFIG_CPU_FREQ_GOV_POWERSAVE=m
48CONFIG_CPU_FREQ_GOV_ONDEMAND=m
49CONFIG_CPU_IDLE=y
37CONFIG_PM_RUNTIME=y 50CONFIG_PM_RUNTIME=y
38CONFIG_NET=y 51CONFIG_NET=y
39CONFIG_PACKET=y 52CONFIG_PACKET=y
@@ -71,6 +84,7 @@ CONFIG_TUN=m
71CONFIG_LXT_PHY=y 84CONFIG_LXT_PHY=y
72CONFIG_LSI_ET1011C_PHY=y 85CONFIG_LSI_ET1011C_PHY=y
73CONFIG_NET_ETHERNET=y 86CONFIG_NET_ETHERNET=y
87CONFIG_MII=y
74CONFIG_TI_DAVINCI_EMAC=y 88CONFIG_TI_DAVINCI_EMAC=y
75CONFIG_DM9000=y 89CONFIG_DM9000=y
76# CONFIG_NETDEV_1000 is not set 90# CONFIG_NETDEV_1000 is not set
@@ -97,15 +111,21 @@ CONFIG_SERIAL_8250=y
97CONFIG_SERIAL_8250_CONSOLE=y 111CONFIG_SERIAL_8250_CONSOLE=y
98CONFIG_SERIAL_8250_NR_UARTS=3 112CONFIG_SERIAL_8250_NR_UARTS=3
99# CONFIG_HW_RANDOM is not set 113# CONFIG_HW_RANDOM is not set
114CONFIG_SERIAL_OF_PLATFORM=y
100CONFIG_I2C=y 115CONFIG_I2C=y
101CONFIG_I2C_CHARDEV=y 116CONFIG_I2C_CHARDEV=y
102CONFIG_I2C_DAVINCI=y 117CONFIG_I2C_DAVINCI=y
118CONFIG_PINCTRL_SINGLE=y
103CONFIG_GPIO_PCF857X=y 119CONFIG_GPIO_PCF857X=y
104CONFIG_WATCHDOG=y 120CONFIG_WATCHDOG=y
105CONFIG_DAVINCI_WATCHDOG=m 121CONFIG_DAVINCI_WATCHDOG=m
106CONFIG_MFD_DM355EVM_MSP=y 122CONFIG_MFD_DM355EVM_MSP=y
123CONFIG_TPS6507X=y
107CONFIG_VIDEO_OUTPUT_CONTROL=m 124CONFIG_VIDEO_OUTPUT_CONTROL=m
125CONFIG_REGULATOR=y
126CONFIG_REGULATOR_TPS6507X=y
108CONFIG_FB=y 127CONFIG_FB=y
128CONFIG_FB_DA8XX=y
109CONFIG_FIRMWARE_EDID=y 129CONFIG_FIRMWARE_EDID=y
110# CONFIG_VGA_CONSOLE is not set 130# CONFIG_VGA_CONSOLE is not set
111CONFIG_FRAMEBUFFER_CONSOLE=y 131CONFIG_FRAMEBUFFER_CONSOLE=y
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 @@
1ifeq ($(CONFIG_ARCH_DAVINCI_DA8XX),y) 1zreladdr-$(CONFIG_ARCH_DAVINCI_DA8XX) += 0xc0008000
2ifeq ($(CONFIG_ARCH_DAVINCI_DMx),y) 2params_phys-$(CONFIG_ARCH_DAVINCI_DA8XX) := 0xc0000100
3$(error Cannot enable DaVinci and DA8XX platforms concurrently) 3initrd_phys-$(CONFIG_ARCH_DAVINCI_DA8XX) := 0xc0800000
4else 4
5 zreladdr-y += 0xc0008000 5zreladdr-$(CONFIG_ARCH_DAVINCI_DMx) += 0x80008000
6params_phys-y := 0xc0000100 6params_phys-$(CONFIG_ARCH_DAVINCI_DMx) := 0x80000100
7initrd_phys-y := 0xc0800000 7initrd_phys-$(CONFIG_ARCH_DAVINCI_DMx) := 0x80800000
8endif
9else
10 zreladdr-y += 0x80008000
11params_phys-y := 0x80000100
12initrd_phys-y := 0x80800000
13endif
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
82int davinci_init_wdt(void);
83
82/* DM355 function declarations */ 84/* DM355 function declarations */
83void dm355_init(void); 85void dm355_init(void);
84void dm355_init_spi0(unsigned chipselect_mask, 86void 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
316static void davinci_init_wdt(void) 316int 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
321static struct platform_device davinci_gpio_device = { 321static 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
353static 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}
362arch_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
1077static int __init dm355_init_devices(void) 1077static 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}
1087postcore_initcall(dm355_init_devices); 1093postcore_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
1437static int __init dm365_init_devices(void) 1437static 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}
1450postcore_initcall(dm365_init_devices); 1456postcore_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
965static int __init dm644x_init_devices(void) 965static 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}
977postcore_initcall(dm644x_init_devices); 983postcore_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
956static int __init dm646x_init_devices(void) 956static 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}
966postcore_initcall(dm646x_init_devices); 972postcore_initcall(dm646x_init_devices);