I don't know

Dependents:   MX106-finaltest

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Sep 25 14:15:10 2015 +0100
Revision:
627:4fa1328d9c60
Parent:
548:1abac31e188e
Synchronized with git revision fe238a91ab7a4d1d72c4cab9da04967c619d54ad

Full URL: https://github.com/mbedmicro/mbed/commit/fe238a91ab7a4d1d72c4cab9da04967c619d54ad/

Silicon Labs - Add support for low-power async Serial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 627:4fa1328d9c60 1 /***************************************************************************//**
mbed_official 627:4fa1328d9c60 2 * @file dma_api_HAL.h
mbed_official 627:4fa1328d9c60 3 *******************************************************************************
mbed_official 627:4fa1328d9c60 4 * @section License
mbed_official 627:4fa1328d9c60 5 * <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
mbed_official 627:4fa1328d9c60 6 *******************************************************************************
mbed_official 525:c320967f86b9 7 *
mbed_official 627:4fa1328d9c60 8 * Permission is granted to anyone to use this software for any purpose,
mbed_official 627:4fa1328d9c60 9 * including commercial applications, and to alter it and redistribute it
mbed_official 627:4fa1328d9c60 10 * freely, subject to the following restrictions:
mbed_official 525:c320967f86b9 11 *
mbed_official 627:4fa1328d9c60 12 * 1. The origin of this software must not be misrepresented; you must not
mbed_official 627:4fa1328d9c60 13 * claim that you wrote the original software.
mbed_official 627:4fa1328d9c60 14 * 2. Altered source versions must be plainly marked as such, and must not be
mbed_official 627:4fa1328d9c60 15 * misrepresented as being the original software.
mbed_official 627:4fa1328d9c60 16 * 3. This notice may not be removed or altered from any source distribution.
mbed_official 525:c320967f86b9 17 *
mbed_official 627:4fa1328d9c60 18 * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no
mbed_official 627:4fa1328d9c60 19 * obligation to support this Software. Silicon Labs is providing the
mbed_official 627:4fa1328d9c60 20 * Software "AS IS", with no express or implied warranties of any kind,
mbed_official 627:4fa1328d9c60 21 * including, but not limited to, any implied warranties of merchantability
mbed_official 627:4fa1328d9c60 22 * or fitness for any particular purpose or warranties against infringement
mbed_official 627:4fa1328d9c60 23 * of any proprietary rights of a third party.
mbed_official 627:4fa1328d9c60 24 *
mbed_official 627:4fa1328d9c60 25 * Silicon Labs will not be liable for any consequential, incidental, or
mbed_official 627:4fa1328d9c60 26 * special damages, or any other relief, or for any claim by any third party,
mbed_official 627:4fa1328d9c60 27 * arising from your use of this Software.
mbed_official 627:4fa1328d9c60 28 *
mbed_official 627:4fa1328d9c60 29 ******************************************************************************/
mbed_official 627:4fa1328d9c60 30
mbed_official 525:c320967f86b9 31 #ifndef MBED_DMA_API_HAL_H
mbed_official 525:c320967f86b9 32 #define MBED_DMA_API_HAL_H
mbed_official 525:c320967f86b9 33
mbed_official 525:c320967f86b9 34 #include <stdint.h>
mbed_official 525:c320967f86b9 35 #include "dma_api.h"
mbed_official 525:c320967f86b9 36 #include "em_dma.h"
mbed_official 525:c320967f86b9 37
mbed_official 525:c320967f86b9 38 #ifdef __cplusplus
mbed_official 525:c320967f86b9 39 extern "C" {
mbed_official 525:c320967f86b9 40 #endif
mbed_official 525:c320967f86b9 41
mbed_official 525:c320967f86b9 42 /* Purpose of this file: extend dma_api.h to include EFM-specific DMA attributes */
mbed_official 525:c320967f86b9 43
mbed_official 525:c320967f86b9 44 #define DMA_CAP_2DCOPY (1 << 0)
mbed_official 525:c320967f86b9 45 #define DMA_CAP_NONE (0 << 0)
mbed_official 525:c320967f86b9 46
mbed_official 525:c320967f86b9 47 #if ( DMA_CHAN_COUNT <= 4 )
mbed_official 525:c320967f86b9 48 #define DMACTRL_CH_CNT 4
mbed_official 525:c320967f86b9 49 #define DMACTRL_ALIGNMENT 256
mbed_official 525:c320967f86b9 50
mbed_official 525:c320967f86b9 51 #elif ( ( DMA_CHAN_COUNT > 4 ) && ( DMA_CHAN_COUNT <= 8 ) )
mbed_official 525:c320967f86b9 52 #define DMACTRL_CH_CNT 8
mbed_official 525:c320967f86b9 53 #define DMACTRL_ALIGNMENT 256
mbed_official 525:c320967f86b9 54
mbed_official 525:c320967f86b9 55 #elif ( ( DMA_CHAN_COUNT > 8 ) && ( DMA_CHAN_COUNT <= 16 ) )
mbed_official 525:c320967f86b9 56 #define DMACTRL_CH_CNT 16
mbed_official 525:c320967f86b9 57 #define DMACTRL_ALIGNMENT 512
mbed_official 525:c320967f86b9 58
mbed_official 525:c320967f86b9 59 #else
mbed_official 525:c320967f86b9 60 #error "Unsupported DMA channel count (dma_api.c)."
mbed_official 525:c320967f86b9 61 #endif
mbed_official 525:c320967f86b9 62
mbed_official 525:c320967f86b9 63 typedef struct {
mbed_official 548:1abac31e188e 64 DMAUsage dmaUsageState;
mbed_official 548:1abac31e188e 65 int dmaChannel;
mbed_official 548:1abac31e188e 66 DMA_CB_TypeDef dmaCallback;
mbed_official 525:c320967f86b9 67 } DMA_OPTIONS_t;
mbed_official 525:c320967f86b9 68
mbed_official 525:c320967f86b9 69 typedef void (*DMACallback)(void);
mbed_official 525:c320967f86b9 70
mbed_official 525:c320967f86b9 71 extern DMA_DESCRIPTOR_TypeDef dmaControlBlock[];
mbed_official 525:c320967f86b9 72
mbed_official 525:c320967f86b9 73 #ifdef __cplusplus
mbed_official 525:c320967f86b9 74 }
mbed_official 525:c320967f86b9 75 #endif
mbed_official 525:c320967f86b9 76
mbed_official 525:c320967f86b9 77 #endif