diff options
author | Victor Rodriguez <vm.rod25@gmail.com> | 2010-12-27 17:43:09 -0500 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2011-02-28 17:53:28 -0500 |
commit | 5f72f380093afd378259e4a50f9fa2380457b70b (patch) | |
tree | 8e240137e3549c77c92109e883161f12bfad5c86 /arch/arm/mach-davinci/board-omapl138-hawk.c | |
parent | bb59b7fdc1aacde27a1d6254f1e647a794fa7735 (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>
Diffstat (limited to 'arch/arm/mach-davinci/board-omapl138-hawk.c')
-rw-r--r-- | arch/arm/mach-davinci/board-omapl138-hawk.c | 54 |
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 | */ | ||
68 | static const s16 da850_dma0_rsv_chans[][2] = { | ||
69 | /* (offset, number) */ | ||
70 | { 8, 6}, | ||
71 | {24, 4}, | ||
72 | {30, 2}, | ||
73 | {-1, -1} | ||
74 | }; | ||
75 | |||
76 | static const s16 da850_dma0_rsv_slots[][2] = { | ||
77 | /* (offset, number) */ | ||
78 | { 8, 6}, | ||
79 | {24, 4}, | ||
80 | {30, 50}, | ||
81 | {-1, -1} | ||
82 | }; | ||
83 | |||
84 | static const s16 da850_dma1_rsv_chans[][2] = { | ||
85 | /* (offset, number) */ | ||
86 | { 0, 28}, | ||
87 | {30, 2}, | ||
88 | {-1, -1} | ||
89 | }; | ||
90 | |||
91 | static const s16 da850_dma1_rsv_slots[][2] = { | ||
92 | /* (offset, number) */ | ||
93 | { 0, 28}, | ||
94 | {30, 90}, | ||
95 | {-1, -1} | ||
96 | }; | ||
97 | |||
98 | static struct edma_rsv_info da850_edma_cc0_rsv = { | ||
99 | .rsv_chans = da850_dma0_rsv_chans, | ||
100 | .rsv_slots = da850_dma0_rsv_slots, | ||
101 | }; | ||
102 | |||
103 | static struct edma_rsv_info da850_edma_cc1_rsv = { | ||
104 | .rsv_chans = da850_dma1_rsv_chans, | ||
105 | .rsv_slots = da850_dma1_rsv_slots, | ||
106 | }; | ||
107 | |||
108 | static struct edma_rsv_info *da850_edma_rsv[2] = { | ||
109 | &da850_edma_cc0_rsv, | ||
110 | &da850_edma_cc1_rsv, | ||
111 | }; | ||
63 | 112 | ||
64 | static struct davinci_uart_config omapl138_hawk_uart_config __initdata = { | 113 | static 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: " |