aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/board-da830-evm.c
diff options
context:
space:
mode:
authorRajashekhara, Sudhakar <sudhakar.raj@ti.com>2010-06-29 02:05:14 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2010-08-05 12:58:26 -0400
commita941c50340c97f1f9c5e4d0de7d1bfdbffbdef24 (patch)
treea4cce8ec52350deabdd8ed8aec7691d7689ba0bc /arch/arm/mach-davinci/board-da830-evm.c
parent90bd4e6dd7f4b747477f2ad0125adb933cf3bcfa (diff)
davinci: da8xx/omapl EVM: Specify reserved channels/slots
The drivers on da8xx/omapl EVMs do not utilize all the channels and slots provided by EDMA. Some of these are better utilitzed by the DSP on the SoC for speeding up codec operations. Reserve these channels/slots for the DSP. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/board-da830-evm.c')
-rw-r--r--arch/arm/mach-davinci/board-da830-evm.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
index 212d97084bd7..b61e87250b3b 100644
--- a/arch/arm/mach-davinci/board-da830-evm.c
+++ b/arch/arm/mach-davinci/board-da830-evm.c
@@ -494,12 +494,42 @@ static struct davinci_i2c_platform_data da830_evm_i2c_0_pdata = {
494 .bus_delay = 0, /* usec */ 494 .bus_delay = 0, /* usec */
495}; 495};
496 496
497/*
498 * The following EDMA channels/slots are not being used by drivers (for
499 * example: Timer, GPIO, UART events etc) on da830/omap-l137 EVM, hence
500 * they are being reserved for codecs on the DSP side.
501 */
502static const s16 da830_dma_rsv_chans[][2] = {
503 /* (offset, number) */
504 { 8, 2},
505 {12, 2},
506 {24, 4},
507 {30, 2},
508 {-1, -1}
509};
510
511static const s16 da830_dma_rsv_slots[][2] = {
512 /* (offset, number) */
513 { 8, 2},
514 {12, 2},
515 {24, 4},
516 {30, 26},
517 {-1, -1}
518};
519
520static struct edma_rsv_info da830_edma_rsv[] = {
521 {
522 .rsv_chans = da830_dma_rsv_chans,
523 .rsv_slots = da830_dma_rsv_slots,
524 },
525};
526
497static __init void da830_evm_init(void) 527static __init void da830_evm_init(void)
498{ 528{
499 struct davinci_soc_info *soc_info = &davinci_soc_info; 529 struct davinci_soc_info *soc_info = &davinci_soc_info;
500 int ret; 530 int ret;
501 531
502 ret = da8xx_register_edma(); 532 ret = da830_register_edma(da830_edma_rsv);
503 if (ret) 533 if (ret)
504 pr_warning("da830_evm_init: edma registration failed: %d\n", 534 pr_warning("da830_evm_init: edma registration failed: %d\n",
505 ret); 535 ret);