diff options
Diffstat (limited to 'arch/arm/mach-davinci/board-da850-evm.c')
-rw-r--r-- | arch/arm/mach-davinci/board-da850-evm.c | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index e8c819090268..fdc2cc500fc6 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
@@ -637,6 +637,56 @@ static int __init da850_evm_config_emac(void) | |||
637 | } | 637 | } |
638 | device_initcall(da850_evm_config_emac); | 638 | device_initcall(da850_evm_config_emac); |
639 | 639 | ||
640 | /* | ||
641 | * The following EDMA channels/slots are not being used by drivers (for | ||
642 | * example: Timer, GPIO, UART events etc) on da850/omap-l138 EVM, hence | ||
643 | * they are being reserved for codecs on the DSP side. | ||
644 | */ | ||
645 | static const s16 da850_dma0_rsv_chans[][2] = { | ||
646 | /* (offset, number) */ | ||
647 | { 8, 6}, | ||
648 | {24, 4}, | ||
649 | {30, 2}, | ||
650 | {-1, -1} | ||
651 | }; | ||
652 | |||
653 | static const s16 da850_dma0_rsv_slots[][2] = { | ||
654 | /* (offset, number) */ | ||
655 | { 8, 6}, | ||
656 | {24, 4}, | ||
657 | {30, 50}, | ||
658 | {-1, -1} | ||
659 | }; | ||
660 | |||
661 | static const s16 da850_dma1_rsv_chans[][2] = { | ||
662 | /* (offset, number) */ | ||
663 | { 0, 28}, | ||
664 | {30, 2}, | ||
665 | {-1, -1} | ||
666 | }; | ||
667 | |||
668 | static const s16 da850_dma1_rsv_slots[][2] = { | ||
669 | /* (offset, number) */ | ||
670 | { 0, 28}, | ||
671 | {30, 90}, | ||
672 | {-1, -1} | ||
673 | }; | ||
674 | |||
675 | static struct edma_rsv_info da850_edma_cc0_rsv = { | ||
676 | .rsv_chans = da850_dma0_rsv_chans, | ||
677 | .rsv_slots = da850_dma0_rsv_slots, | ||
678 | }; | ||
679 | |||
680 | static struct edma_rsv_info da850_edma_cc1_rsv = { | ||
681 | .rsv_chans = da850_dma1_rsv_chans, | ||
682 | .rsv_slots = da850_dma1_rsv_slots, | ||
683 | }; | ||
684 | |||
685 | static struct edma_rsv_info *da850_edma_rsv[2] = { | ||
686 | &da850_edma_cc0_rsv, | ||
687 | &da850_edma_cc1_rsv, | ||
688 | }; | ||
689 | |||
640 | static __init void da850_evm_init(void) | 690 | static __init void da850_evm_init(void) |
641 | { | 691 | { |
642 | int ret; | 692 | int ret; |
@@ -646,7 +696,7 @@ static __init void da850_evm_init(void) | |||
646 | pr_warning("da850_evm_init: TPS65070 PMIC init failed: %d\n", | 696 | pr_warning("da850_evm_init: TPS65070 PMIC init failed: %d\n", |
647 | ret); | 697 | ret); |
648 | 698 | ||
649 | ret = da8xx_register_edma(); | 699 | ret = da850_register_edma(da850_edma_rsv); |
650 | if (ret) | 700 | if (ret) |
651 | pr_warning("da850_evm_init: edma registration failed: %d\n", | 701 | pr_warning("da850_evm_init: edma registration failed: %d\n", |
652 | ret); | 702 | ret); |