aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Rodriguez <vm.rod25@gmail.com>2010-12-27 17:43:09 -0500
committerKevin Hilman <khilman@ti.com>2011-02-28 17:53:28 -0500
commit5f72f380093afd378259e4a50f9fa2380457b70b (patch)
tree8e240137e3549c77c92109e883161f12bfad5c86
parentbb59b7fdc1aacde27a1d6254f1e647a794fa7735 (diff)
davinci: EDMA support for Omapl138-Hawkboard
This patch adds EDMA support for the Hawkboard-L138 system Signed-off-by: Victor Rodriguez <vm.rod25@gmail.com> Tested-by: Rene Gonzalez <renegs.2378@gmail.com> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
-rw-r--r--arch/arm/mach-davinci/board-omapl138-hawk.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c
index 75b3fe23ee63..cefff9b86f72 100644
--- a/arch/arm/mach-davinci/board-omapl138-hawk.c
+++ b/arch/arm/mach-davinci/board-omapl138-hawk.c
@@ -60,6 +60,55 @@ static __init void omapl138_hawk_config_emac(void)
60 __func__, ret); 60 __func__, ret);
61} 61}
62 62
63/*
64 * The following EDMA channels/slots are not being used by drivers (for
65 * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM/Hawkboard,
66 * hence they are being reserved for codecs on the DSP side.
67 */
68static const s16 da850_dma0_rsv_chans[][2] = {
69 /* (offset, number) */
70 { 8, 6},
71 {24, 4},
72 {30, 2},
73 {-1, -1}
74};
75
76static const s16 da850_dma0_rsv_slots[][2] = {
77 /* (offset, number) */
78 { 8, 6},
79 {24, 4},
80 {30, 50},
81 {-1, -1}
82};
83
84static const s16 da850_dma1_rsv_chans[][2] = {
85 /* (offset, number) */
86 { 0, 28},
87 {30, 2},
88 {-1, -1}
89};
90
91static const s16 da850_dma1_rsv_slots[][2] = {
92 /* (offset, number) */
93 { 0, 28},
94 {30, 90},
95 {-1, -1}
96};
97
98static struct edma_rsv_info da850_edma_cc0_rsv = {
99 .rsv_chans = da850_dma0_rsv_chans,
100 .rsv_slots = da850_dma0_rsv_slots,
101};
102
103static struct edma_rsv_info da850_edma_cc1_rsv = {
104 .rsv_chans = da850_dma1_rsv_chans,
105 .rsv_slots = da850_dma1_rsv_slots,
106};
107
108static struct edma_rsv_info *da850_edma_rsv[2] = {
109 &da850_edma_cc0_rsv,
110 &da850_edma_cc1_rsv,
111};
63 112
64static struct davinci_uart_config omapl138_hawk_uart_config __initdata = { 113static struct davinci_uart_config omapl138_hawk_uart_config __initdata = {
65 .enabled_uarts = 0x7, 114 .enabled_uarts = 0x7,
@@ -73,6 +122,11 @@ static __init void omapl138_hawk_init(void)
73 122
74 omapl138_hawk_config_emac(); 123 omapl138_hawk_config_emac();
75 124
125 ret = da850_register_edma(da850_edma_rsv);
126 if (ret)
127 pr_warning("%s: EDMA registration failed: %d\n",
128 __func__, ret);
129
76 ret = da8xx_register_watchdog(); 130 ret = da8xx_register_watchdog();
77 if (ret) 131 if (ret)
78 pr_warning("omapl138_hawk_init: " 132 pr_warning("omapl138_hawk_init: "