diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 15:08:50 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-19 15:08:50 -0400 |
commit | 024a6b95181f2df6090975c8a293499d24bf8b28 (patch) | |
tree | 8da0a465bc35ab250897fb6bea1bcb64cdef9a05 /arch/arm/mach-davinci/da830.c | |
parent | 349e1fba7e63b1067b5915337986060c13d9edd0 (diff) | |
parent | 5e682ef825302f2378726e44257291eaeadbfd50 (diff) |
Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci
* 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (48 commits)
Revert "rtc: omap: let device wakeup capability be configured from chip init logic"
DM365: Added more PINMUX configurations for AEMIF
DM365: Make CLKOUTx available
DM365: Added PINMUX definitions for GPIO30..32
Davinci: iotable based ioremap() interception
Davinci: pinmux - use ioremap()
Davinci: aintc/cpintc - use ioremap()
Davinci: psc - use ioremap()
Davinci: timer - use ioremap()
Davinci: jtag_id - use ioremap()
Davinci: da8xx: rtc - use ioremap
Davinci: gpio - use ioremap()
davinci: edma: fix coding style issue related to breaking lines
davinci: edma: use BIT() wherever possible
davinci: edma: fix coding style issue related to usage of braces
davinci: edma: use a more intuitive name for edma_info
Davinci: serial - conditional reset via pwremu
Davinci: serial - use ioremap()
Davinci: serial - remove unnecessary define
Davinci: watchdog reset separation across socs
...
Fix up trivial conflict in arch/arm/Kconfig due to removal of "select
GENERIC_TIME"
Diffstat (limited to 'arch/arm/mach-davinci/da830.c')
-rw-r--r-- | arch/arm/mach-davinci/da830.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c index e8cb982f5e8e..23e9eda5a377 100644 --- a/arch/arm/mach-davinci/da830.c +++ b/arch/arm/mach-davinci/da830.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <mach/common.h> | 19 | #include <mach/common.h> |
20 | #include <mach/time.h> | 20 | #include <mach/time.h> |
21 | #include <mach/da8xx.h> | 21 | #include <mach/da8xx.h> |
22 | #include <mach/gpio.h> | ||
22 | 23 | ||
23 | #include "clock.h" | 24 | #include "clock.h" |
24 | #include "mux.h" | 25 | #include "mux.h" |
@@ -1126,10 +1127,7 @@ static struct map_desc da830_io_desc[] = { | |||
1126 | }, | 1127 | }, |
1127 | }; | 1128 | }; |
1128 | 1129 | ||
1129 | static void __iomem *da830_psc_bases[] = { | 1130 | static u32 da830_psc_bases[] = { DA8XX_PSC0_BASE, DA8XX_PSC1_BASE }; |
1130 | IO_ADDRESS(DA8XX_PSC0_BASE), | ||
1131 | IO_ADDRESS(DA8XX_PSC1_BASE), | ||
1132 | }; | ||
1133 | 1131 | ||
1134 | /* Contents of JTAG ID register used to identify exact cpu type */ | 1132 | /* Contents of JTAG ID register used to identify exact cpu type */ |
1135 | static struct davinci_id da830_ids[] = { | 1133 | static struct davinci_id da830_ids[] = { |
@@ -1158,14 +1156,14 @@ static struct davinci_id da830_ids[] = { | |||
1158 | 1156 | ||
1159 | static struct davinci_timer_instance da830_timer_instance[2] = { | 1157 | static struct davinci_timer_instance da830_timer_instance[2] = { |
1160 | { | 1158 | { |
1161 | .base = IO_ADDRESS(DA8XX_TIMER64P0_BASE), | 1159 | .base = DA8XX_TIMER64P0_BASE, |
1162 | .bottom_irq = IRQ_DA8XX_TINT12_0, | 1160 | .bottom_irq = IRQ_DA8XX_TINT12_0, |
1163 | .top_irq = IRQ_DA8XX_TINT34_0, | 1161 | .top_irq = IRQ_DA8XX_TINT34_0, |
1164 | .cmp_off = DA830_CMP12_0, | 1162 | .cmp_off = DA830_CMP12_0, |
1165 | .cmp_irq = IRQ_DA830_T12CMPINT0_0, | 1163 | .cmp_irq = IRQ_DA830_T12CMPINT0_0, |
1166 | }, | 1164 | }, |
1167 | { | 1165 | { |
1168 | .base = IO_ADDRESS(DA8XX_TIMER64P1_BASE), | 1166 | .base = DA8XX_TIMER64P1_BASE, |
1169 | .bottom_irq = IRQ_DA8XX_TINT12_1, | 1167 | .bottom_irq = IRQ_DA8XX_TINT12_1, |
1170 | .top_irq = IRQ_DA8XX_TINT34_1, | 1168 | .top_irq = IRQ_DA8XX_TINT34_1, |
1171 | .cmp_off = DA830_CMP12_0, | 1169 | .cmp_off = DA830_CMP12_0, |
@@ -1187,34 +1185,33 @@ static struct davinci_timer_info da830_timer_info = { | |||
1187 | static struct davinci_soc_info davinci_soc_info_da830 = { | 1185 | static struct davinci_soc_info davinci_soc_info_da830 = { |
1188 | .io_desc = da830_io_desc, | 1186 | .io_desc = da830_io_desc, |
1189 | .io_desc_num = ARRAY_SIZE(da830_io_desc), | 1187 | .io_desc_num = ARRAY_SIZE(da830_io_desc), |
1188 | .jtag_id_reg = DA8XX_SYSCFG0_BASE + DA8XX_JTAG_ID_REG, | ||
1190 | .ids = da830_ids, | 1189 | .ids = da830_ids, |
1191 | .ids_num = ARRAY_SIZE(da830_ids), | 1190 | .ids_num = ARRAY_SIZE(da830_ids), |
1192 | .cpu_clks = da830_clks, | 1191 | .cpu_clks = da830_clks, |
1193 | .psc_bases = da830_psc_bases, | 1192 | .psc_bases = da830_psc_bases, |
1194 | .psc_bases_num = ARRAY_SIZE(da830_psc_bases), | 1193 | .psc_bases_num = ARRAY_SIZE(da830_psc_bases), |
1194 | .pinmux_base = DA8XX_SYSCFG0_BASE + 0x120, | ||
1195 | .pinmux_pins = da830_pins, | 1195 | .pinmux_pins = da830_pins, |
1196 | .pinmux_pins_num = ARRAY_SIZE(da830_pins), | 1196 | .pinmux_pins_num = ARRAY_SIZE(da830_pins), |
1197 | .intc_base = (void __iomem *)DA8XX_CP_INTC_VIRT, | 1197 | .intc_base = DA8XX_CP_INTC_BASE, |
1198 | .intc_type = DAVINCI_INTC_TYPE_CP_INTC, | 1198 | .intc_type = DAVINCI_INTC_TYPE_CP_INTC, |
1199 | .intc_irq_prios = da830_default_priorities, | 1199 | .intc_irq_prios = da830_default_priorities, |
1200 | .intc_irq_num = DA830_N_CP_INTC_IRQ, | 1200 | .intc_irq_num = DA830_N_CP_INTC_IRQ, |
1201 | .timer_info = &da830_timer_info, | 1201 | .timer_info = &da830_timer_info, |
1202 | .gpio_base = IO_ADDRESS(DA8XX_GPIO_BASE), | 1202 | .gpio_type = GPIO_TYPE_DAVINCI, |
1203 | .gpio_base = DA8XX_GPIO_BASE, | ||
1203 | .gpio_num = 128, | 1204 | .gpio_num = 128, |
1204 | .gpio_irq = IRQ_DA8XX_GPIO0, | 1205 | .gpio_irq = IRQ_DA8XX_GPIO0, |
1205 | .serial_dev = &da8xx_serial_device, | 1206 | .serial_dev = &da8xx_serial_device, |
1206 | .emac_pdata = &da8xx_emac_pdata, | 1207 | .emac_pdata = &da8xx_emac_pdata, |
1208 | .reset_device = &da8xx_wdt_device, | ||
1207 | }; | 1209 | }; |
1208 | 1210 | ||
1209 | void __init da830_init(void) | 1211 | void __init da830_init(void) |
1210 | { | 1212 | { |
1211 | da8xx_syscfg0_base = ioremap(DA8XX_SYSCFG0_BASE, SZ_4K); | ||
1212 | if (WARN(!da8xx_syscfg0_base, "Unable to map syscfg0 module")) | ||
1213 | return; | ||
1214 | |||
1215 | davinci_soc_info_da830.jtag_id_base = | ||
1216 | DA8XX_SYSCFG0_VIRT(DA8XX_JTAG_ID_REG); | ||
1217 | davinci_soc_info_da830.pinmux_base = DA8XX_SYSCFG0_VIRT(0x120); | ||
1218 | |||
1219 | davinci_common_init(&davinci_soc_info_da830); | 1213 | davinci_common_init(&davinci_soc_info_da830); |
1214 | |||
1215 | da8xx_syscfg0_base = ioremap(DA8XX_SYSCFG0_BASE, SZ_4K); | ||
1216 | WARN(!da8xx_syscfg0_base, "Unable to map syscfg0 module"); | ||
1220 | } | 1217 | } |