pinebuds/platform/hal/best2300p/hal_dmacfg_best2300p.h

116 lines
3.4 KiB
C

/***************************************************************************
*
* Copyright 2015-2019 BES.
* All rights reserved. All unpublished rights reserved.
*
* No part of this work may be used or reproduced in any form or by any
* means, or stored in a database or retrieval system, without prior written
* permission of BES.
*
* Use of this work is governed by a license granted by BES.
* This work contains confidential and proprietary information of
* BES. which is protected by copyright, trade secret,
* trademark and other intellectual property rights.
*
****************************************************************************/
#ifndef __HAL_DMACFG_BEST2300P_H__
#define __HAL_DMACFG_BEST2300P_H__
#define AUDMA_PERIPH_NUM 16
#define GPDMA_PERIPH_NUM 16
#define AUDMA_CHAN_NUM 8
#define GPDMA_CHAN_NUM 8
#define AUDMA_CHAN_START (0)
#define GPDMA_CHAN_START (0)
static const uint32_t audma_fifo_addr[AUDMA_PERIPH_NUM] = {
CODEC_BASE + 0x01C, // CODEC RX
CODEC_BASE + 0x01C, // CODEC TX
#ifdef CODEC_DSD
CODEC_BASE + 0x034, // DSD RX
CODEC_BASE + 0x034, // DSD TX
#else
BTPCM_BASE + 0x1C0, // BTPCM RX
BTPCM_BASE + 0x1C8, // BTPCM TX
#endif
I2S0_BASE + 0x200, // I2S0 RX
I2S0_BASE + 0x240, // I2S0 TX
0, // FIR RX
0, // FIR TX
SPDIF0_BASE + 0x1C0, // SPDIF0 RX
SPDIF0_BASE + 0x1C8, // SPDIF0 TX
CODEC_BASE + 0x03C, // IIR RX
CODEC_BASE + 0x03C, // IIR TX
BTDUMP_BASE + 0x34, // BTDUMP
CODEC_BASE + 0x038, // MC RX
I2S1_BASE + 0x200, // I2S1 RX
I2S1_BASE + 0x240, // I2S1 TX
};
static const enum HAL_DMA_PERIPH_T audma_fifo_periph[AUDMA_PERIPH_NUM] = {
HAL_AUDMA_CODEC_RX,
HAL_AUDMA_CODEC_TX,
#ifdef CODEC_DSD
HAL_AUDMA_DSD_RX,
HAL_AUDMA_DSD_TX,
#else
HAL_AUDMA_BTPCM_RX,
HAL_AUDMA_BTPCM_TX,
#endif
HAL_AUDMA_I2S0_RX,
HAL_AUDMA_I2S0_TX,
HAL_AUDMA_FIR_RX,
HAL_AUDMA_FIR_TX,
HAL_AUDMA_SPDIF0_RX,
HAL_AUDMA_SPDIF0_TX,
HAL_AUDMA_IIR_RX,
HAL_AUDMA_IIR_TX,
HAL_AUDMA_BTDUMP,
HAL_AUDMA_MC_RX,
HAL_AUDMA_I2S1_RX,
HAL_AUDMA_I2S1_TX,
};
static const uint32_t gpdma_fifo_addr[GPDMA_PERIPH_NUM] = {
FLASH_CTRL_BASE + 0x008, // FLASH CTRL
SDMMC_BASE + 0x200, // SDMMC
I2C0_BASE + 0x010, // I2C0 RX
I2C0_BASE + 0x010, // I2C0 TX
SPI_BASE + 0x008, // SPI RX
SPI_BASE + 0x008, // SPI TX
SPILCD_BASE + 0x008, // SPILCD RX
SPILCD_BASE + 0x008, // SPILCD TX
UART0_BASE + 0x000, // UART0 RX
UART0_BASE + 0x000, // UART0 TX
UART1_BASE + 0x000, // UART1 RX
UART1_BASE + 0x000, // UART1 TX
I2C1_BASE + 0x010, // I2C1 RX
I2C1_BASE + 0x010, // I2C1 TX
UART2_BASE + 0x000, // UART2 RX
UART2_BASE + 0x000, // UART2 TX
};
static const enum HAL_DMA_PERIPH_T gpdma_fifo_periph[GPDMA_PERIPH_NUM] = {
HAL_GPDMA_FLASH_TX,
HAL_GPDMA_SDMMC,
HAL_GPDMA_I2C0_RX,
HAL_GPDMA_I2C0_TX,
HAL_GPDMA_SPI_RX,
HAL_GPDMA_SPI_TX,
HAL_GPDMA_SPILCD_RX,
HAL_GPDMA_SPILCD_TX,
HAL_GPDMA_UART0_RX,
HAL_GPDMA_UART0_TX,
HAL_GPDMA_UART1_RX,
HAL_GPDMA_UART1_TX,
HAL_GPDMA_I2C1_RX,
HAL_GPDMA_I2C1_TX,
HAL_GPDMA_UART2_RX,
HAL_GPDMA_UART2_TX,
};
#endif