test public

Dependencies:   HttpServer_snapshot_mbed-os

Committer:
anhtran
Date:
Fri Oct 18 03:09:43 2019 +0000
Revision:
0:e9fd5575b10e
abc

Who changed what in which revision?

UserRevisionLine numberNew contents of line
anhtran 0:e9fd5575b10e 1 /*******************************************************************************
anhtran 0:e9fd5575b10e 2 * DISCLAIMER
anhtran 0:e9fd5575b10e 3 * This software is supplied by Renesas Electronics Corporation and is only
anhtran 0:e9fd5575b10e 4 * intended for use with Renesas products. No other uses are authorized. This
anhtran 0:e9fd5575b10e 5 * software is owned by Renesas Electronics Corporation and is protected under
anhtran 0:e9fd5575b10e 6 * all applicable laws, including copyright laws.
anhtran 0:e9fd5575b10e 7 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
anhtran 0:e9fd5575b10e 8 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
anhtran 0:e9fd5575b10e 9 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
anhtran 0:e9fd5575b10e 10 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
anhtran 0:e9fd5575b10e 11 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
anhtran 0:e9fd5575b10e 12 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
anhtran 0:e9fd5575b10e 13 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
anhtran 0:e9fd5575b10e 14 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
anhtran 0:e9fd5575b10e 15 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
anhtran 0:e9fd5575b10e 16 * Renesas reserves the right, without notice, to make changes to this software
anhtran 0:e9fd5575b10e 17 * and to discontinue the availability of this software. By using this software,
anhtran 0:e9fd5575b10e 18 * you agree to the additional terms and conditions found by accessing the
anhtran 0:e9fd5575b10e 19 * following link:
anhtran 0:e9fd5575b10e 20 * http://www.renesas.com/disclaimer
anhtran 0:e9fd5575b10e 21 * Copyright (C) 2018 Renesas Electronics Corporation. All rights reserved.
anhtran 0:e9fd5575b10e 22 *******************************************************************************/
anhtran 0:e9fd5575b10e 23 /**************************************************************************//**
anhtran 0:e9fd5575b10e 24 * @file R_BSP_SpdifDef.h
anhtran 0:e9fd5575b10e 25 * @brief SPDIF defines
anhtran 0:e9fd5575b10e 26 ******************************************************************************/
anhtran 0:e9fd5575b10e 27
anhtran 0:e9fd5575b10e 28 #ifndef R_BSP_SPDIF_DEF_H
anhtran 0:e9fd5575b10e 29 #define R_BSP_SPDIF_DEF_H
anhtran 0:e9fd5575b10e 30
anhtran 0:e9fd5575b10e 31 /******************************************************************************
anhtran 0:e9fd5575b10e 32 Includes <System Includes> , "Project Includes"
anhtran 0:e9fd5575b10e 33 ******************************************************************************/
anhtran 0:e9fd5575b10e 34
anhtran 0:e9fd5575b10e 35 #ifdef __cplusplus
anhtran 0:e9fd5575b10e 36 extern "C"
anhtran 0:e9fd5575b10e 37 {
anhtran 0:e9fd5575b10e 38 #endif /* __cplusplus */
anhtran 0:e9fd5575b10e 39
anhtran 0:e9fd5575b10e 40 /******************************************************************************
anhtran 0:e9fd5575b10e 41 Defines
anhtran 0:e9fd5575b10e 42 *****************************************************************************/
anhtran 0:e9fd5575b10e 43
anhtran 0:e9fd5575b10e 44 /******************************************************************************
anhtran 0:e9fd5575b10e 45 Constant Macros
anhtran 0:e9fd5575b10e 46 *****************************************************************************/
anhtran 0:e9fd5575b10e 47 #define SPDIF_NUM_CHANS (1u) /**< Number of SPDIF channels */
anhtran 0:e9fd5575b10e 48
anhtran 0:e9fd5575b10e 49 /* ==== SPDIF Buffer ==== */
anhtran 0:e9fd5575b10e 50 #define SPDIF_NUMOF_FRM (192)
anhtran 0:e9fd5575b10e 51 #define SPDIF_NUMOF_CH (2)
anhtran 0:e9fd5575b10e 52 #define SPDIF_AUDIO_BUFFSIZE (SPDIF_NUMOF_FRM * SPDIF_NUMOF_CH)
anhtran 0:e9fd5575b10e 53 #define SPDIF_USER_BUFFSIZE ((SPDIF_NUMOF_FRM * SPDIF_NUMOF_CH) / 32)
anhtran 0:e9fd5575b10e 54
anhtran 0:e9fd5575b10e 55 /******************************************************************************
anhtran 0:e9fd5575b10e 56 Function Macros
anhtran 0:e9fd5575b10e 57 *****************************************************************************/
anhtran 0:e9fd5575b10e 58
anhtran 0:e9fd5575b10e 59 /******************************************************************************
anhtran 0:e9fd5575b10e 60 Enumerated Types
anhtran 0:e9fd5575b10e 61 *****************************************************************************/
anhtran 0:e9fd5575b10e 62 /** CTRL:CKS(Clock source for oversampling) */
anhtran 0:e9fd5575b10e 63 typedef enum
anhtran 0:e9fd5575b10e 64 {
anhtran 0:e9fd5575b10e 65 SPDIF_CFG_CKS_AUDIO_X1 = 0, /**< select AUDIO_X1 */
anhtran 0:e9fd5575b10e 66 SPDIF_CFG_CKS_AUDIO_CLK = 1 /**< select AUIDIO_CLK */
anhtran 0:e9fd5575b10e 67 } spdif_chcfg_cks_t;
anhtran 0:e9fd5575b10e 68
anhtran 0:e9fd5575b10e 69 /** CTRL:RASS,TASS(Audio bit length) */
anhtran 0:e9fd5575b10e 70 typedef enum
anhtran 0:e9fd5575b10e 71 {
anhtran 0:e9fd5575b10e 72 SPDIF_CFG_AUDIO_BIT_16 = 0, /**< Audio bit length 16 */
anhtran 0:e9fd5575b10e 73 SPDIF_CFG_AUDIO_BIT_20 = 1, /**< Audio bit length 20 */
anhtran 0:e9fd5575b10e 74 SPDIF_CFG_AUDIO_BIT_24 = 2 /**< Audio bit length 24 */
anhtran 0:e9fd5575b10e 75 } spdif_chcfg_audio_bit_t;
anhtran 0:e9fd5575b10e 76
anhtran 0:e9fd5575b10e 77 /******************************************************************************
anhtran 0:e9fd5575b10e 78 Structures
anhtran 0:e9fd5575b10e 79 *****************************************************************************/
anhtran 0:e9fd5575b10e 80
anhtran 0:e9fd5575b10e 81 /** This structure contains the configuration settings */
anhtran 0:e9fd5575b10e 82 typedef struct
anhtran 0:e9fd5575b10e 83 {
anhtran 0:e9fd5575b10e 84 bool enabled; /**< The enable flag for the channel */
anhtran 0:e9fd5575b10e 85 uint8_t int_level; /**< Interrupt priority for the channel */
anhtran 0:e9fd5575b10e 86 spdif_chcfg_cks_t clk_select; /**< CTRL-CKS : Audio clock select */
anhtran 0:e9fd5575b10e 87 spdif_chcfg_audio_bit_t audio_bit_tx; /**< CTRL-TASS : Audio bit length */
anhtran 0:e9fd5575b10e 88 spdif_chcfg_audio_bit_t audio_bit_rx; /**< CTRL-RASS : Audio bit length */
anhtran 0:e9fd5575b10e 89 bool tx_u_data_enabled; /**< CTRL-RASS : Audio bit length */
anhtran 0:e9fd5575b10e 90 } spdif_channel_cfg_t;
anhtran 0:e9fd5575b10e 91
anhtran 0:e9fd5575b10e 92 typedef struct
anhtran 0:e9fd5575b10e 93 {
anhtran 0:e9fd5575b10e 94 uint32_t Lch; /**< Channel Status bit Lch */
anhtran 0:e9fd5575b10e 95 uint32_t Rch; /**< Channel Status bit Rch */
anhtran 0:e9fd5575b10e 96 } spdif_channel_status_t;
anhtran 0:e9fd5575b10e 97
anhtran 0:e9fd5575b10e 98 typedef struct
anhtran 0:e9fd5575b10e 99 {
anhtran 0:e9fd5575b10e 100 uint32_t a_buff[SPDIF_AUDIO_BUFFSIZE]; /**< Audio Buffer */
anhtran 0:e9fd5575b10e 101 uint32_t u_buff[SPDIF_USER_BUFFSIZE]; /**< User Buffer */
anhtran 0:e9fd5575b10e 102 uint32_t s_buff[SPDIF_NUMOF_CH]; /**< Channel Status Buffer */
anhtran 0:e9fd5575b10e 103 } spdif_t;
anhtran 0:e9fd5575b10e 104
anhtran 0:e9fd5575b10e 105 /******************************************************************************
anhtran 0:e9fd5575b10e 106 IOCTLS
anhtran 0:e9fd5575b10e 107 *****************************************************************************/
anhtran 0:e9fd5575b10e 108
anhtran 0:e9fd5575b10e 109 #define SPDIF_CONFIG_CHANNEL (0)
anhtran 0:e9fd5575b10e 110 #define SPDIF_SET_CHANNEL_STATUS (1)
anhtran 0:e9fd5575b10e 111 #define SPDIF_GET_CHANNEL_STATUS (2)
anhtran 0:e9fd5575b10e 112 #define SPDIF_SET_TRANS_AUDIO_BIT (3)
anhtran 0:e9fd5575b10e 113 #define SPDIF_SET_RECV_AUDIO_BIT (4)
anhtran 0:e9fd5575b10e 114
anhtran 0:e9fd5575b10e 115 #ifdef __cplusplus
anhtran 0:e9fd5575b10e 116 }
anhtran 0:e9fd5575b10e 117 #endif /* __cplusplus */
anhtran 0:e9fd5575b10e 118
anhtran 0:e9fd5575b10e 119 #endif /* R_BSP_SPDIF_DEF_H */