5646 lines
241 KiB
C
5646 lines
241 KiB
C
/*
|
|
* Copyright (c) 2012, Freescale Semiconductor, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED
|
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
|
* SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
|
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
|
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
|
* OF SUCH DAMAGE.
|
|
*/
|
|
/*
|
|
* WARNING! DO NOT EDIT THIS FILE DIRECTLY!
|
|
*
|
|
* This file was generated automatically and any changes may be lost.
|
|
*/
|
|
#ifndef __HW_ASRC_REGISTERS_H__
|
|
#define __HW_ASRC_REGISTERS_H__
|
|
|
|
#include "regs.h"
|
|
|
|
/*
|
|
* i.MX6DQ ASRC
|
|
*
|
|
* ASRC Registers
|
|
*
|
|
* Registers defined in this header file:
|
|
* - HW_ASRC_ASRCTR - ASRC Control Register
|
|
* - HW_ASRC_ASRIER - ASRC Interrupt Enable Register
|
|
* - HW_ASRC_ASRCNCR - ASRC Channel Number Configuration Register
|
|
* - HW_ASRC_ASRCFG - ASRC Filter Configuration Status Register
|
|
* - HW_ASRC_ASRCSR - ASRC Clock Source Register
|
|
* - HW_ASRC_ASRCDR1 - ASRC Clock Divider Register 1
|
|
* - HW_ASRC_ASRCDR2 - ASRC Clock Divider Register 2
|
|
* - HW_ASRC_ASRSTR - ASRC Status Register
|
|
* - HW_ASRC_ASRPMN1 - ASRC Parameter Register n
|
|
* - HW_ASRC_ASRPMN2 - ASRC Parameter Register n
|
|
* - HW_ASRC_ASRPMN3 - ASRC Parameter Register n
|
|
* - HW_ASRC_ASRPMN4 - ASRC Parameter Register n
|
|
* - HW_ASRC_ASRPMN5 - ASRC Parameter Register n
|
|
* - HW_ASRC_ASRTFR1 - ASRC ASRC Task Queue FIFO Register 1
|
|
* - HW_ASRC_ASRCCR - ASRC Channel Counter Register
|
|
* - HW_ASRC_ASRDIA - ASRC Data Input Register for Pair x
|
|
* - HW_ASRC_ASRDOA - ASRC Data Output Register for Pair x
|
|
* - HW_ASRC_ASRDIB - ASRC Data Input Register for Pair x
|
|
* - HW_ASRC_ASRDOB - ASRC Data Output Register for Pair x
|
|
* - HW_ASRC_ASRDIC - ASRC Data Input Register for Pair x
|
|
* - HW_ASRC_ASRDOC - ASRC Data Output Register for Pair x
|
|
* - HW_ASRC_ASRIDRHA - ASRC Ideal Ratio for Pair A-High Part
|
|
* - HW_ASRC_ASRIDRLA - ASRC Ideal Ratio for Pair A -Low Part
|
|
* - HW_ASRC_ASRIDRHB - ASRC Ideal Ratio for Pair B-High Part
|
|
* - HW_ASRC_ASRIDRLB - ASRC Ideal Ratio for Pair B-Low Part
|
|
* - HW_ASRC_ASRIDRHC - ASRC Ideal Ratio for Pair C-High Part
|
|
* - HW_ASRC_ASRIDRLC - ASRC Ideal Ratio for Pair C-Low Part
|
|
* - HW_ASRC_ASR76K - ASRC 76kHz Period in terms of ASRC processing clock
|
|
* - HW_ASRC_ASR56K - ASRC 56kHz Period in terms of ASRC processing clock
|
|
* - HW_ASRC_ASRMCRA - ASRC Misc Control Register for Pair A
|
|
* - HW_ASRC_ASRFSTA - ASRC FIFO Status Register for Pair A
|
|
* - HW_ASRC_ASRMCRB - ASRC Misc Control Register for Pair B
|
|
* - HW_ASRC_ASRFSTB - ASRC FIFO Status Register for Pair B
|
|
* - HW_ASRC_ASRMCRC - ASRC Misc Control Register for Pair C
|
|
* - HW_ASRC_ASRFSTC - ASRC FIFO Status Register for Pair C
|
|
* - HW_ASRC_ASRMCR1A - ASRC Misc Control Register 1 for Pair X
|
|
* - HW_ASRC_ASRMCR1B - ASRC Misc Control Register 1 for Pair X
|
|
* - HW_ASRC_ASRMCR1C - ASRC Misc Control Register 1 for Pair X
|
|
*
|
|
* - hw_asrc_t - Struct containing all module registers.
|
|
*/
|
|
|
|
//! @name Module base addresses
|
|
//@{
|
|
#ifndef REGS_ASRC_BASE
|
|
#define HW_ASRC_INSTANCE_COUNT (1) //!< Number of instances of the ASRC module.
|
|
#define REGS_ASRC_BASE (0x02034000) //!< Base address for ASRC.
|
|
#endif
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRCTR - ASRC Control Register
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRCTR - ASRC Control Register (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC control register (ASRCTR) is a 24-bit read/write register that controls the ASRC
|
|
* operations.
|
|
*/
|
|
typedef union _hw_asrc_asrctr
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrctr_bitfields
|
|
{
|
|
unsigned ASRCEN : 1; //!< [0] ASRC Enable
|
|
unsigned ASREA : 1; //!< [1] ASRC Enable A
|
|
unsigned ASREB : 1; //!< [2] ASRC Enable B
|
|
unsigned ASREC : 1; //!< [3] ASRC Enable C
|
|
unsigned SRST : 1; //!< [4] Software Reset
|
|
unsigned RESERVED0 : 8; //!< [12:5] Reserved.
|
|
unsigned IDRA : 1; //!< [13] Use Ideal Ratio for Pair A
|
|
unsigned USRA : 1; //!< [14] Use Ratio for Pair A
|
|
unsigned IDRB : 1; //!< [15] Use Ideal Ratio for Pair B
|
|
unsigned USRB : 1; //!< [16] Use Ratio for Pair B
|
|
unsigned IDRC : 1; //!< [17] Use Ideal Ratio for Pair C
|
|
unsigned USRC : 1; //!< [18] Use Ratio for Pair C
|
|
unsigned RESERVED1 : 1; //!< [19] Reserved.
|
|
unsigned ATSA : 1; //!< [20] ASRC Pair A Automatic Selection For Processing Options
|
|
unsigned ATSB : 1; //!< [21] ASRC Pair B Automatic Selection For Processing Options
|
|
unsigned ATSC : 1; //!< [22] ASRC Pair C Automatic Selection For Processing Options
|
|
unsigned RESERVED2 : 1; //!< [23] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrctr_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRCTR register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRCTR_ADDR (REGS_ASRC_BASE + 0x0)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRCTR (*(volatile hw_asrc_asrctr_t *) HW_ASRC_ASRCTR_ADDR)
|
|
#define HW_ASRC_ASRCTR_RD() (HW_ASRC_ASRCTR.U)
|
|
#define HW_ASRC_ASRCTR_WR(v) (HW_ASRC_ASRCTR.U = (v))
|
|
#define HW_ASRC_ASRCTR_SET(v) (HW_ASRC_ASRCTR_WR(HW_ASRC_ASRCTR_RD() | (v)))
|
|
#define HW_ASRC_ASRCTR_CLR(v) (HW_ASRC_ASRCTR_WR(HW_ASRC_ASRCTR_RD() & ~(v)))
|
|
#define HW_ASRC_ASRCTR_TOG(v) (HW_ASRC_ASRCTR_WR(HW_ASRC_ASRCTR_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRCTR bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRCTR, field ASRCEN[0] (RW)
|
|
*
|
|
* ASRC Enable Enable the operation of ASRC.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_ASRCEN (0) //!< Bit position for ASRC_ASRCTR_ASRCEN.
|
|
#define BM_ASRC_ASRCTR_ASRCEN (0x00000001) //!< Bit mask for ASRC_ASRCTR_ASRCEN.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_ASRCEN from a register value.
|
|
#define BG_ASRC_ASRCTR_ASRCEN(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_ASRCEN) >> BP_ASRC_ASRCTR_ASRCEN)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_ASRCEN.
|
|
#define BF_ASRC_ASRCTR_ASRCEN(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_ASRCEN) & BM_ASRC_ASRCTR_ASRCEN)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ASRCEN field to a new value.
|
|
#define BW_ASRC_ASRCTR_ASRCEN(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_ASRCEN) | BF_ASRC_ASRCTR_ASRCEN(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field ASREA[1] (RW)
|
|
*
|
|
* ASRC Enable A Enable the operation of the conversion A of ASRC. When ASREA is cleared, operation
|
|
* of conversion A is disabled.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_ASREA (1) //!< Bit position for ASRC_ASRCTR_ASREA.
|
|
#define BM_ASRC_ASRCTR_ASREA (0x00000002) //!< Bit mask for ASRC_ASRCTR_ASREA.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_ASREA from a register value.
|
|
#define BG_ASRC_ASRCTR_ASREA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_ASREA) >> BP_ASRC_ASRCTR_ASREA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_ASREA.
|
|
#define BF_ASRC_ASRCTR_ASREA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_ASREA) & BM_ASRC_ASRCTR_ASREA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ASREA field to a new value.
|
|
#define BW_ASRC_ASRCTR_ASREA(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_ASREA) | BF_ASRC_ASRCTR_ASREA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field ASREB[2] (RW)
|
|
*
|
|
* ASRC Enable B Enable the operation of the conversion B of ASRC. When ASREB is cleared, operation
|
|
* of conversion B is disabled.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_ASREB (2) //!< Bit position for ASRC_ASRCTR_ASREB.
|
|
#define BM_ASRC_ASRCTR_ASREB (0x00000004) //!< Bit mask for ASRC_ASRCTR_ASREB.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_ASREB from a register value.
|
|
#define BG_ASRC_ASRCTR_ASREB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_ASREB) >> BP_ASRC_ASRCTR_ASREB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_ASREB.
|
|
#define BF_ASRC_ASRCTR_ASREB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_ASREB) & BM_ASRC_ASRCTR_ASREB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ASREB field to a new value.
|
|
#define BW_ASRC_ASRCTR_ASREB(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_ASREB) | BF_ASRC_ASRCTR_ASREB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field ASREC[3] (RW)
|
|
*
|
|
* ASRC Enable C Enable the operation of the conversion C of ASRC. When ASREC is cleared, operation
|
|
* of conversion C is disabled.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_ASREC (3) //!< Bit position for ASRC_ASRCTR_ASREC.
|
|
#define BM_ASRC_ASRCTR_ASREC (0x00000008) //!< Bit mask for ASRC_ASRCTR_ASREC.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_ASREC from a register value.
|
|
#define BG_ASRC_ASRCTR_ASREC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_ASREC) >> BP_ASRC_ASRCTR_ASREC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_ASREC.
|
|
#define BF_ASRC_ASRCTR_ASREC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_ASREC) & BM_ASRC_ASRCTR_ASREC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ASREC field to a new value.
|
|
#define BW_ASRC_ASRCTR_ASREC(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_ASREC) | BF_ASRC_ASRCTR_ASREC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field SRST[4] (WO)
|
|
*
|
|
* Software Reset This bit is self-clear bit. Once it is been written as 1, it will generate a
|
|
* software reset signal inside ASRC. After 9 cycles of the ASRC processing clock, this reset
|
|
* process will stop, and this bit will be cleared automatically.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_SRST (4) //!< Bit position for ASRC_ASRCTR_SRST.
|
|
#define BM_ASRC_ASRCTR_SRST (0x00000010) //!< Bit mask for ASRC_ASRCTR_SRST.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_SRST from a register value.
|
|
#define BG_ASRC_ASRCTR_SRST(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_SRST) >> BP_ASRC_ASRCTR_SRST)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_SRST.
|
|
#define BF_ASRC_ASRCTR_SRST(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_SRST) & BM_ASRC_ASRCTR_SRST)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field IDRA[13] (RW)
|
|
*
|
|
* Use Ideal Ratio for Pair A When USRA=0, this bit has no usage. When USRA=1 and IDRA=0, ASRC
|
|
* internal measured ratio will be used. When USRA=1 and IDRA=1, the idea ratio from the interface
|
|
* register ASRIDRHA, ASRIDRLA will be used. It is suggested to manually set ASRCFG:POSTMODA,
|
|
* ASRCFG:PREMODA according to in this case.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_IDRA (13) //!< Bit position for ASRC_ASRCTR_IDRA.
|
|
#define BM_ASRC_ASRCTR_IDRA (0x00002000) //!< Bit mask for ASRC_ASRCTR_IDRA.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_IDRA from a register value.
|
|
#define BG_ASRC_ASRCTR_IDRA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_IDRA) >> BP_ASRC_ASRCTR_IDRA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_IDRA.
|
|
#define BF_ASRC_ASRCTR_IDRA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_IDRA) & BM_ASRC_ASRCTR_IDRA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRA field to a new value.
|
|
#define BW_ASRC_ASRCTR_IDRA(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_IDRA) | BF_ASRC_ASRCTR_IDRA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field USRA[14] (RW)
|
|
*
|
|
* Use Ratio for Pair A Use ratio as the input to ASRC. This bit is used in conjunction with IDRA
|
|
* control bit.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_USRA (14) //!< Bit position for ASRC_ASRCTR_USRA.
|
|
#define BM_ASRC_ASRCTR_USRA (0x00004000) //!< Bit mask for ASRC_ASRCTR_USRA.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_USRA from a register value.
|
|
#define BG_ASRC_ASRCTR_USRA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_USRA) >> BP_ASRC_ASRCTR_USRA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_USRA.
|
|
#define BF_ASRC_ASRCTR_USRA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_USRA) & BM_ASRC_ASRCTR_USRA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the USRA field to a new value.
|
|
#define BW_ASRC_ASRCTR_USRA(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_USRA) | BF_ASRC_ASRCTR_USRA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field IDRB[15] (RW)
|
|
*
|
|
* Use Ideal Ratio for Pair B When USRB=0, this bit has no usage. When USRB=1 and IDRB=0, ASRC
|
|
* internal measured ratio will be used. When USRB=1 and IDRB=1, the idea ratio from the interface
|
|
* register ASRIDRHB, ASRIDRLB will be used.It is suggested to manually set ASRCFG:POSTMODB,
|
|
* ASRCFG:PREMODB according to in this case.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_IDRB (15) //!< Bit position for ASRC_ASRCTR_IDRB.
|
|
#define BM_ASRC_ASRCTR_IDRB (0x00008000) //!< Bit mask for ASRC_ASRCTR_IDRB.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_IDRB from a register value.
|
|
#define BG_ASRC_ASRCTR_IDRB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_IDRB) >> BP_ASRC_ASRCTR_IDRB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_IDRB.
|
|
#define BF_ASRC_ASRCTR_IDRB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_IDRB) & BM_ASRC_ASRCTR_IDRB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRB field to a new value.
|
|
#define BW_ASRC_ASRCTR_IDRB(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_IDRB) | BF_ASRC_ASRCTR_IDRB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field USRB[16] (RW)
|
|
*
|
|
* Use Ratio for Pair B Use ratio as the input to ASRC. This bit is used in conjunction with IDRB
|
|
* control bit.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_USRB (16) //!< Bit position for ASRC_ASRCTR_USRB.
|
|
#define BM_ASRC_ASRCTR_USRB (0x00010000) //!< Bit mask for ASRC_ASRCTR_USRB.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_USRB from a register value.
|
|
#define BG_ASRC_ASRCTR_USRB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_USRB) >> BP_ASRC_ASRCTR_USRB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_USRB.
|
|
#define BF_ASRC_ASRCTR_USRB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_USRB) & BM_ASRC_ASRCTR_USRB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the USRB field to a new value.
|
|
#define BW_ASRC_ASRCTR_USRB(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_USRB) | BF_ASRC_ASRCTR_USRB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field IDRC[17] (RW)
|
|
*
|
|
* Use Ideal Ratio for Pair C When USRC=0, this bit has no usage. When USRC=1 and IDRC=0, ASRC
|
|
* internal measured ratio will be used. When USRC=1 and IDRC=1, the idea ratio from the interface
|
|
* register ASRIDRHC, ASRIDRLC will be used. It is suggested to manually set ASRCFG:POSTMODC,
|
|
* ASRCFG:PREMODC according to in this case.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_IDRC (17) //!< Bit position for ASRC_ASRCTR_IDRC.
|
|
#define BM_ASRC_ASRCTR_IDRC (0x00020000) //!< Bit mask for ASRC_ASRCTR_IDRC.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_IDRC from a register value.
|
|
#define BG_ASRC_ASRCTR_IDRC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_IDRC) >> BP_ASRC_ASRCTR_IDRC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_IDRC.
|
|
#define BF_ASRC_ASRCTR_IDRC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_IDRC) & BM_ASRC_ASRCTR_IDRC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRC field to a new value.
|
|
#define BW_ASRC_ASRCTR_IDRC(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_IDRC) | BF_ASRC_ASRCTR_IDRC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field USRC[18] (RW)
|
|
*
|
|
* Use Ratio for Pair C Use ratio as the input to ASRC. This bit is used in conjunction with IDRC
|
|
* control bit.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_USRC (18) //!< Bit position for ASRC_ASRCTR_USRC.
|
|
#define BM_ASRC_ASRCTR_USRC (0x00040000) //!< Bit mask for ASRC_ASRCTR_USRC.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_USRC from a register value.
|
|
#define BG_ASRC_ASRCTR_USRC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_USRC) >> BP_ASRC_ASRCTR_USRC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_USRC.
|
|
#define BF_ASRC_ASRCTR_USRC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_USRC) & BM_ASRC_ASRCTR_USRC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the USRC field to a new value.
|
|
#define BW_ASRC_ASRCTR_USRC(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_USRC) | BF_ASRC_ASRCTR_USRC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field ATSA[20] (RW)
|
|
*
|
|
* ASRC Pair A Automatic Selection For Processing Options When this bit is 1, pair A will automatic
|
|
* update its pre-processing and post-processing options (ASRCFG: PREMODA, ASRCFG:POSTMODA see ASRC
|
|
* Misc Control Register 1 for Pair C ) based on the frequencies it detected. To use this option,
|
|
* the two parameter registers(ASR76K and ASR56K) should be set correctly (see ASRC Misc Control
|
|
* Register 1 for Pair C and ASRC Misc Control Register 1 for Pair C ). When this bit is 0, the user
|
|
* is responsible for choosing the proper processing options for pair A. This bit should be disabled
|
|
* when {USRA, IDRA}={1,1}.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_ATSA (20) //!< Bit position for ASRC_ASRCTR_ATSA.
|
|
#define BM_ASRC_ASRCTR_ATSA (0x00100000) //!< Bit mask for ASRC_ASRCTR_ATSA.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_ATSA from a register value.
|
|
#define BG_ASRC_ASRCTR_ATSA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_ATSA) >> BP_ASRC_ASRCTR_ATSA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_ATSA.
|
|
#define BF_ASRC_ASRCTR_ATSA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_ATSA) & BM_ASRC_ASRCTR_ATSA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ATSA field to a new value.
|
|
#define BW_ASRC_ASRCTR_ATSA(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_ATSA) | BF_ASRC_ASRCTR_ATSA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field ATSB[21] (RW)
|
|
*
|
|
* ASRC Pair B Automatic Selection For Processing Options When this bit is 1, pair B will automatic
|
|
* update its pre-processing and post-processing options (ASRCFG: PREMODB, ASRCFG:POSTMODB see ASRC
|
|
* Misc Control Register 1 for Pair C ) based on the frequencies it detected. To use this option,
|
|
* the two parameter registers(ASR76K and ASR56K) should be set correctly (see ASRC Misc Control
|
|
* Register 1 for Pair C and ASRC Misc Control Register 1 for Pair C ). When this bit is 0, the user
|
|
* is responsible for choosing the proper processing options for pair B. This bit should be disabled
|
|
* when {USRB, IDRB}={1,1}.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_ATSB (21) //!< Bit position for ASRC_ASRCTR_ATSB.
|
|
#define BM_ASRC_ASRCTR_ATSB (0x00200000) //!< Bit mask for ASRC_ASRCTR_ATSB.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_ATSB from a register value.
|
|
#define BG_ASRC_ASRCTR_ATSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_ATSB) >> BP_ASRC_ASRCTR_ATSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_ATSB.
|
|
#define BF_ASRC_ASRCTR_ATSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_ATSB) & BM_ASRC_ASRCTR_ATSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ATSB field to a new value.
|
|
#define BW_ASRC_ASRCTR_ATSB(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_ATSB) | BF_ASRC_ASRCTR_ATSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field ATSC[22] (RW)
|
|
*
|
|
* ASRC Pair C Automatic Selection For Processing Options When this bit is 1, pair C will automatic
|
|
* update its pre-processing and post-processing options (ASRCFG: PREMODC, ASRCFG:POSTMODC see ASRC
|
|
* Misc Control Register 1 for Pair C ) based on the frequencies it detected. To use this option,
|
|
* the two parameter registers(ASR76K and ASR56K) should be set correctly (see ASRC Misc Control
|
|
* Register 1 for Pair C and ASRC Misc Control Register 1 for Pair C ). When this bit is 0, the user
|
|
* is responsible for choosing the proper processing options for pair C. This bit should be disabled
|
|
* when {USRC, IDRC}={1,1}.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_ATSC (22) //!< Bit position for ASRC_ASRCTR_ATSC.
|
|
#define BM_ASRC_ASRCTR_ATSC (0x00400000) //!< Bit mask for ASRC_ASRCTR_ATSC.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_ATSC from a register value.
|
|
#define BG_ASRC_ASRCTR_ATSC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_ATSC) >> BP_ASRC_ASRCTR_ATSC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCTR_ATSC.
|
|
#define BF_ASRC_ASRCTR_ATSC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCTR_ATSC) & BM_ASRC_ASRCTR_ATSC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ATSC field to a new value.
|
|
#define BW_ASRC_ASRCTR_ATSC(v) (HW_ASRC_ASRCTR_WR((HW_ASRC_ASRCTR_RD() & ~BM_ASRC_ASRCTR_ATSC) | BF_ASRC_ASRCTR_ATSC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCTR, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCTR_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRCTR_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRCTR_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRCTR_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRCTR_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRCTR_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCTR_UNIMPLEMENTED) >> BP_ASRC_ASRCTR_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRIER - ASRC Interrupt Enable Register
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRIER - ASRC Interrupt Enable Register (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*/
|
|
typedef union _hw_asrc_asrier
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrier_bitfields
|
|
{
|
|
unsigned ADIEA : 1; //!< [0] Data Input A Interrupt Enable
|
|
unsigned ADIEB : 1; //!< [1] Data Input B Interrupt Enable
|
|
unsigned ADIEC : 1; //!< [2] Data Input C Interrupt Enable
|
|
unsigned ADOEA : 1; //!< [3] Data Output A Interrupt Enable
|
|
unsigned ADOEB : 1; //!< [4] Data Output B Interrupt Enable
|
|
unsigned ADOEC : 1; //!< [5] Data Output C Interrupt Enable
|
|
unsigned AOLIE : 1; //!< [6] Overload Interrupt Enable
|
|
unsigned AFPWE : 1; //!< [7] FP in Wait State Interrupt Enable
|
|
unsigned RESERVED0 : 16; //!< [23:8] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrier_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRIER register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRIER_ADDR (REGS_ASRC_BASE + 0x4)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRIER (*(volatile hw_asrc_asrier_t *) HW_ASRC_ASRIER_ADDR)
|
|
#define HW_ASRC_ASRIER_RD() (HW_ASRC_ASRIER.U)
|
|
#define HW_ASRC_ASRIER_WR(v) (HW_ASRC_ASRIER.U = (v))
|
|
#define HW_ASRC_ASRIER_SET(v) (HW_ASRC_ASRIER_WR(HW_ASRC_ASRIER_RD() | (v)))
|
|
#define HW_ASRC_ASRIER_CLR(v) (HW_ASRC_ASRIER_WR(HW_ASRC_ASRIER_RD() & ~(v)))
|
|
#define HW_ASRC_ASRIER_TOG(v) (HW_ASRC_ASRIER_WR(HW_ASRC_ASRIER_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRIER bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRIER, field ADIEA[0] (RW)
|
|
*
|
|
* Data Input A Interrupt Enable Enables the data input A Interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_ADIEA (0) //!< Bit position for ASRC_ASRIER_ADIEA.
|
|
#define BM_ASRC_ASRIER_ADIEA (0x00000001) //!< Bit mask for ASRC_ASRIER_ADIEA.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_ADIEA from a register value.
|
|
#define BG_ASRC_ASRIER_ADIEA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_ADIEA) >> BP_ASRC_ASRIER_ADIEA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_ADIEA.
|
|
#define BF_ASRC_ASRIER_ADIEA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_ADIEA) & BM_ASRC_ASRIER_ADIEA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ADIEA field to a new value.
|
|
#define BW_ASRC_ASRIER_ADIEA(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_ADIEA) | BF_ASRC_ASRIER_ADIEA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field ADIEB[1] (RW)
|
|
*
|
|
* Data Input B Interrupt Enable Enables the data input B interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_ADIEB (1) //!< Bit position for ASRC_ASRIER_ADIEB.
|
|
#define BM_ASRC_ASRIER_ADIEB (0x00000002) //!< Bit mask for ASRC_ASRIER_ADIEB.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_ADIEB from a register value.
|
|
#define BG_ASRC_ASRIER_ADIEB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_ADIEB) >> BP_ASRC_ASRIER_ADIEB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_ADIEB.
|
|
#define BF_ASRC_ASRIER_ADIEB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_ADIEB) & BM_ASRC_ASRIER_ADIEB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ADIEB field to a new value.
|
|
#define BW_ASRC_ASRIER_ADIEB(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_ADIEB) | BF_ASRC_ASRIER_ADIEB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field ADIEC[2] (RW)
|
|
*
|
|
* Data Input C Interrupt Enable Enables the data input C interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_ADIEC (2) //!< Bit position for ASRC_ASRIER_ADIEC.
|
|
#define BM_ASRC_ASRIER_ADIEC (0x00000004) //!< Bit mask for ASRC_ASRIER_ADIEC.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_ADIEC from a register value.
|
|
#define BG_ASRC_ASRIER_ADIEC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_ADIEC) >> BP_ASRC_ASRIER_ADIEC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_ADIEC.
|
|
#define BF_ASRC_ASRIER_ADIEC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_ADIEC) & BM_ASRC_ASRIER_ADIEC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ADIEC field to a new value.
|
|
#define BW_ASRC_ASRIER_ADIEC(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_ADIEC) | BF_ASRC_ASRIER_ADIEC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field ADOEA[3] (RW)
|
|
*
|
|
* Data Output A Interrupt Enable Enables the data output A interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_ADOEA (3) //!< Bit position for ASRC_ASRIER_ADOEA.
|
|
#define BM_ASRC_ASRIER_ADOEA (0x00000008) //!< Bit mask for ASRC_ASRIER_ADOEA.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_ADOEA from a register value.
|
|
#define BG_ASRC_ASRIER_ADOEA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_ADOEA) >> BP_ASRC_ASRIER_ADOEA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_ADOEA.
|
|
#define BF_ASRC_ASRIER_ADOEA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_ADOEA) & BM_ASRC_ASRIER_ADOEA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ADOEA field to a new value.
|
|
#define BW_ASRC_ASRIER_ADOEA(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_ADOEA) | BF_ASRC_ASRIER_ADOEA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field ADOEB[4] (RW)
|
|
*
|
|
* Data Output B Interrupt Enable Enables the data output B interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_ADOEB (4) //!< Bit position for ASRC_ASRIER_ADOEB.
|
|
#define BM_ASRC_ASRIER_ADOEB (0x00000010) //!< Bit mask for ASRC_ASRIER_ADOEB.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_ADOEB from a register value.
|
|
#define BG_ASRC_ASRIER_ADOEB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_ADOEB) >> BP_ASRC_ASRIER_ADOEB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_ADOEB.
|
|
#define BF_ASRC_ASRIER_ADOEB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_ADOEB) & BM_ASRC_ASRIER_ADOEB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ADOEB field to a new value.
|
|
#define BW_ASRC_ASRIER_ADOEB(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_ADOEB) | BF_ASRC_ASRIER_ADOEB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field ADOEC[5] (RW)
|
|
*
|
|
* Data Output C Interrupt Enable Enables the data output C interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_ADOEC (5) //!< Bit position for ASRC_ASRIER_ADOEC.
|
|
#define BM_ASRC_ASRIER_ADOEC (0x00000020) //!< Bit mask for ASRC_ASRIER_ADOEC.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_ADOEC from a register value.
|
|
#define BG_ASRC_ASRIER_ADOEC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_ADOEC) >> BP_ASRC_ASRIER_ADOEC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_ADOEC.
|
|
#define BF_ASRC_ASRIER_ADOEC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_ADOEC) & BM_ASRC_ASRIER_ADOEC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ADOEC field to a new value.
|
|
#define BW_ASRC_ASRIER_ADOEC(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_ADOEC) | BF_ASRC_ASRIER_ADOEC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field AOLIE[6] (RW)
|
|
*
|
|
* Overload Interrupt Enable Enables the overload interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_AOLIE (6) //!< Bit position for ASRC_ASRIER_AOLIE.
|
|
#define BM_ASRC_ASRIER_AOLIE (0x00000040) //!< Bit mask for ASRC_ASRIER_AOLIE.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_AOLIE from a register value.
|
|
#define BG_ASRC_ASRIER_AOLIE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_AOLIE) >> BP_ASRC_ASRIER_AOLIE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_AOLIE.
|
|
#define BF_ASRC_ASRIER_AOLIE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_AOLIE) & BM_ASRC_ASRIER_AOLIE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOLIE field to a new value.
|
|
#define BW_ASRC_ASRIER_AOLIE(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_AOLIE) | BF_ASRC_ASRIER_AOLIE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field AFPWE[7] (RW)
|
|
*
|
|
* FP in Wait State Interrupt Enable Enables the FP in wait state interrupt.
|
|
*
|
|
* Values:
|
|
* - 0 - interrupt disabled
|
|
* - 1 - interrupt enabled
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_AFPWE (7) //!< Bit position for ASRC_ASRIER_AFPWE.
|
|
#define BM_ASRC_ASRIER_AFPWE (0x00000080) //!< Bit mask for ASRC_ASRIER_AFPWE.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_AFPWE from a register value.
|
|
#define BG_ASRC_ASRIER_AFPWE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_AFPWE) >> BP_ASRC_ASRIER_AFPWE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIER_AFPWE.
|
|
#define BF_ASRC_ASRIER_AFPWE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIER_AFPWE) & BM_ASRC_ASRIER_AFPWE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AFPWE field to a new value.
|
|
#define BW_ASRC_ASRIER_AFPWE(v) (HW_ASRC_ASRIER_WR((HW_ASRC_ASRIER_RD() & ~BM_ASRC_ASRIER_AFPWE) | BF_ASRC_ASRIER_AFPWE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIER, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIER_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRIER_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRIER_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRIER_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRIER_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRIER_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIER_UNIMPLEMENTED) >> BP_ASRC_ASRIER_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRCNCR - ASRC Channel Number Configuration Register
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRCNCR - ASRC Channel Number Configuration Register (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC channel number configuration register (ASRCNCR) is a 24-bit read/write register that
|
|
* sets the number of channels used by each ASRC conversion pair. There are 10 channels available
|
|
* for distribution among 3 conversion pairs, they are ordered as 0,1,...,9. The bottom [0, ANCA-1]
|
|
* channels are used for pair A, the top [10-ANCC, 9] channels are used for pair C, and the [ANCA,
|
|
* ANCA+ANCB-1] channels are allocated for pair B. In case that ANCA=0, then the [0, ANCB-1]
|
|
* channels are assigned for pair B.
|
|
*/
|
|
typedef union _hw_asrc_asrcncr
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrcncr_bitfields
|
|
{
|
|
unsigned ANCA : 4; //!< [3:0] Number of A Channels
|
|
unsigned ANCB : 4; //!< [7:4] Number of B Channels
|
|
unsigned ANCC : 4; //!< [11:8] Number of C Channels ANCC+ANCB+ANCA<=10.
|
|
unsigned RESERVED0 : 12; //!< [23:12] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrcncr_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRCNCR register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRCNCR_ADDR (REGS_ASRC_BASE + 0xc)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRCNCR (*(volatile hw_asrc_asrcncr_t *) HW_ASRC_ASRCNCR_ADDR)
|
|
#define HW_ASRC_ASRCNCR_RD() (HW_ASRC_ASRCNCR.U)
|
|
#define HW_ASRC_ASRCNCR_WR(v) (HW_ASRC_ASRCNCR.U = (v))
|
|
#define HW_ASRC_ASRCNCR_SET(v) (HW_ASRC_ASRCNCR_WR(HW_ASRC_ASRCNCR_RD() | (v)))
|
|
#define HW_ASRC_ASRCNCR_CLR(v) (HW_ASRC_ASRCNCR_WR(HW_ASRC_ASRCNCR_RD() & ~(v)))
|
|
#define HW_ASRC_ASRCNCR_TOG(v) (HW_ASRC_ASRCNCR_WR(HW_ASRC_ASRCNCR_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRCNCR bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRCNCR, field ANCA[3:0] (RW)
|
|
*
|
|
* Number of A Channels
|
|
*
|
|
* Values:
|
|
* - 0000 - 0 channels in A (Pair A is disabled)
|
|
* - 0001 - 1 channel in A
|
|
* - 0010 - 2 channels in A
|
|
* - 0011 - 3 channels in A
|
|
* - 0100 - 4 channels in A
|
|
* - 0101 - 5 channels in A
|
|
* - 0110 - 6 channels in A
|
|
* - 0111 - 7 channels in A
|
|
* - 1000 - 8 channels in A
|
|
* - 1001 - 9 channels in A
|
|
* - 1010 - 10 channels in A
|
|
* - 1011-1111 - Should not be used.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCNCR_ANCA (0) //!< Bit position for ASRC_ASRCNCR_ANCA.
|
|
#define BM_ASRC_ASRCNCR_ANCA (0x0000000f) //!< Bit mask for ASRC_ASRCNCR_ANCA.
|
|
|
|
//! @brief Get value of ASRC_ASRCNCR_ANCA from a register value.
|
|
#define BG_ASRC_ASRCNCR_ANCA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCNCR_ANCA) >> BP_ASRC_ASRCNCR_ANCA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCNCR_ANCA.
|
|
#define BF_ASRC_ASRCNCR_ANCA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCNCR_ANCA) & BM_ASRC_ASRCNCR_ANCA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ANCA field to a new value.
|
|
#define BW_ASRC_ASRCNCR_ANCA(v) (HW_ASRC_ASRCNCR_WR((HW_ASRC_ASRCNCR_RD() & ~BM_ASRC_ASRCNCR_ANCA) | BF_ASRC_ASRCNCR_ANCA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCNCR, field ANCB[7:4] (RW)
|
|
*
|
|
* Number of B Channels
|
|
*
|
|
* Values:
|
|
* - 0000 - 0 channels in B (Pair B is disabled)
|
|
* - 0001 - 1 channel in B
|
|
* - 0010 - 2 channels in B
|
|
* - 0011 - 3 channels in B
|
|
* - 0100 - 4 channels in B
|
|
* - 0101 - 5 channels in B
|
|
* - 0110 - 6 channels in B
|
|
* - 0111 - 7 channels in B
|
|
* - 1000 - 8 channels in B
|
|
* - 1001 - 9 channels in B
|
|
* - 1010 - 10 channels in B
|
|
* - 1011-1111 - Should not be used.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCNCR_ANCB (4) //!< Bit position for ASRC_ASRCNCR_ANCB.
|
|
#define BM_ASRC_ASRCNCR_ANCB (0x000000f0) //!< Bit mask for ASRC_ASRCNCR_ANCB.
|
|
|
|
//! @brief Get value of ASRC_ASRCNCR_ANCB from a register value.
|
|
#define BG_ASRC_ASRCNCR_ANCB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCNCR_ANCB) >> BP_ASRC_ASRCNCR_ANCB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCNCR_ANCB.
|
|
#define BF_ASRC_ASRCNCR_ANCB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCNCR_ANCB) & BM_ASRC_ASRCNCR_ANCB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ANCB field to a new value.
|
|
#define BW_ASRC_ASRCNCR_ANCB(v) (HW_ASRC_ASRCNCR_WR((HW_ASRC_ASRCNCR_RD() & ~BM_ASRC_ASRCNCR_ANCB) | BF_ASRC_ASRCNCR_ANCB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCNCR, field ANCC[11:8] (RW)
|
|
*
|
|
* Number of C Channels ANCC+ANCB+ANCA<=10. Hardware is not checking the constraint. Programmer
|
|
* should take the responsibility to ensure the constraint is satisfied.
|
|
*
|
|
* Values:
|
|
* - 0000 - 0 channels in C (Pair C is disabled)
|
|
* - 0001 - 1 channel in C
|
|
* - 0010 - 2 channels in C
|
|
* - 0011 - 3 channels in C
|
|
* - 0100 - 4 channels in C
|
|
* - 0101 - 5 channels in C
|
|
* - 0110 - 6 channels in C
|
|
* - 0111 - 7 channels in C
|
|
* - 1000 - 8 channels in C
|
|
* - 1001 - 9 channels in C
|
|
* - 1010 - 10 channels in C
|
|
* - 1011-1111 - Should not be used.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCNCR_ANCC (8) //!< Bit position for ASRC_ASRCNCR_ANCC.
|
|
#define BM_ASRC_ASRCNCR_ANCC (0x00000f00) //!< Bit mask for ASRC_ASRCNCR_ANCC.
|
|
|
|
//! @brief Get value of ASRC_ASRCNCR_ANCC from a register value.
|
|
#define BG_ASRC_ASRCNCR_ANCC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCNCR_ANCC) >> BP_ASRC_ASRCNCR_ANCC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCNCR_ANCC.
|
|
#define BF_ASRC_ASRCNCR_ANCC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCNCR_ANCC) & BM_ASRC_ASRCNCR_ANCC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ANCC field to a new value.
|
|
#define BW_ASRC_ASRCNCR_ANCC(v) (HW_ASRC_ASRCNCR_WR((HW_ASRC_ASRCNCR_RD() & ~BM_ASRC_ASRCNCR_ANCC) | BF_ASRC_ASRCNCR_ANCC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCNCR, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCNCR_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRCNCR_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRCNCR_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRCNCR_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRCNCR_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRCNCR_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCNCR_UNIMPLEMENTED) >> BP_ASRC_ASRCNCR_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRCFG - ASRC Filter Configuration Status Register
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRCFG - ASRC Filter Configuration Status Register (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC configuration status register (ASRCFG) is a 24-bit read/write register that sets and/or
|
|
* automatically senses the ASRC operations.
|
|
*/
|
|
typedef union _hw_asrc_asrcfg
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrcfg_bitfields
|
|
{
|
|
unsigned RESERVED0 : 6; //!< [5:0] Reserved.
|
|
unsigned PREMODA : 2; //!< [7:6] Pre-Processing Configuration for Conversion Pair A
|
|
unsigned POSTMODA : 2; //!< [9:8] Post-Processing Configuration for Conversion Pair A
|
|
unsigned PREMODB : 2; //!< [11:10] Pre-Processing Configuration for Conversion Pair B
|
|
unsigned POSTMODB : 2; //!< [13:12] Post-Processing Configuration for Conversion Pair B
|
|
unsigned PREMODC : 2; //!< [15:14] Pre-Processing Configuration for Conversion Pair C
|
|
unsigned POSTMODC : 2; //!< [17:16] Post-Processing Configuration for Conversion Pair C
|
|
unsigned NDPRA : 1; //!< [18] Not Use Default Parameters for RAM-stored Parameters For Conversion Pair A
|
|
unsigned NDPRB : 1; //!< [19] Not Use Default Parameters for RAM-stored Parameters For Conversion Pair B
|
|
unsigned NDPRC : 1; //!< [20] Not Use Default Parameters for RAM-stored Parameters For Conversion Pair C
|
|
unsigned INIRQA : 1; //!< [21] Initialization for Conversion Pair A is served
|
|
unsigned INIRQB : 1; //!< [22] Initialization for Conversion Pair B is served
|
|
unsigned INIRQC : 1; //!< [23] Initialization for Conversion Pair C is served
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrcfg_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRCFG register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRCFG_ADDR (REGS_ASRC_BASE + 0x10)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRCFG (*(volatile hw_asrc_asrcfg_t *) HW_ASRC_ASRCFG_ADDR)
|
|
#define HW_ASRC_ASRCFG_RD() (HW_ASRC_ASRCFG.U)
|
|
#define HW_ASRC_ASRCFG_WR(v) (HW_ASRC_ASRCFG.U = (v))
|
|
#define HW_ASRC_ASRCFG_SET(v) (HW_ASRC_ASRCFG_WR(HW_ASRC_ASRCFG_RD() | (v)))
|
|
#define HW_ASRC_ASRCFG_CLR(v) (HW_ASRC_ASRCFG_WR(HW_ASRC_ASRCFG_RD() & ~(v)))
|
|
#define HW_ASRC_ASRCFG_TOG(v) (HW_ASRC_ASRCFG_WR(HW_ASRC_ASRCFG_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRCFG bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRCFG, field PREMODA[7:6] (RW)
|
|
*
|
|
* Pre-Processing Configuration for Conversion Pair A These bits will be read/write by user if
|
|
* ASRCTR:ATSA=0, and can also be automatically updated by the ASRC internal logic if ASRCTR:ATSA=1
|
|
* (see ASRC Misc Control Register 1 for Pair C ). These bits set the selection of the pre-
|
|
* processing configuration.
|
|
*
|
|
* Values:
|
|
* - 00 - Select Upsampling-by-2 as defined in
|
|
* - 01 - Select Direct-Connection as defined in
|
|
* - 10 - Select Downsampling-by-2 as defined in
|
|
* - 11 - Select passthrough mode. In this case, POSTMODA[1-0] have no use.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_PREMODA (6) //!< Bit position for ASRC_ASRCFG_PREMODA.
|
|
#define BM_ASRC_ASRCFG_PREMODA (0x000000c0) //!< Bit mask for ASRC_ASRCFG_PREMODA.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_PREMODA from a register value.
|
|
#define BG_ASRC_ASRCFG_PREMODA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_PREMODA) >> BP_ASRC_ASRCFG_PREMODA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_PREMODA.
|
|
#define BF_ASRC_ASRCFG_PREMODA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_PREMODA) & BM_ASRC_ASRCFG_PREMODA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PREMODA field to a new value.
|
|
#define BW_ASRC_ASRCFG_PREMODA(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_PREMODA) | BF_ASRC_ASRCFG_PREMODA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field POSTMODA[9:8] (RW)
|
|
*
|
|
* Post-Processing Configuration for Conversion Pair A These bits will be read/write by user if
|
|
* ASRCTR:ATSA=0, and can also be automatically updated by the ASRC internal logic if ASRCTR:ATSA=1
|
|
* (see ASRC Misc Control Register 1 for Pair C ). These bits set the selection of the post-
|
|
* processing configuration.
|
|
*
|
|
* Values:
|
|
* - 00 - Select Upsampling-by-2 as defined in
|
|
* - 01 - Select Direct-Connection as defined in
|
|
* - 10 - Select Downsampling-by-2 as defined in
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_POSTMODA (8) //!< Bit position for ASRC_ASRCFG_POSTMODA.
|
|
#define BM_ASRC_ASRCFG_POSTMODA (0x00000300) //!< Bit mask for ASRC_ASRCFG_POSTMODA.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_POSTMODA from a register value.
|
|
#define BG_ASRC_ASRCFG_POSTMODA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_POSTMODA) >> BP_ASRC_ASRCFG_POSTMODA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_POSTMODA.
|
|
#define BF_ASRC_ASRCFG_POSTMODA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_POSTMODA) & BM_ASRC_ASRCFG_POSTMODA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the POSTMODA field to a new value.
|
|
#define BW_ASRC_ASRCFG_POSTMODA(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_POSTMODA) | BF_ASRC_ASRCFG_POSTMODA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field PREMODB[11:10] (RW)
|
|
*
|
|
* Pre-Processing Configuration for Conversion Pair B These bits will be read/write by user if
|
|
* ASRCTR:ATSB=0, and can also be automatically updated by the ASRC internal logic if ASRCTR:ATSB=1
|
|
* (see ASRC Misc Control Register 1 for Pair C ). These bits set the selection of the pre-
|
|
* processing configuration.
|
|
*
|
|
* Values:
|
|
* - 00 - Select Upsampling-by-2 as defined in
|
|
* - 01 - Select Direct-Connection as defined in
|
|
* - 10 - Select Downsampling-by-2 as defined in
|
|
* - 11 - Select passthrough mode. In this case, POSTMODB[1-0] have no use.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_PREMODB (10) //!< Bit position for ASRC_ASRCFG_PREMODB.
|
|
#define BM_ASRC_ASRCFG_PREMODB (0x00000c00) //!< Bit mask for ASRC_ASRCFG_PREMODB.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_PREMODB from a register value.
|
|
#define BG_ASRC_ASRCFG_PREMODB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_PREMODB) >> BP_ASRC_ASRCFG_PREMODB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_PREMODB.
|
|
#define BF_ASRC_ASRCFG_PREMODB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_PREMODB) & BM_ASRC_ASRCFG_PREMODB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PREMODB field to a new value.
|
|
#define BW_ASRC_ASRCFG_PREMODB(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_PREMODB) | BF_ASRC_ASRCFG_PREMODB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field POSTMODB[13:12] (RW)
|
|
*
|
|
* Post-Processing Configuration for Conversion Pair B These bits will be read/write by user if
|
|
* ASRCTR:ATSB=0, and can also be automatically updated by the ASRC internal logic if ASRCTR:ATSB=1
|
|
* (see ASRC Misc Control Register 1 for Pair C ). These bits set the selection of the post-
|
|
* processing configuration.
|
|
*
|
|
* Values:
|
|
* - 00 - Select Upsampling-by-2 as defined in
|
|
* - 01 - Select Direct-Connection as defined in
|
|
* - 10 - Select Downsampling-by-2 as defined in
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_POSTMODB (12) //!< Bit position for ASRC_ASRCFG_POSTMODB.
|
|
#define BM_ASRC_ASRCFG_POSTMODB (0x00003000) //!< Bit mask for ASRC_ASRCFG_POSTMODB.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_POSTMODB from a register value.
|
|
#define BG_ASRC_ASRCFG_POSTMODB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_POSTMODB) >> BP_ASRC_ASRCFG_POSTMODB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_POSTMODB.
|
|
#define BF_ASRC_ASRCFG_POSTMODB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_POSTMODB) & BM_ASRC_ASRCFG_POSTMODB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the POSTMODB field to a new value.
|
|
#define BW_ASRC_ASRCFG_POSTMODB(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_POSTMODB) | BF_ASRC_ASRCFG_POSTMODB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field PREMODC[15:14] (RW)
|
|
*
|
|
* Pre-Processing Configuration for Conversion Pair C These bits will be read/write by user if
|
|
* ASRCTR:ATSC=0, and can also be automatically updated by the ASRC internal logic if ASRCTR:ATSC=1
|
|
* (see ASRC Misc Control Register 1 for Pair C ). These bits set the selection of the pre-
|
|
* processing configuration.
|
|
*
|
|
* Values:
|
|
* - 00 - Select Upsampling-by-2 as defined in
|
|
* - 01 - Select Direct-Connection as defined in
|
|
* - 10 - Select Downsampling-by-2 as defined in
|
|
* - 11 - Select passthrough mode. In this case, POSTMODC[1-0] have no use.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_PREMODC (14) //!< Bit position for ASRC_ASRCFG_PREMODC.
|
|
#define BM_ASRC_ASRCFG_PREMODC (0x0000c000) //!< Bit mask for ASRC_ASRCFG_PREMODC.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_PREMODC from a register value.
|
|
#define BG_ASRC_ASRCFG_PREMODC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_PREMODC) >> BP_ASRC_ASRCFG_PREMODC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_PREMODC.
|
|
#define BF_ASRC_ASRCFG_PREMODC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_PREMODC) & BM_ASRC_ASRCFG_PREMODC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PREMODC field to a new value.
|
|
#define BW_ASRC_ASRCFG_PREMODC(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_PREMODC) | BF_ASRC_ASRCFG_PREMODC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field POSTMODC[17:16] (RW)
|
|
*
|
|
* Post-Processing Configuration for Conversion Pair C These bits will be read/write by user if
|
|
* ASRCTR:ATSC=0, and can also be automatically updated by the ASRC internal logic if ASRCTR:ATSC=1
|
|
* (see ASRC Misc Control Register 1 for Pair C ). These bits set the selection of the post-
|
|
* processing configuration.
|
|
*
|
|
* Values:
|
|
* - 00 - Select Upsampling-by-2 as defined in Signal Processing Flow.
|
|
* - 01 - Select Direct-Connection as defined in Signal Processing Flow.
|
|
* - 10 - Select Downsampling-by-2 as defined in Signal Processing Flow.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_POSTMODC (16) //!< Bit position for ASRC_ASRCFG_POSTMODC.
|
|
#define BM_ASRC_ASRCFG_POSTMODC (0x00030000) //!< Bit mask for ASRC_ASRCFG_POSTMODC.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_POSTMODC from a register value.
|
|
#define BG_ASRC_ASRCFG_POSTMODC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_POSTMODC) >> BP_ASRC_ASRCFG_POSTMODC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_POSTMODC.
|
|
#define BF_ASRC_ASRCFG_POSTMODC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_POSTMODC) & BM_ASRC_ASRCFG_POSTMODC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the POSTMODC field to a new value.
|
|
#define BW_ASRC_ASRCFG_POSTMODC(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_POSTMODC) | BF_ASRC_ASRCFG_POSTMODC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field NDPRA[18] (RW)
|
|
*
|
|
* Not Use Default Parameters for RAM-stored Parameters For Conversion Pair A
|
|
*
|
|
* Values:
|
|
* - 0 - Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
|
|
* - 1 - Don't use default parameters for RAM-stored parameters. Use the parameters already stored in RAM.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_NDPRA (18) //!< Bit position for ASRC_ASRCFG_NDPRA.
|
|
#define BM_ASRC_ASRCFG_NDPRA (0x00040000) //!< Bit mask for ASRC_ASRCFG_NDPRA.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_NDPRA from a register value.
|
|
#define BG_ASRC_ASRCFG_NDPRA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_NDPRA) >> BP_ASRC_ASRCFG_NDPRA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_NDPRA.
|
|
#define BF_ASRC_ASRCFG_NDPRA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_NDPRA) & BM_ASRC_ASRCFG_NDPRA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the NDPRA field to a new value.
|
|
#define BW_ASRC_ASRCFG_NDPRA(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_NDPRA) | BF_ASRC_ASRCFG_NDPRA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field NDPRB[19] (RW)
|
|
*
|
|
* Not Use Default Parameters for RAM-stored Parameters For Conversion Pair B
|
|
*
|
|
* Values:
|
|
* - 0 - Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
|
|
* - 1 - Don't use default parameters for RAM-stored parameter. Use the parameters already stored in RAM.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_NDPRB (19) //!< Bit position for ASRC_ASRCFG_NDPRB.
|
|
#define BM_ASRC_ASRCFG_NDPRB (0x00080000) //!< Bit mask for ASRC_ASRCFG_NDPRB.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_NDPRB from a register value.
|
|
#define BG_ASRC_ASRCFG_NDPRB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_NDPRB) >> BP_ASRC_ASRCFG_NDPRB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_NDPRB.
|
|
#define BF_ASRC_ASRCFG_NDPRB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_NDPRB) & BM_ASRC_ASRCFG_NDPRB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the NDPRB field to a new value.
|
|
#define BW_ASRC_ASRCFG_NDPRB(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_NDPRB) | BF_ASRC_ASRCFG_NDPRB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field NDPRC[20] (RW)
|
|
*
|
|
* Not Use Default Parameters for RAM-stored Parameters For Conversion Pair C
|
|
*
|
|
* Values:
|
|
* - 0 - Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
|
|
* - 1 - Don't use default parameters for RAM-stored parameters. Use the parameters already stored in RAM.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_NDPRC (20) //!< Bit position for ASRC_ASRCFG_NDPRC.
|
|
#define BM_ASRC_ASRCFG_NDPRC (0x00100000) //!< Bit mask for ASRC_ASRCFG_NDPRC.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_NDPRC from a register value.
|
|
#define BG_ASRC_ASRCFG_NDPRC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_NDPRC) >> BP_ASRC_ASRCFG_NDPRC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCFG_NDPRC.
|
|
#define BF_ASRC_ASRCFG_NDPRC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCFG_NDPRC) & BM_ASRC_ASRCFG_NDPRC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the NDPRC field to a new value.
|
|
#define BW_ASRC_ASRCFG_NDPRC(v) (HW_ASRC_ASRCFG_WR((HW_ASRC_ASRCFG_RD() & ~BM_ASRC_ASRCFG_NDPRC) | BF_ASRC_ASRCFG_NDPRC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field INIRQA[21] (RO)
|
|
*
|
|
* Initialization for Conversion Pair A is served When this bit is 1, it means the initialization
|
|
* for conversion pair A is served. This bit is cleared by disabling the ASRC conversion pair
|
|
* (ASRCTR:ASREA=0 or ASRCTR:ASRCEN=0).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_INIRQA (21) //!< Bit position for ASRC_ASRCFG_INIRQA.
|
|
#define BM_ASRC_ASRCFG_INIRQA (0x00200000) //!< Bit mask for ASRC_ASRCFG_INIRQA.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_INIRQA from a register value.
|
|
#define BG_ASRC_ASRCFG_INIRQA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_INIRQA) >> BP_ASRC_ASRCFG_INIRQA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field INIRQB[22] (RO)
|
|
*
|
|
* Initialization for Conversion Pair B is served When this bit is 1, it means the initialization
|
|
* for conversion pair B is served. This bit is cleared by disabling the ASRC conversion pair
|
|
* (ASRCTR:ASREB=0 or ASRCTR:ASRCEN=0).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_INIRQB (22) //!< Bit position for ASRC_ASRCFG_INIRQB.
|
|
#define BM_ASRC_ASRCFG_INIRQB (0x00400000) //!< Bit mask for ASRC_ASRCFG_INIRQB.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_INIRQB from a register value.
|
|
#define BG_ASRC_ASRCFG_INIRQB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_INIRQB) >> BP_ASRC_ASRCFG_INIRQB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field INIRQC[23] (RO)
|
|
*
|
|
* Initialization for Conversion Pair C is served When this bit is 1, it means the initialization
|
|
* for conversion pair C is served. This bit is cleared by disabling the ASRC conversion pair
|
|
* (ASRCTR:ASREC=0 or ASRCTR:ASRCEN=0).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_INIRQC (23) //!< Bit position for ASRC_ASRCFG_INIRQC.
|
|
#define BM_ASRC_ASRCFG_INIRQC (0x00800000) //!< Bit mask for ASRC_ASRCFG_INIRQC.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_INIRQC from a register value.
|
|
#define BG_ASRC_ASRCFG_INIRQC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_INIRQC) >> BP_ASRC_ASRCFG_INIRQC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCFG, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCFG_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRCFG_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRCFG_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRCFG_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRCFG_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRCFG_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCFG_UNIMPLEMENTED) >> BP_ASRC_ASRCFG_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRCSR - ASRC Clock Source Register
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRCSR - ASRC Clock Source Register (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC clock source register (ASRCSR) is a 24-bit read/write register that controls the sources
|
|
* of the input and output clocks of the ASRC. The clock connections are shown in ASRC Misc Control
|
|
* Register 1 for Pair C , also shown in : Bit Clock Definitions Bit Clk Name Definitions 0 ESAI RX
|
|
* clock 1 SSI-1 RX clock 2 SSI-2 RX clock 3 SSI-3 RX clock 4 SPDIF RX clock 5 MLB Bit clock 6 bit
|
|
* clock 6 should connect to one of the three pads: KEY_ROW3,GPIO_0,GPIO_18, which is configured by
|
|
* register IOMUXC_IOMUXC_ASRC_ASRCK_CLOCK_6_SELECT_INPUT 7 tied to zero 8 ESAI TX clock 9 SSI-1 TX
|
|
* clock a SSI-2 TX clock b SSI-3 TX clock c SPDIF TX clock d bit clock d is configured by
|
|
* spdif1_clk_pred and spdif1_clk_podf in CCM_CDCDR, but it is better to describe it also in CCM
|
|
* spec.
|
|
*/
|
|
typedef union _hw_asrc_asrcsr
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrcsr_bitfields
|
|
{
|
|
unsigned AICSA : 4; //!< [3:0] Input Clock Source A
|
|
unsigned AICSB : 4; //!< [7:4] Input Clock Source B
|
|
unsigned AICSC : 4; //!< [11:8] Input Clock Source C
|
|
unsigned AOCSA : 4; //!< [15:12] Output Clock Source A
|
|
unsigned AOCSB : 4; //!< [19:16] Output Clock Source B
|
|
unsigned AOCSC : 4; //!< [23:20] Output Clock Source C
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrcsr_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRCSR register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRCSR_ADDR (REGS_ASRC_BASE + 0x14)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRCSR (*(volatile hw_asrc_asrcsr_t *) HW_ASRC_ASRCSR_ADDR)
|
|
#define HW_ASRC_ASRCSR_RD() (HW_ASRC_ASRCSR.U)
|
|
#define HW_ASRC_ASRCSR_WR(v) (HW_ASRC_ASRCSR.U = (v))
|
|
#define HW_ASRC_ASRCSR_SET(v) (HW_ASRC_ASRCSR_WR(HW_ASRC_ASRCSR_RD() | (v)))
|
|
#define HW_ASRC_ASRCSR_CLR(v) (HW_ASRC_ASRCSR_WR(HW_ASRC_ASRCSR_RD() & ~(v)))
|
|
#define HW_ASRC_ASRCSR_TOG(v) (HW_ASRC_ASRCSR_WR(HW_ASRC_ASRCSR_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRCSR bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRCSR, field AICSA[3:0] (RW)
|
|
*
|
|
* Input Clock Source A
|
|
*
|
|
* Values:
|
|
* - 0000 - bit clock 0
|
|
* - 0001 - bit clock 1
|
|
* - 0010 - bit clock 2
|
|
* - 0011 - bit clock 3
|
|
* - 0100 - bit clock 4
|
|
* - 0101 - bit clock 5
|
|
* - 0110 - bit clock 6
|
|
* - 0111 - bit clock 7
|
|
* - 1000 - bit clock 8
|
|
* - 1001 - bit clock 9
|
|
* - 1010 - bit clock A
|
|
* - 1011 - bit clock B
|
|
* - 1100 - bit clock C
|
|
* - 1101 - bit clock D
|
|
* - 1111 - clock disabled, connected to zero
|
|
* - any other value - bit clock 0
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCSR_AICSA (0) //!< Bit position for ASRC_ASRCSR_AICSA.
|
|
#define BM_ASRC_ASRCSR_AICSA (0x0000000f) //!< Bit mask for ASRC_ASRCSR_AICSA.
|
|
|
|
//! @brief Get value of ASRC_ASRCSR_AICSA from a register value.
|
|
#define BG_ASRC_ASRCSR_AICSA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCSR_AICSA) >> BP_ASRC_ASRCSR_AICSA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCSR_AICSA.
|
|
#define BF_ASRC_ASRCSR_AICSA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCSR_AICSA) & BM_ASRC_ASRCSR_AICSA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICSA field to a new value.
|
|
#define BW_ASRC_ASRCSR_AICSA(v) (HW_ASRC_ASRCSR_WR((HW_ASRC_ASRCSR_RD() & ~BM_ASRC_ASRCSR_AICSA) | BF_ASRC_ASRCSR_AICSA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCSR, field AICSB[7:4] (RW)
|
|
*
|
|
* Input Clock Source B
|
|
*
|
|
* Values:
|
|
* - 0000 - bit clock 0
|
|
* - 0001 - bit clock 1
|
|
* - 0010 - bit clock 2
|
|
* - 0011 - bit clock 3
|
|
* - 0100 - bit clock 4
|
|
* - 0101 - bit clock 5
|
|
* - 0110 - bit clock 6
|
|
* - 0111 - bit clock 7
|
|
* - 1000 - bit clock 8
|
|
* - 1001 - bit clock 9
|
|
* - 1010 - bit clock A
|
|
* - 1011 - bit clock B
|
|
* - 1100 - bit clock C
|
|
* - 1101 - bit clock D
|
|
* - 1111 - clock disabled, connected to zero
|
|
* - any other value - bit clock 0
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCSR_AICSB (4) //!< Bit position for ASRC_ASRCSR_AICSB.
|
|
#define BM_ASRC_ASRCSR_AICSB (0x000000f0) //!< Bit mask for ASRC_ASRCSR_AICSB.
|
|
|
|
//! @brief Get value of ASRC_ASRCSR_AICSB from a register value.
|
|
#define BG_ASRC_ASRCSR_AICSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCSR_AICSB) >> BP_ASRC_ASRCSR_AICSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCSR_AICSB.
|
|
#define BF_ASRC_ASRCSR_AICSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCSR_AICSB) & BM_ASRC_ASRCSR_AICSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICSB field to a new value.
|
|
#define BW_ASRC_ASRCSR_AICSB(v) (HW_ASRC_ASRCSR_WR((HW_ASRC_ASRCSR_RD() & ~BM_ASRC_ASRCSR_AICSB) | BF_ASRC_ASRCSR_AICSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCSR, field AICSC[11:8] (RW)
|
|
*
|
|
* Input Clock Source C
|
|
*
|
|
* Values:
|
|
* - 0000 - bit clock 0
|
|
* - 0001 - bit clock 1
|
|
* - 0010 - bit clock 2
|
|
* - 0011 - bit clock 3
|
|
* - 0100 - bit clock 4
|
|
* - 0101 - bit clock 5
|
|
* - 0110 - bit clock 6
|
|
* - 0111 - bit clock 7
|
|
* - 1000 - bit clock 8
|
|
* - 1001 - bit clock 9
|
|
* - 1010 - bit clock A
|
|
* - 1011 - bit clock B
|
|
* - 1100 - bit clock C
|
|
* - 1101 - bit clock D
|
|
* - 1111 - clock disabled, connected to zero
|
|
* - any other value - bit clock 0
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCSR_AICSC (8) //!< Bit position for ASRC_ASRCSR_AICSC.
|
|
#define BM_ASRC_ASRCSR_AICSC (0x00000f00) //!< Bit mask for ASRC_ASRCSR_AICSC.
|
|
|
|
//! @brief Get value of ASRC_ASRCSR_AICSC from a register value.
|
|
#define BG_ASRC_ASRCSR_AICSC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCSR_AICSC) >> BP_ASRC_ASRCSR_AICSC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCSR_AICSC.
|
|
#define BF_ASRC_ASRCSR_AICSC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCSR_AICSC) & BM_ASRC_ASRCSR_AICSC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICSC field to a new value.
|
|
#define BW_ASRC_ASRCSR_AICSC(v) (HW_ASRC_ASRCSR_WR((HW_ASRC_ASRCSR_RD() & ~BM_ASRC_ASRCSR_AICSC) | BF_ASRC_ASRCSR_AICSC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCSR, field AOCSA[15:12] (RW)
|
|
*
|
|
* Output Clock Source A
|
|
*
|
|
* Values:
|
|
* - 0000 - bit clock 0
|
|
* - 0001 - bit clock 1
|
|
* - 0010 - bit clock 2
|
|
* - 0011 - bit clock 3
|
|
* - 0100 - bit clock 4
|
|
* - 0101 - bit clock 5
|
|
* - 0110 - bit clock 6
|
|
* - 0111 - bit clock 7
|
|
* - 1000 - bit clock 8
|
|
* - 1001 - bit clock 9
|
|
* - 1010 - bit clock A
|
|
* - 1011 - bit clock B
|
|
* - 1100 - bit clock C
|
|
* - 1101 - bit clock D
|
|
* - 1111 - clock disabled, connected to zero
|
|
* - any other value - bit clock 0
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCSR_AOCSA (12) //!< Bit position for ASRC_ASRCSR_AOCSA.
|
|
#define BM_ASRC_ASRCSR_AOCSA (0x0000f000) //!< Bit mask for ASRC_ASRCSR_AOCSA.
|
|
|
|
//! @brief Get value of ASRC_ASRCSR_AOCSA from a register value.
|
|
#define BG_ASRC_ASRCSR_AOCSA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCSR_AOCSA) >> BP_ASRC_ASRCSR_AOCSA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCSR_AOCSA.
|
|
#define BF_ASRC_ASRCSR_AOCSA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCSR_AOCSA) & BM_ASRC_ASRCSR_AOCSA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCSA field to a new value.
|
|
#define BW_ASRC_ASRCSR_AOCSA(v) (HW_ASRC_ASRCSR_WR((HW_ASRC_ASRCSR_RD() & ~BM_ASRC_ASRCSR_AOCSA) | BF_ASRC_ASRCSR_AOCSA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCSR, field AOCSB[19:16] (RW)
|
|
*
|
|
* Output Clock Source B
|
|
*
|
|
* Values:
|
|
* - 0000 - bit clock 0
|
|
* - 0001 - bit clock 1
|
|
* - 0010 - bit clock 2
|
|
* - 0011 - bit clock 3
|
|
* - 0100 - bit clock 4
|
|
* - 0101 - bit clock 5
|
|
* - 0110 - bit clock 6
|
|
* - 0111 - bit clock 7
|
|
* - 1000 - bit clock 8
|
|
* - 1001 - bit clock 9
|
|
* - 1010 - bit clock A
|
|
* - 1011 - bit clock B
|
|
* - 1100 - bit clock C
|
|
* - 1101 - bit clock D
|
|
* - 1111 - clock disabled, connected to zero
|
|
* - any other value - bit clock 0
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCSR_AOCSB (16) //!< Bit position for ASRC_ASRCSR_AOCSB.
|
|
#define BM_ASRC_ASRCSR_AOCSB (0x000f0000) //!< Bit mask for ASRC_ASRCSR_AOCSB.
|
|
|
|
//! @brief Get value of ASRC_ASRCSR_AOCSB from a register value.
|
|
#define BG_ASRC_ASRCSR_AOCSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCSR_AOCSB) >> BP_ASRC_ASRCSR_AOCSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCSR_AOCSB.
|
|
#define BF_ASRC_ASRCSR_AOCSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCSR_AOCSB) & BM_ASRC_ASRCSR_AOCSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCSB field to a new value.
|
|
#define BW_ASRC_ASRCSR_AOCSB(v) (HW_ASRC_ASRCSR_WR((HW_ASRC_ASRCSR_RD() & ~BM_ASRC_ASRCSR_AOCSB) | BF_ASRC_ASRCSR_AOCSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCSR, field AOCSC[23:20] (RW)
|
|
*
|
|
* Output Clock Source C
|
|
*
|
|
* Values:
|
|
* - 0000 - bit clock 0
|
|
* - 0001 - bit clock 1
|
|
* - 0010 - bit clock 2
|
|
* - 0011 - bit clock 3
|
|
* - 0100 - bit clock 4
|
|
* - 0101 - bit clock 5
|
|
* - 0110 - bit clock 6
|
|
* - 0111 - bit clock 7
|
|
* - 1000 - bit clock 8
|
|
* - 1001 - bit clock 9
|
|
* - 1010 - bit clock A
|
|
* - 1011 - bit clock B
|
|
* - 1100 - bit clock C
|
|
* - 1101 - bit clock D
|
|
* - 1111 - clock disabled, connected to zero
|
|
* - any other value - bit clock 0
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCSR_AOCSC (20) //!< Bit position for ASRC_ASRCSR_AOCSC.
|
|
#define BM_ASRC_ASRCSR_AOCSC (0x00f00000) //!< Bit mask for ASRC_ASRCSR_AOCSC.
|
|
|
|
//! @brief Get value of ASRC_ASRCSR_AOCSC from a register value.
|
|
#define BG_ASRC_ASRCSR_AOCSC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCSR_AOCSC) >> BP_ASRC_ASRCSR_AOCSC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCSR_AOCSC.
|
|
#define BF_ASRC_ASRCSR_AOCSC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCSR_AOCSC) & BM_ASRC_ASRCSR_AOCSC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCSC field to a new value.
|
|
#define BW_ASRC_ASRCSR_AOCSC(v) (HW_ASRC_ASRCSR_WR((HW_ASRC_ASRCSR_RD() & ~BM_ASRC_ASRCSR_AOCSC) | BF_ASRC_ASRCSR_AOCSC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCSR, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCSR_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRCSR_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRCSR_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRCSR_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRCSR_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRCSR_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCSR_UNIMPLEMENTED) >> BP_ASRC_ASRCSR_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRCDR1 - ASRC Clock Divider Register 1
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRCDR1 - ASRC Clock Divider Register 1 (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC clock divider register (ASRCDR1) is a two 24-bit read/write register that controls the
|
|
* division factors of the ASRC input and output clock sources.
|
|
*/
|
|
typedef union _hw_asrc_asrcdr1
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrcdr1_bitfields
|
|
{
|
|
unsigned AICPA : 3; //!< [2:0] Input Clock Prescaler A
|
|
unsigned AICDA : 3; //!< [5:3] Input Clock Divider A
|
|
unsigned AICPB : 3; //!< [8:6] Input Clock Prescaler B
|
|
unsigned AICDB : 3; //!< [11:9] Input Clock Divider B
|
|
unsigned AOCPA : 3; //!< [14:12] Output Clock Prescaler A
|
|
unsigned AOCDA : 3; //!< [17:15] Output Clock Divider A
|
|
unsigned AOCPB : 3; //!< [20:18] Output Clock Prescaler B
|
|
unsigned AOCDB : 3; //!< [23:21] Output Clock Divider B
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrcdr1_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRCDR1 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRCDR1_ADDR (REGS_ASRC_BASE + 0x18)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRCDR1 (*(volatile hw_asrc_asrcdr1_t *) HW_ASRC_ASRCDR1_ADDR)
|
|
#define HW_ASRC_ASRCDR1_RD() (HW_ASRC_ASRCDR1.U)
|
|
#define HW_ASRC_ASRCDR1_WR(v) (HW_ASRC_ASRCDR1.U = (v))
|
|
#define HW_ASRC_ASRCDR1_SET(v) (HW_ASRC_ASRCDR1_WR(HW_ASRC_ASRCDR1_RD() | (v)))
|
|
#define HW_ASRC_ASRCDR1_CLR(v) (HW_ASRC_ASRCDR1_WR(HW_ASRC_ASRCDR1_RD() & ~(v)))
|
|
#define HW_ASRC_ASRCDR1_TOG(v) (HW_ASRC_ASRCDR1_WR(HW_ASRC_ASRCDR1_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRCDR1 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AICPA[2:0] (RW)
|
|
*
|
|
* Input Clock Prescaler A Specify the prescaling factor of the input prescaler A. The prescaling
|
|
* ratio may be any power of 2 from 1 to 128.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AICPA (0) //!< Bit position for ASRC_ASRCDR1_AICPA.
|
|
#define BM_ASRC_ASRCDR1_AICPA (0x00000007) //!< Bit mask for ASRC_ASRCDR1_AICPA.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AICPA from a register value.
|
|
#define BG_ASRC_ASRCDR1_AICPA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AICPA) >> BP_ASRC_ASRCDR1_AICPA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AICPA.
|
|
#define BF_ASRC_ASRCDR1_AICPA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AICPA) & BM_ASRC_ASRCDR1_AICPA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICPA field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AICPA(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AICPA) | BF_ASRC_ASRCDR1_AICPA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AICDA[5:3] (RW)
|
|
*
|
|
* Input Clock Divider A Specify the divide ratio of the input clock divider A. The divide ratio may
|
|
* range from 1 to 8 (AICDA[2:0] = 000 to 111).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AICDA (3) //!< Bit position for ASRC_ASRCDR1_AICDA.
|
|
#define BM_ASRC_ASRCDR1_AICDA (0x00000038) //!< Bit mask for ASRC_ASRCDR1_AICDA.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AICDA from a register value.
|
|
#define BG_ASRC_ASRCDR1_AICDA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AICDA) >> BP_ASRC_ASRCDR1_AICDA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AICDA.
|
|
#define BF_ASRC_ASRCDR1_AICDA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AICDA) & BM_ASRC_ASRCDR1_AICDA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICDA field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AICDA(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AICDA) | BF_ASRC_ASRCDR1_AICDA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AICPB[8:6] (RW)
|
|
*
|
|
* Input Clock Prescaler B Specify the prescaling factor of the input prescaler B. The prescaling
|
|
* ratio may be any power of 2 from 1 to 128.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AICPB (6) //!< Bit position for ASRC_ASRCDR1_AICPB.
|
|
#define BM_ASRC_ASRCDR1_AICPB (0x000001c0) //!< Bit mask for ASRC_ASRCDR1_AICPB.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AICPB from a register value.
|
|
#define BG_ASRC_ASRCDR1_AICPB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AICPB) >> BP_ASRC_ASRCDR1_AICPB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AICPB.
|
|
#define BF_ASRC_ASRCDR1_AICPB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AICPB) & BM_ASRC_ASRCDR1_AICPB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICPB field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AICPB(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AICPB) | BF_ASRC_ASRCDR1_AICPB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AICDB[11:9] (RW)
|
|
*
|
|
* Input Clock Divider B Specify the divide ratio of the input clock divider B. The divide ratio may
|
|
* range from 1 to 8 (AICDB[2:0] = 000 to 111).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AICDB (9) //!< Bit position for ASRC_ASRCDR1_AICDB.
|
|
#define BM_ASRC_ASRCDR1_AICDB (0x00000e00) //!< Bit mask for ASRC_ASRCDR1_AICDB.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AICDB from a register value.
|
|
#define BG_ASRC_ASRCDR1_AICDB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AICDB) >> BP_ASRC_ASRCDR1_AICDB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AICDB.
|
|
#define BF_ASRC_ASRCDR1_AICDB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AICDB) & BM_ASRC_ASRCDR1_AICDB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICDB field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AICDB(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AICDB) | BF_ASRC_ASRCDR1_AICDB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AOCPA[14:12] (RW)
|
|
*
|
|
* Output Clock Prescaler A Specify the prescaling factor of the output prescaler A. The prescaling
|
|
* ratio may be any power of 2 from 1 to 128.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AOCPA (12) //!< Bit position for ASRC_ASRCDR1_AOCPA.
|
|
#define BM_ASRC_ASRCDR1_AOCPA (0x00007000) //!< Bit mask for ASRC_ASRCDR1_AOCPA.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AOCPA from a register value.
|
|
#define BG_ASRC_ASRCDR1_AOCPA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AOCPA) >> BP_ASRC_ASRCDR1_AOCPA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AOCPA.
|
|
#define BF_ASRC_ASRCDR1_AOCPA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AOCPA) & BM_ASRC_ASRCDR1_AOCPA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCPA field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AOCPA(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AOCPA) | BF_ASRC_ASRCDR1_AOCPA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AOCDA[17:15] (RW)
|
|
*
|
|
* Output Clock Divider A Specify the divide ratio of the output clock divider A. The divide ratio
|
|
* may range from 1 to 8 (AOCDA[2:0] = 000 to 111).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AOCDA (15) //!< Bit position for ASRC_ASRCDR1_AOCDA.
|
|
#define BM_ASRC_ASRCDR1_AOCDA (0x00038000) //!< Bit mask for ASRC_ASRCDR1_AOCDA.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AOCDA from a register value.
|
|
#define BG_ASRC_ASRCDR1_AOCDA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AOCDA) >> BP_ASRC_ASRCDR1_AOCDA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AOCDA.
|
|
#define BF_ASRC_ASRCDR1_AOCDA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AOCDA) & BM_ASRC_ASRCDR1_AOCDA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCDA field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AOCDA(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AOCDA) | BF_ASRC_ASRCDR1_AOCDA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AOCPB[20:18] (RW)
|
|
*
|
|
* Output Clock Prescaler B Specify the prescaling factor of the output prescaler B. The prescaling
|
|
* ratio may be any power of 2 from 1 to 128.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AOCPB (18) //!< Bit position for ASRC_ASRCDR1_AOCPB.
|
|
#define BM_ASRC_ASRCDR1_AOCPB (0x001c0000) //!< Bit mask for ASRC_ASRCDR1_AOCPB.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AOCPB from a register value.
|
|
#define BG_ASRC_ASRCDR1_AOCPB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AOCPB) >> BP_ASRC_ASRCDR1_AOCPB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AOCPB.
|
|
#define BF_ASRC_ASRCDR1_AOCPB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AOCPB) & BM_ASRC_ASRCDR1_AOCPB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCPB field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AOCPB(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AOCPB) | BF_ASRC_ASRCDR1_AOCPB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field AOCDB[23:21] (RW)
|
|
*
|
|
* Output Clock Divider B Specify the divide ratio of the output clock divider B. The divide ratio
|
|
* may range from 1 to 8 (AOCDB[2:0] = 000 to 111).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_AOCDB (21) //!< Bit position for ASRC_ASRCDR1_AOCDB.
|
|
#define BM_ASRC_ASRCDR1_AOCDB (0x00e00000) //!< Bit mask for ASRC_ASRCDR1_AOCDB.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_AOCDB from a register value.
|
|
#define BG_ASRC_ASRCDR1_AOCDB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_AOCDB) >> BP_ASRC_ASRCDR1_AOCDB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR1_AOCDB.
|
|
#define BF_ASRC_ASRCDR1_AOCDB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR1_AOCDB) & BM_ASRC_ASRCDR1_AOCDB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCDB field to a new value.
|
|
#define BW_ASRC_ASRCDR1_AOCDB(v) (HW_ASRC_ASRCDR1_WR((HW_ASRC_ASRCDR1_RD() & ~BM_ASRC_ASRCDR1_AOCDB) | BF_ASRC_ASRCDR1_AOCDB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR1, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR1_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRCDR1_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRCDR1_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRCDR1_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR1_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRCDR1_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR1_UNIMPLEMENTED) >> BP_ASRC_ASRCDR1_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRCDR2 - ASRC Clock Divider Register 2
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRCDR2 - ASRC Clock Divider Register 2 (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC clock divider register (ASRCDR2) is a two 24-bit read/write register that controls the
|
|
* division factors of the ASRC input and output clock sources.
|
|
*/
|
|
typedef union _hw_asrc_asrcdr2
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrcdr2_bitfields
|
|
{
|
|
unsigned AICPC : 3; //!< [2:0] Input Clock Prescaler C
|
|
unsigned AICDC : 3; //!< [5:3] Input Clock Divider C
|
|
unsigned AOCPC : 3; //!< [8:6] Output Clock Prescaler C
|
|
unsigned AOCDC : 3; //!< [11:9] Output Clock Divider C
|
|
unsigned RESERVED0 : 12; //!< [23:12] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrcdr2_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRCDR2 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRCDR2_ADDR (REGS_ASRC_BASE + 0x1c)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRCDR2 (*(volatile hw_asrc_asrcdr2_t *) HW_ASRC_ASRCDR2_ADDR)
|
|
#define HW_ASRC_ASRCDR2_RD() (HW_ASRC_ASRCDR2.U)
|
|
#define HW_ASRC_ASRCDR2_WR(v) (HW_ASRC_ASRCDR2.U = (v))
|
|
#define HW_ASRC_ASRCDR2_SET(v) (HW_ASRC_ASRCDR2_WR(HW_ASRC_ASRCDR2_RD() | (v)))
|
|
#define HW_ASRC_ASRCDR2_CLR(v) (HW_ASRC_ASRCDR2_WR(HW_ASRC_ASRCDR2_RD() & ~(v)))
|
|
#define HW_ASRC_ASRCDR2_TOG(v) (HW_ASRC_ASRCDR2_WR(HW_ASRC_ASRCDR2_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRCDR2 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRCDR2, field AICPC[2:0] (RW)
|
|
*
|
|
* Input Clock Prescaler C Specify the prescaling factor of the input prescaler C. The prescaling
|
|
* ratio may be any power of 2 from 1 to 128.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR2_AICPC (0) //!< Bit position for ASRC_ASRCDR2_AICPC.
|
|
#define BM_ASRC_ASRCDR2_AICPC (0x00000007) //!< Bit mask for ASRC_ASRCDR2_AICPC.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR2_AICPC from a register value.
|
|
#define BG_ASRC_ASRCDR2_AICPC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR2_AICPC) >> BP_ASRC_ASRCDR2_AICPC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR2_AICPC.
|
|
#define BF_ASRC_ASRCDR2_AICPC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR2_AICPC) & BM_ASRC_ASRCDR2_AICPC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICPC field to a new value.
|
|
#define BW_ASRC_ASRCDR2_AICPC(v) (HW_ASRC_ASRCDR2_WR((HW_ASRC_ASRCDR2_RD() & ~BM_ASRC_ASRCDR2_AICPC) | BF_ASRC_ASRCDR2_AICPC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR2, field AICDC[5:3] (RW)
|
|
*
|
|
* Input Clock Divider C Specify the divide ratio of the input clock divider C. The divide ratio may
|
|
* range from 1 to 8 (AICDC[2:0] = 000 to 111).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR2_AICDC (3) //!< Bit position for ASRC_ASRCDR2_AICDC.
|
|
#define BM_ASRC_ASRCDR2_AICDC (0x00000038) //!< Bit mask for ASRC_ASRCDR2_AICDC.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR2_AICDC from a register value.
|
|
#define BG_ASRC_ASRCDR2_AICDC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR2_AICDC) >> BP_ASRC_ASRCDR2_AICDC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR2_AICDC.
|
|
#define BF_ASRC_ASRCDR2_AICDC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR2_AICDC) & BM_ASRC_ASRCDR2_AICDC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AICDC field to a new value.
|
|
#define BW_ASRC_ASRCDR2_AICDC(v) (HW_ASRC_ASRCDR2_WR((HW_ASRC_ASRCDR2_RD() & ~BM_ASRC_ASRCDR2_AICDC) | BF_ASRC_ASRCDR2_AICDC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR2, field AOCPC[8:6] (RW)
|
|
*
|
|
* Output Clock Prescaler C Specify the prescaling factor of the output prescaler C. The prescaling
|
|
* ratio may be any power of 2 from 1 to 128.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR2_AOCPC (6) //!< Bit position for ASRC_ASRCDR2_AOCPC.
|
|
#define BM_ASRC_ASRCDR2_AOCPC (0x000001c0) //!< Bit mask for ASRC_ASRCDR2_AOCPC.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR2_AOCPC from a register value.
|
|
#define BG_ASRC_ASRCDR2_AOCPC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR2_AOCPC) >> BP_ASRC_ASRCDR2_AOCPC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR2_AOCPC.
|
|
#define BF_ASRC_ASRCDR2_AOCPC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR2_AOCPC) & BM_ASRC_ASRCDR2_AOCPC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCPC field to a new value.
|
|
#define BW_ASRC_ASRCDR2_AOCPC(v) (HW_ASRC_ASRCDR2_WR((HW_ASRC_ASRCDR2_RD() & ~BM_ASRC_ASRCDR2_AOCPC) | BF_ASRC_ASRCDR2_AOCPC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR2, field AOCDC[11:9] (RW)
|
|
*
|
|
* Output Clock Divider C Specify the divide ratio of the output clock divider C. The divide ratio
|
|
* may range from 1 to 8 (AOCDC[2:0] = 000 to 111).
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR2_AOCDC (9) //!< Bit position for ASRC_ASRCDR2_AOCDC.
|
|
#define BM_ASRC_ASRCDR2_AOCDC (0x00000e00) //!< Bit mask for ASRC_ASRCDR2_AOCDC.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR2_AOCDC from a register value.
|
|
#define BG_ASRC_ASRCDR2_AOCDC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR2_AOCDC) >> BP_ASRC_ASRCDR2_AOCDC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCDR2_AOCDC.
|
|
#define BF_ASRC_ASRCDR2_AOCDC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCDR2_AOCDC) & BM_ASRC_ASRCDR2_AOCDC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the AOCDC field to a new value.
|
|
#define BW_ASRC_ASRCDR2_AOCDC(v) (HW_ASRC_ASRCDR2_WR((HW_ASRC_ASRCDR2_RD() & ~BM_ASRC_ASRCDR2_AOCDC) | BF_ASRC_ASRCDR2_AOCDC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCDR2, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCDR2_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRCDR2_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRCDR2_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRCDR2_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRCDR2_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRCDR2_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCDR2_UNIMPLEMENTED) >> BP_ASRC_ASRCDR2_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRSTR - ASRC Status Register
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRSTR - ASRC Status Register (RO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC status register (ASRSTR) is a 24-bit read-write register used by the processor core to
|
|
* examine the status of the ASRC block and clear the overload interrupt request and AOLE flag bit.
|
|
* Read the status register will return the current state of ASRC.
|
|
*/
|
|
typedef union _hw_asrc_asrstr
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrstr_bitfields
|
|
{
|
|
unsigned AIDEA : 1; //!< [0] Number of data in Input Data Buffer A is less than threshold
|
|
unsigned AIDEB : 1; //!< [1] Number of data in Input Data Buffer B is less than threshold
|
|
unsigned AIDEC : 1; //!< [2] Number of data in Input Data Buffer C is less than threshold
|
|
unsigned AODFA : 1; //!< [3] Number of data in Output Data Buffer A is greater than threshold
|
|
unsigned AODFB : 1; //!< [4] Number of data in Output Data Buffer B is greater than threshold
|
|
unsigned AODFC : 1; //!< [5] Number of data in Output Data Buffer C is greater than threshold
|
|
unsigned AOLE : 1; //!< [6] Overload Error Flag
|
|
unsigned FPWT : 1; //!< [7] FP is in wait states
|
|
unsigned AIDUA : 1; //!< [8] Input Data Buffer A has underflowed
|
|
unsigned AIDUB : 1; //!< [9] Input Data Buffer B has underflowed
|
|
unsigned AIDUC : 1; //!< [10] Input Data Buffer C has underflowed
|
|
unsigned AODOA : 1; //!< [11] Output Data Buffer A has overflowed
|
|
unsigned AODOB : 1; //!< [12] Output Data Buffer B has overflowed
|
|
unsigned AODOC : 1; //!< [13] Output Data Buffer C has overflowed
|
|
unsigned AIOLA : 1; //!< [14] Pair A Input Task Overload
|
|
unsigned AIOLB : 1; //!< [15] Pair B Input Task Overload
|
|
unsigned AIOLC : 1; //!< [16] Pair C Input Task Overload
|
|
unsigned AOOLA : 1; //!< [17] Pair A Output Task Overload
|
|
unsigned AOOLB : 1; //!< [18] Pair B Output Task Overload
|
|
unsigned AOOLC : 1; //!< [19] Pair C Output Task Overload
|
|
unsigned ATQOL : 1; //!< [20] Task Queue FIFO overload
|
|
unsigned DSLCNT : 1; //!< [21] DSL Counter Input to FIFO ready
|
|
unsigned RESERVED0 : 2; //!< [23:22] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrstr_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRSTR register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRSTR_ADDR (REGS_ASRC_BASE + 0x20)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRSTR (*(volatile hw_asrc_asrstr_t *) HW_ASRC_ASRSTR_ADDR)
|
|
#define HW_ASRC_ASRSTR_RD() (HW_ASRC_ASRSTR.U)
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRSTR bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIDEA[0] (RO)
|
|
*
|
|
* Number of data in Input Data Buffer A is less than threshold When set, this bit indicates that
|
|
* number of data still available in ASRDIRA is less than threshold and the processor can write data
|
|
* to ASRDIRA. When AIDEA is set, the ASRC generates data input A interrupt request to the
|
|
* processor, if enabled (that is, ASRCTR:ADIEA = 1). A DMA request is always generated when the
|
|
* AIDEA bit is set, but a DMA transfer takes place only if a DMA channel is active and triggered by
|
|
* this event.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIDEA (0) //!< Bit position for ASRC_ASRSTR_AIDEA.
|
|
#define BM_ASRC_ASRSTR_AIDEA (0x00000001) //!< Bit mask for ASRC_ASRSTR_AIDEA.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIDEA from a register value.
|
|
#define BG_ASRC_ASRSTR_AIDEA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIDEA) >> BP_ASRC_ASRSTR_AIDEA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIDEB[1] (RO)
|
|
*
|
|
* Number of data in Input Data Buffer B is less than threshold When set, this bit indicates that
|
|
* number of data still available in ASRDIRB is less than threshold and the processor can write data
|
|
* to ASRDIRB. When AIDEB is set, the ASRC generates data input B interrupt request to the
|
|
* processor, if enabled (that is, ASRCTR:ADIEB = 1). A DMA request is always generated when the
|
|
* AIDEB bit is set, but a DMA transfer takes place only if a DMA channel is active and triggered by
|
|
* this event.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIDEB (1) //!< Bit position for ASRC_ASRSTR_AIDEB.
|
|
#define BM_ASRC_ASRSTR_AIDEB (0x00000002) //!< Bit mask for ASRC_ASRSTR_AIDEB.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIDEB from a register value.
|
|
#define BG_ASRC_ASRSTR_AIDEB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIDEB) >> BP_ASRC_ASRSTR_AIDEB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIDEC[2] (RO)
|
|
*
|
|
* Number of data in Input Data Buffer C is less than threshold When set, this bit indicates that
|
|
* number of data still available in ASRDIRC is less than threshold and the processor can write data
|
|
* to ASRDIRC. When AIDEC is set, the ASRC generates data input C interrupt request to the
|
|
* processor, if enabled (that is, ASRCTR:ADIEC = 1). A DMA request is always generated when the
|
|
* AIDEC bit is set, but a DMA transfer takes place only if a DMA channel is active and triggered by
|
|
* this event.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIDEC (2) //!< Bit position for ASRC_ASRSTR_AIDEC.
|
|
#define BM_ASRC_ASRSTR_AIDEC (0x00000004) //!< Bit mask for ASRC_ASRSTR_AIDEC.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIDEC from a register value.
|
|
#define BG_ASRC_ASRSTR_AIDEC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIDEC) >> BP_ASRC_ASRSTR_AIDEC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AODFA[3] (RO)
|
|
*
|
|
* Number of data in Output Data Buffer A is greater than threshold When set, this bit indicates
|
|
* that number of data already existing in ASRDORA is greater than threshold and the processor can
|
|
* read data from ASRDORA. When AODFA is set, the ASRC generates data output A interrupt request to
|
|
* the processor, if enabled (that is, ASRCTR:ADOEA = 1). A DMA request is always generated when the
|
|
* AODFA bit is set, but a DMA transfer takes place only if a DMA channel is active and triggered by
|
|
* this event.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AODFA (3) //!< Bit position for ASRC_ASRSTR_AODFA.
|
|
#define BM_ASRC_ASRSTR_AODFA (0x00000008) //!< Bit mask for ASRC_ASRSTR_AODFA.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AODFA from a register value.
|
|
#define BG_ASRC_ASRSTR_AODFA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AODFA) >> BP_ASRC_ASRSTR_AODFA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AODFB[4] (RO)
|
|
*
|
|
* Number of data in Output Data Buffer B is greater than threshold When set, this bit indicates
|
|
* that number of data already existing in ASRDORB is greater than threshold and the processor can
|
|
* read data from ASRDORB. When AODFB is set, the ASRC generates data output B interrupt request to
|
|
* the processor, if enabled (that is, ASRCTR:ADOEB = 1). A DMA request is always generated when the
|
|
* AODFB bit is set, but a DMA transfer takes place only if a DMA channel is active and triggered by
|
|
* this event.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AODFB (4) //!< Bit position for ASRC_ASRSTR_AODFB.
|
|
#define BM_ASRC_ASRSTR_AODFB (0x00000010) //!< Bit mask for ASRC_ASRSTR_AODFB.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AODFB from a register value.
|
|
#define BG_ASRC_ASRSTR_AODFB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AODFB) >> BP_ASRC_ASRSTR_AODFB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AODFC[5] (RO)
|
|
*
|
|
* Number of data in Output Data Buffer C is greater than threshold When set, this bit indicates
|
|
* that number of data already existing in ASRDORC is greater than threshold and the processor can
|
|
* read data from ASRDORC. When AODFC is set, the ASRC generates data output C interrupt request to
|
|
* the processor, if enabled (that is, ASRCTR:ADOEC = 1). A DMA request is always generated when the
|
|
* AODFC bit is set, but a DMA transfer takes place only if a DMA channel is active and triggered by
|
|
* this event.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AODFC (5) //!< Bit position for ASRC_ASRSTR_AODFC.
|
|
#define BM_ASRC_ASRSTR_AODFC (0x00000020) //!< Bit mask for ASRC_ASRSTR_AODFC.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AODFC from a register value.
|
|
#define BG_ASRC_ASRSTR_AODFC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AODFC) >> BP_ASRC_ASRSTR_AODFC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AOLE[6] (RO)
|
|
*
|
|
* Overload Error Flag When set, this bit indicates that the task rate is too high for the ASRC to
|
|
* handle. The reasons for overload may be: - too high input clock frequency, - too high output
|
|
* clock frequency, - incorrect selection of the pre-filter, - low ASRC processing clock, - too many
|
|
* channels, - underrun, - or any combination of the reasons above. Since the ASRC uses the same
|
|
* hardware resources to perform various tasks, the real reason for the overload is not straight
|
|
* forward, and it should be carefully analyzed by the programmer. If ASRCTR:AOLIE=1, an interrupt
|
|
* will be proposed when this bit is set. Write any value with this bit set as one into the status
|
|
* register will clear this bit and the interrupt request proposed by this bit.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AOLE (6) //!< Bit position for ASRC_ASRSTR_AOLE.
|
|
#define BM_ASRC_ASRSTR_AOLE (0x00000040) //!< Bit mask for ASRC_ASRSTR_AOLE.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AOLE from a register value.
|
|
#define BG_ASRC_ASRSTR_AOLE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AOLE) >> BP_ASRC_ASRSTR_AOLE)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field FPWT[7] (RO)
|
|
*
|
|
* FP is in wait states This bit is for debug only. When set, this bit indicates that ASRC is in
|
|
* wait states. When clear, this bit indicates that ASRC is not in wait states. If ASRCTR:AFPWE=1
|
|
* and ASRCTR:ASDBG=1, an interrupt will be proposed when this bit is set.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_FPWT (7) //!< Bit position for ASRC_ASRSTR_FPWT.
|
|
#define BM_ASRC_ASRSTR_FPWT (0x00000080) //!< Bit mask for ASRC_ASRSTR_FPWT.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_FPWT from a register value.
|
|
#define BG_ASRC_ASRSTR_FPWT(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_FPWT) >> BP_ASRC_ASRSTR_FPWT)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIDUA[8] (RO)
|
|
*
|
|
* Input Data Buffer A has underflowed When set, this bit indicates that input data buffer A has
|
|
* underflowed. When clear, this bit indicates that input data buffer A has not underflowed.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIDUA (8) //!< Bit position for ASRC_ASRSTR_AIDUA.
|
|
#define BM_ASRC_ASRSTR_AIDUA (0x00000100) //!< Bit mask for ASRC_ASRSTR_AIDUA.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIDUA from a register value.
|
|
#define BG_ASRC_ASRSTR_AIDUA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIDUA) >> BP_ASRC_ASRSTR_AIDUA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIDUB[9] (RO)
|
|
*
|
|
* Input Data Buffer B has underflowed When set, this bit indicates that input data buffer B has
|
|
* underflowed. When clear, this bit indicates that input data buffer B has not underflowed.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIDUB (9) //!< Bit position for ASRC_ASRSTR_AIDUB.
|
|
#define BM_ASRC_ASRSTR_AIDUB (0x00000200) //!< Bit mask for ASRC_ASRSTR_AIDUB.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIDUB from a register value.
|
|
#define BG_ASRC_ASRSTR_AIDUB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIDUB) >> BP_ASRC_ASRSTR_AIDUB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIDUC[10] (RO)
|
|
*
|
|
* Input Data Buffer C has underflowed When set, this bit indicates that input data buffer C has
|
|
* underflowed. When clear, this bit indicates that input data buffer C has not underflowed.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIDUC (10) //!< Bit position for ASRC_ASRSTR_AIDUC.
|
|
#define BM_ASRC_ASRSTR_AIDUC (0x00000400) //!< Bit mask for ASRC_ASRSTR_AIDUC.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIDUC from a register value.
|
|
#define BG_ASRC_ASRSTR_AIDUC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIDUC) >> BP_ASRC_ASRSTR_AIDUC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AODOA[11] (RO)
|
|
*
|
|
* Output Data Buffer A has overflowed When set, this bit indicates that output data buffer A has
|
|
* overflowed. When clear, this bit indicates that output data buffer A has not overflowed
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AODOA (11) //!< Bit position for ASRC_ASRSTR_AODOA.
|
|
#define BM_ASRC_ASRSTR_AODOA (0x00000800) //!< Bit mask for ASRC_ASRSTR_AODOA.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AODOA from a register value.
|
|
#define BG_ASRC_ASRSTR_AODOA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AODOA) >> BP_ASRC_ASRSTR_AODOA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AODOB[12] (RO)
|
|
*
|
|
* Output Data Buffer B has overflowed When set, this bit indicates that output data buffer B has
|
|
* overflowed. When clear, this bit indicates that output data buffer B has not overflowed
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AODOB (12) //!< Bit position for ASRC_ASRSTR_AODOB.
|
|
#define BM_ASRC_ASRSTR_AODOB (0x00001000) //!< Bit mask for ASRC_ASRSTR_AODOB.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AODOB from a register value.
|
|
#define BG_ASRC_ASRSTR_AODOB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AODOB) >> BP_ASRC_ASRSTR_AODOB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AODOC[13] (RO)
|
|
*
|
|
* Output Data Buffer C has overflowed When set, this bit indicates that output data buffer C has
|
|
* overflowed. When clear, this bit indicates that output data buffer C has not overflowed
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AODOC (13) //!< Bit position for ASRC_ASRSTR_AODOC.
|
|
#define BM_ASRC_ASRSTR_AODOC (0x00002000) //!< Bit mask for ASRC_ASRSTR_AODOC.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AODOC from a register value.
|
|
#define BG_ASRC_ASRSTR_AODOC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AODOC) >> BP_ASRC_ASRSTR_AODOC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIOLA[14] (RO)
|
|
*
|
|
* Pair A Input Task Overload When set, this bit indicates that pair A input task is oveloaded. This
|
|
* may help to check the reason why overload interrupt happens. The bit is cleared when writing
|
|
* ASRCTR:AOLIE as 1.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIOLA (14) //!< Bit position for ASRC_ASRSTR_AIOLA.
|
|
#define BM_ASRC_ASRSTR_AIOLA (0x00004000) //!< Bit mask for ASRC_ASRSTR_AIOLA.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIOLA from a register value.
|
|
#define BG_ASRC_ASRSTR_AIOLA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIOLA) >> BP_ASRC_ASRSTR_AIOLA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIOLB[15] (RO)
|
|
*
|
|
* Pair B Input Task Overload When set, this bit indicates that pair B input task is oveloaded. This
|
|
* may help to check the reason why overload interrupt happens. The bit is cleared when writing
|
|
* ASRCTR:AOLIE as 1.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIOLB (15) //!< Bit position for ASRC_ASRSTR_AIOLB.
|
|
#define BM_ASRC_ASRSTR_AIOLB (0x00008000) //!< Bit mask for ASRC_ASRSTR_AIOLB.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIOLB from a register value.
|
|
#define BG_ASRC_ASRSTR_AIOLB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIOLB) >> BP_ASRC_ASRSTR_AIOLB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AIOLC[16] (RO)
|
|
*
|
|
* Pair C Input Task Overload When set, this bit indicates that pair C input task is oveloaded. This
|
|
* may help to check the reason why overload interrupt happens. The bit is cleared when writing
|
|
* ASRCTR:AOLIE as 1.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AIOLC (16) //!< Bit position for ASRC_ASRSTR_AIOLC.
|
|
#define BM_ASRC_ASRSTR_AIOLC (0x00010000) //!< Bit mask for ASRC_ASRSTR_AIOLC.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AIOLC from a register value.
|
|
#define BG_ASRC_ASRSTR_AIOLC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AIOLC) >> BP_ASRC_ASRSTR_AIOLC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AOOLA[17] (RO)
|
|
*
|
|
* Pair A Output Task Overload When set, this bit indicates that pair A output task is oveloaded.
|
|
* This may help to check the reason why overload interrupt happens. The bit is cleared when writing
|
|
* ASRCTR:AOLIE as 1.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AOOLA (17) //!< Bit position for ASRC_ASRSTR_AOOLA.
|
|
#define BM_ASRC_ASRSTR_AOOLA (0x00020000) //!< Bit mask for ASRC_ASRSTR_AOOLA.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AOOLA from a register value.
|
|
#define BG_ASRC_ASRSTR_AOOLA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AOOLA) >> BP_ASRC_ASRSTR_AOOLA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AOOLB[18] (RO)
|
|
*
|
|
* Pair B Output Task Overload When set, this bit indicates that pair B output task is oveloaded.
|
|
* This may help to check the reason why overload interrupt happens. The bit is cleared when writing
|
|
* ASRCTR:AOLIE as 1.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AOOLB (18) //!< Bit position for ASRC_ASRSTR_AOOLB.
|
|
#define BM_ASRC_ASRSTR_AOOLB (0x00040000) //!< Bit mask for ASRC_ASRSTR_AOOLB.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AOOLB from a register value.
|
|
#define BG_ASRC_ASRSTR_AOOLB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AOOLB) >> BP_ASRC_ASRSTR_AOOLB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field AOOLC[19] (RO)
|
|
*
|
|
* Pair C Output Task Overload When set, this bit indicates that pair C output task is oveloaded.
|
|
* This may help to check the reason why overload interrupt happens. The bit is cleared when writing
|
|
* ASRCTR:AOLIE as 1.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_AOOLC (19) //!< Bit position for ASRC_ASRSTR_AOOLC.
|
|
#define BM_ASRC_ASRSTR_AOOLC (0x00080000) //!< Bit mask for ASRC_ASRSTR_AOOLC.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_AOOLC from a register value.
|
|
#define BG_ASRC_ASRSTR_AOOLC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_AOOLC) >> BP_ASRC_ASRSTR_AOOLC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field ATQOL[20] (RO)
|
|
*
|
|
* Task Queue FIFO overload When set, this bit indicates that task queue FIFO logic is oveloaded.
|
|
* This may help to check the reason why overload interrupt happens. The bit is cleared when writing
|
|
* ASRCTR:AOLIE as 1.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_ATQOL (20) //!< Bit position for ASRC_ASRSTR_ATQOL.
|
|
#define BM_ASRC_ASRSTR_ATQOL (0x00100000) //!< Bit mask for ASRC_ASRSTR_ATQOL.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_ATQOL from a register value.
|
|
#define BG_ASRC_ASRSTR_ATQOL(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_ATQOL) >> BP_ASRC_ASRSTR_ATQOL)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field DSLCNT[21] (RO)
|
|
*
|
|
* DSL Counter Input to FIFO ready When set, this bit indicates that new DSL counter information is
|
|
* stored in the internal ASRC FIFO. When clear, this bit indicates that new DSL counter information
|
|
* is in the process of storage into the internal ASRC FIFO. When ASRIER:AFPWE=1, the rising edge of
|
|
* this signal will propose an interrupt request. Writing any value with this bit set will clear the
|
|
* interrupt request proposed by the rising edge of this bit.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_DSLCNT (21) //!< Bit position for ASRC_ASRSTR_DSLCNT.
|
|
#define BM_ASRC_ASRSTR_DSLCNT (0x00200000) //!< Bit mask for ASRC_ASRSTR_DSLCNT.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_DSLCNT from a register value.
|
|
#define BG_ASRC_ASRSTR_DSLCNT(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_DSLCNT) >> BP_ASRC_ASRSTR_DSLCNT)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRSTR, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRSTR_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRSTR_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRSTR_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRSTR_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRSTR_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRSTR_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRSTR_UNIMPLEMENTED) >> BP_ASRC_ASRSTR_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRPMN1 - ASRC Parameter Register n
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRPMN1 - ASRC Parameter Register n (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* Parameter registers determine the performance of ASRC. The parameter registers must be
|
|
* initialized by software before ASRC is enabled. Recommended values are given in ASRC Misc Control
|
|
* Register 1 for Pair C below, ASRC Parameter Registers (ASRPM1~ASRPM5) Register Offset Access
|
|
* Reset Value Recommend Value asrcpm1 0x40 R/W 0x00_0000 0x7fffff asrcpm2 0x44 R/W 0x00_0000
|
|
* 0x255555 asrcpm3 0x48 R/W 0x00_0000 0xff7280 asrcpm4 0x4C R/W 0x00_0000 0xff7280 asrcpm5 0x50 R/W
|
|
* 0x00_0000 0xff7280
|
|
*/
|
|
typedef union _hw_asrc_asrpmn1
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrpmn1_bitfields
|
|
{
|
|
unsigned PARAMETER_VALUE : 24; //!< [23:0] See recommended values table.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrpmn1_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRPMN1 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRPMN1_ADDR (REGS_ASRC_BASE + 0x40)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRPMN1 (*(volatile hw_asrc_asrpmn1_t *) HW_ASRC_ASRPMN1_ADDR)
|
|
#define HW_ASRC_ASRPMN1_RD() (HW_ASRC_ASRPMN1.U)
|
|
#define HW_ASRC_ASRPMN1_WR(v) (HW_ASRC_ASRPMN1.U = (v))
|
|
#define HW_ASRC_ASRPMN1_SET(v) (HW_ASRC_ASRPMN1_WR(HW_ASRC_ASRPMN1_RD() | (v)))
|
|
#define HW_ASRC_ASRPMN1_CLR(v) (HW_ASRC_ASRPMN1_WR(HW_ASRC_ASRPMN1_RD() & ~(v)))
|
|
#define HW_ASRC_ASRPMN1_TOG(v) (HW_ASRC_ASRPMN1_WR(HW_ASRC_ASRPMN1_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRPMN1 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRPMN1, field PARAMETER_VALUE[23:0] (RW)
|
|
*
|
|
* See recommended values table.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN1_PARAMETER_VALUE (0) //!< Bit position for ASRC_ASRPMN1_PARAMETER_VALUE.
|
|
#define BM_ASRC_ASRPMN1_PARAMETER_VALUE (0x00ffffff) //!< Bit mask for ASRC_ASRPMN1_PARAMETER_VALUE.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN1_PARAMETER_VALUE from a register value.
|
|
#define BG_ASRC_ASRPMN1_PARAMETER_VALUE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN1_PARAMETER_VALUE) >> BP_ASRC_ASRPMN1_PARAMETER_VALUE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRPMN1_PARAMETER_VALUE.
|
|
#define BF_ASRC_ASRPMN1_PARAMETER_VALUE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRPMN1_PARAMETER_VALUE) & BM_ASRC_ASRPMN1_PARAMETER_VALUE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PARAMETER_VALUE field to a new value.
|
|
#define BW_ASRC_ASRPMN1_PARAMETER_VALUE(v) (HW_ASRC_ASRPMN1_WR((HW_ASRC_ASRPMN1_RD() & ~BM_ASRC_ASRPMN1_PARAMETER_VALUE) | BF_ASRC_ASRPMN1_PARAMETER_VALUE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRPMN1, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN1_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRPMN1_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRPMN1_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRPMN1_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN1_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRPMN1_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN1_UNIMPLEMENTED) >> BP_ASRC_ASRPMN1_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRPMN2 - ASRC Parameter Register n
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRPMN2 - ASRC Parameter Register n (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* Parameter registers determine the performance of ASRC. The parameter registers must be
|
|
* initialized by software before ASRC is enabled. Recommended values are given in ASRC Misc Control
|
|
* Register 1 for Pair C below, ASRC Parameter Registers (ASRPM1~ASRPM5) Register Offset Access
|
|
* Reset Value Recommend Value asrcpm1 0x40 R/W 0x00_0000 0x7fffff asrcpm2 0x44 R/W 0x00_0000
|
|
* 0x255555 asrcpm3 0x48 R/W 0x00_0000 0xff7280 asrcpm4 0x4C R/W 0x00_0000 0xff7280 asrcpm5 0x50 R/W
|
|
* 0x00_0000 0xff7280
|
|
*/
|
|
typedef union _hw_asrc_asrpmn2
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrpmn2_bitfields
|
|
{
|
|
unsigned PARAMETER_VALUE : 24; //!< [23:0] See recommended values table.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrpmn2_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRPMN2 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRPMN2_ADDR (REGS_ASRC_BASE + 0x44)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRPMN2 (*(volatile hw_asrc_asrpmn2_t *) HW_ASRC_ASRPMN2_ADDR)
|
|
#define HW_ASRC_ASRPMN2_RD() (HW_ASRC_ASRPMN2.U)
|
|
#define HW_ASRC_ASRPMN2_WR(v) (HW_ASRC_ASRPMN2.U = (v))
|
|
#define HW_ASRC_ASRPMN2_SET(v) (HW_ASRC_ASRPMN2_WR(HW_ASRC_ASRPMN2_RD() | (v)))
|
|
#define HW_ASRC_ASRPMN2_CLR(v) (HW_ASRC_ASRPMN2_WR(HW_ASRC_ASRPMN2_RD() & ~(v)))
|
|
#define HW_ASRC_ASRPMN2_TOG(v) (HW_ASRC_ASRPMN2_WR(HW_ASRC_ASRPMN2_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRPMN2 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRPMN2, field PARAMETER_VALUE[23:0] (RW)
|
|
*
|
|
* See recommended values table.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN2_PARAMETER_VALUE (0) //!< Bit position for ASRC_ASRPMN2_PARAMETER_VALUE.
|
|
#define BM_ASRC_ASRPMN2_PARAMETER_VALUE (0x00ffffff) //!< Bit mask for ASRC_ASRPMN2_PARAMETER_VALUE.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN2_PARAMETER_VALUE from a register value.
|
|
#define BG_ASRC_ASRPMN2_PARAMETER_VALUE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN2_PARAMETER_VALUE) >> BP_ASRC_ASRPMN2_PARAMETER_VALUE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRPMN2_PARAMETER_VALUE.
|
|
#define BF_ASRC_ASRPMN2_PARAMETER_VALUE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRPMN2_PARAMETER_VALUE) & BM_ASRC_ASRPMN2_PARAMETER_VALUE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PARAMETER_VALUE field to a new value.
|
|
#define BW_ASRC_ASRPMN2_PARAMETER_VALUE(v) (HW_ASRC_ASRPMN2_WR((HW_ASRC_ASRPMN2_RD() & ~BM_ASRC_ASRPMN2_PARAMETER_VALUE) | BF_ASRC_ASRPMN2_PARAMETER_VALUE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRPMN2, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN2_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRPMN2_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRPMN2_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRPMN2_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN2_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRPMN2_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN2_UNIMPLEMENTED) >> BP_ASRC_ASRPMN2_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRPMN3 - ASRC Parameter Register n
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRPMN3 - ASRC Parameter Register n (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* Parameter registers determine the performance of ASRC. The parameter registers must be
|
|
* initialized by software before ASRC is enabled. Recommended values are given in ASRC Misc Control
|
|
* Register 1 for Pair C below, ASRC Parameter Registers (ASRPM1~ASRPM5) Register Offset Access
|
|
* Reset Value Recommend Value asrcpm1 0x40 R/W 0x00_0000 0x7fffff asrcpm2 0x44 R/W 0x00_0000
|
|
* 0x255555 asrcpm3 0x48 R/W 0x00_0000 0xff7280 asrcpm4 0x4C R/W 0x00_0000 0xff7280 asrcpm5 0x50 R/W
|
|
* 0x00_0000 0xff7280
|
|
*/
|
|
typedef union _hw_asrc_asrpmn3
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrpmn3_bitfields
|
|
{
|
|
unsigned PARAMETER_VALUE : 24; //!< [23:0] See recommended values table.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrpmn3_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRPMN3 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRPMN3_ADDR (REGS_ASRC_BASE + 0x48)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRPMN3 (*(volatile hw_asrc_asrpmn3_t *) HW_ASRC_ASRPMN3_ADDR)
|
|
#define HW_ASRC_ASRPMN3_RD() (HW_ASRC_ASRPMN3.U)
|
|
#define HW_ASRC_ASRPMN3_WR(v) (HW_ASRC_ASRPMN3.U = (v))
|
|
#define HW_ASRC_ASRPMN3_SET(v) (HW_ASRC_ASRPMN3_WR(HW_ASRC_ASRPMN3_RD() | (v)))
|
|
#define HW_ASRC_ASRPMN3_CLR(v) (HW_ASRC_ASRPMN3_WR(HW_ASRC_ASRPMN3_RD() & ~(v)))
|
|
#define HW_ASRC_ASRPMN3_TOG(v) (HW_ASRC_ASRPMN3_WR(HW_ASRC_ASRPMN3_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRPMN3 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRPMN3, field PARAMETER_VALUE[23:0] (RW)
|
|
*
|
|
* See recommended values table.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN3_PARAMETER_VALUE (0) //!< Bit position for ASRC_ASRPMN3_PARAMETER_VALUE.
|
|
#define BM_ASRC_ASRPMN3_PARAMETER_VALUE (0x00ffffff) //!< Bit mask for ASRC_ASRPMN3_PARAMETER_VALUE.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN3_PARAMETER_VALUE from a register value.
|
|
#define BG_ASRC_ASRPMN3_PARAMETER_VALUE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN3_PARAMETER_VALUE) >> BP_ASRC_ASRPMN3_PARAMETER_VALUE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRPMN3_PARAMETER_VALUE.
|
|
#define BF_ASRC_ASRPMN3_PARAMETER_VALUE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRPMN3_PARAMETER_VALUE) & BM_ASRC_ASRPMN3_PARAMETER_VALUE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PARAMETER_VALUE field to a new value.
|
|
#define BW_ASRC_ASRPMN3_PARAMETER_VALUE(v) (HW_ASRC_ASRPMN3_WR((HW_ASRC_ASRPMN3_RD() & ~BM_ASRC_ASRPMN3_PARAMETER_VALUE) | BF_ASRC_ASRPMN3_PARAMETER_VALUE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRPMN3, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN3_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRPMN3_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRPMN3_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRPMN3_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN3_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRPMN3_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN3_UNIMPLEMENTED) >> BP_ASRC_ASRPMN3_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRPMN4 - ASRC Parameter Register n
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRPMN4 - ASRC Parameter Register n (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* Parameter registers determine the performance of ASRC. The parameter registers must be
|
|
* initialized by software before ASRC is enabled. Recommended values are given in ASRC Misc Control
|
|
* Register 1 for Pair C below, ASRC Parameter Registers (ASRPM1~ASRPM5) Register Offset Access
|
|
* Reset Value Recommend Value asrcpm1 0x40 R/W 0x00_0000 0x7fffff asrcpm2 0x44 R/W 0x00_0000
|
|
* 0x255555 asrcpm3 0x48 R/W 0x00_0000 0xff7280 asrcpm4 0x4C R/W 0x00_0000 0xff7280 asrcpm5 0x50 R/W
|
|
* 0x00_0000 0xff7280
|
|
*/
|
|
typedef union _hw_asrc_asrpmn4
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrpmn4_bitfields
|
|
{
|
|
unsigned PARAMETER_VALUE : 24; //!< [23:0] See recommended values table.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrpmn4_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRPMN4 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRPMN4_ADDR (REGS_ASRC_BASE + 0x4c)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRPMN4 (*(volatile hw_asrc_asrpmn4_t *) HW_ASRC_ASRPMN4_ADDR)
|
|
#define HW_ASRC_ASRPMN4_RD() (HW_ASRC_ASRPMN4.U)
|
|
#define HW_ASRC_ASRPMN4_WR(v) (HW_ASRC_ASRPMN4.U = (v))
|
|
#define HW_ASRC_ASRPMN4_SET(v) (HW_ASRC_ASRPMN4_WR(HW_ASRC_ASRPMN4_RD() | (v)))
|
|
#define HW_ASRC_ASRPMN4_CLR(v) (HW_ASRC_ASRPMN4_WR(HW_ASRC_ASRPMN4_RD() & ~(v)))
|
|
#define HW_ASRC_ASRPMN4_TOG(v) (HW_ASRC_ASRPMN4_WR(HW_ASRC_ASRPMN4_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRPMN4 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRPMN4, field PARAMETER_VALUE[23:0] (RW)
|
|
*
|
|
* See recommended values table.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN4_PARAMETER_VALUE (0) //!< Bit position for ASRC_ASRPMN4_PARAMETER_VALUE.
|
|
#define BM_ASRC_ASRPMN4_PARAMETER_VALUE (0x00ffffff) //!< Bit mask for ASRC_ASRPMN4_PARAMETER_VALUE.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN4_PARAMETER_VALUE from a register value.
|
|
#define BG_ASRC_ASRPMN4_PARAMETER_VALUE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN4_PARAMETER_VALUE) >> BP_ASRC_ASRPMN4_PARAMETER_VALUE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRPMN4_PARAMETER_VALUE.
|
|
#define BF_ASRC_ASRPMN4_PARAMETER_VALUE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRPMN4_PARAMETER_VALUE) & BM_ASRC_ASRPMN4_PARAMETER_VALUE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PARAMETER_VALUE field to a new value.
|
|
#define BW_ASRC_ASRPMN4_PARAMETER_VALUE(v) (HW_ASRC_ASRPMN4_WR((HW_ASRC_ASRPMN4_RD() & ~BM_ASRC_ASRPMN4_PARAMETER_VALUE) | BF_ASRC_ASRPMN4_PARAMETER_VALUE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRPMN4, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN4_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRPMN4_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRPMN4_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRPMN4_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN4_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRPMN4_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN4_UNIMPLEMENTED) >> BP_ASRC_ASRPMN4_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRPMN5 - ASRC Parameter Register n
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRPMN5 - ASRC Parameter Register n (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* Parameter registers determine the performance of ASRC. The parameter registers must be
|
|
* initialized by software before ASRC is enabled. Recommended values are given in ASRC Misc Control
|
|
* Register 1 for Pair C below, ASRC Parameter Registers (ASRPM1~ASRPM5) Register Offset Access
|
|
* Reset Value Recommend Value asrcpm1 0x40 R/W 0x00_0000 0x7fffff asrcpm2 0x44 R/W 0x00_0000
|
|
* 0x255555 asrcpm3 0x48 R/W 0x00_0000 0xff7280 asrcpm4 0x4C R/W 0x00_0000 0xff7280 asrcpm5 0x50 R/W
|
|
* 0x00_0000 0xff7280
|
|
*/
|
|
typedef union _hw_asrc_asrpmn5
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrpmn5_bitfields
|
|
{
|
|
unsigned PARAMETER_VALUE : 24; //!< [23:0] See recommended values table.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrpmn5_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRPMN5 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRPMN5_ADDR (REGS_ASRC_BASE + 0x50)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRPMN5 (*(volatile hw_asrc_asrpmn5_t *) HW_ASRC_ASRPMN5_ADDR)
|
|
#define HW_ASRC_ASRPMN5_RD() (HW_ASRC_ASRPMN5.U)
|
|
#define HW_ASRC_ASRPMN5_WR(v) (HW_ASRC_ASRPMN5.U = (v))
|
|
#define HW_ASRC_ASRPMN5_SET(v) (HW_ASRC_ASRPMN5_WR(HW_ASRC_ASRPMN5_RD() | (v)))
|
|
#define HW_ASRC_ASRPMN5_CLR(v) (HW_ASRC_ASRPMN5_WR(HW_ASRC_ASRPMN5_RD() & ~(v)))
|
|
#define HW_ASRC_ASRPMN5_TOG(v) (HW_ASRC_ASRPMN5_WR(HW_ASRC_ASRPMN5_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRPMN5 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRPMN5, field PARAMETER_VALUE[23:0] (RW)
|
|
*
|
|
* See recommended values table.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN5_PARAMETER_VALUE (0) //!< Bit position for ASRC_ASRPMN5_PARAMETER_VALUE.
|
|
#define BM_ASRC_ASRPMN5_PARAMETER_VALUE (0x00ffffff) //!< Bit mask for ASRC_ASRPMN5_PARAMETER_VALUE.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN5_PARAMETER_VALUE from a register value.
|
|
#define BG_ASRC_ASRPMN5_PARAMETER_VALUE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN5_PARAMETER_VALUE) >> BP_ASRC_ASRPMN5_PARAMETER_VALUE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRPMN5_PARAMETER_VALUE.
|
|
#define BF_ASRC_ASRPMN5_PARAMETER_VALUE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRPMN5_PARAMETER_VALUE) & BM_ASRC_ASRPMN5_PARAMETER_VALUE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the PARAMETER_VALUE field to a new value.
|
|
#define BW_ASRC_ASRPMN5_PARAMETER_VALUE(v) (HW_ASRC_ASRPMN5_WR((HW_ASRC_ASRPMN5_RD() & ~BM_ASRC_ASRPMN5_PARAMETER_VALUE) | BF_ASRC_ASRPMN5_PARAMETER_VALUE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRPMN5, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRPMN5_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRPMN5_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRPMN5_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRPMN5_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRPMN5_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRPMN5_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRPMN5_UNIMPLEMENTED) >> BP_ASRC_ASRPMN5_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRTFR1 - ASRC ASRC Task Queue FIFO Register 1
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRTFR1 - ASRC ASRC Task Queue FIFO Register 1 (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register defines and shows the parameters for ASRC inner task queue FIFOs.
|
|
*/
|
|
typedef union _hw_asrc_asrtfr1
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrtfr1_bitfields
|
|
{
|
|
unsigned RESERVED0 : 6; //!< [5:0] Reserved.
|
|
unsigned TF_BASE : 7; //!< [12:6] Base address for task queue FIFO.
|
|
unsigned TF_FILL : 7; //!< [19:13] Current number of entries in task queue FIFO.
|
|
unsigned RESERVED1 : 4; //!< [23:20] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrtfr1_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRTFR1 register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRTFR1_ADDR (REGS_ASRC_BASE + 0x54)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRTFR1 (*(volatile hw_asrc_asrtfr1_t *) HW_ASRC_ASRTFR1_ADDR)
|
|
#define HW_ASRC_ASRTFR1_RD() (HW_ASRC_ASRTFR1.U)
|
|
#define HW_ASRC_ASRTFR1_WR(v) (HW_ASRC_ASRTFR1.U = (v))
|
|
#define HW_ASRC_ASRTFR1_SET(v) (HW_ASRC_ASRTFR1_WR(HW_ASRC_ASRTFR1_RD() | (v)))
|
|
#define HW_ASRC_ASRTFR1_CLR(v) (HW_ASRC_ASRTFR1_WR(HW_ASRC_ASRTFR1_RD() & ~(v)))
|
|
#define HW_ASRC_ASRTFR1_TOG(v) (HW_ASRC_ASRTFR1_WR(HW_ASRC_ASRTFR1_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRTFR1 bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRTFR1, field TF_BASE[12:6] (RW)
|
|
*
|
|
* Base address for task queue FIFO. Set to 0x7C.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRTFR1_TF_BASE (6) //!< Bit position for ASRC_ASRTFR1_TF_BASE.
|
|
#define BM_ASRC_ASRTFR1_TF_BASE (0x00001fc0) //!< Bit mask for ASRC_ASRTFR1_TF_BASE.
|
|
|
|
//! @brief Get value of ASRC_ASRTFR1_TF_BASE from a register value.
|
|
#define BG_ASRC_ASRTFR1_TF_BASE(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRTFR1_TF_BASE) >> BP_ASRC_ASRTFR1_TF_BASE)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRTFR1_TF_BASE.
|
|
#define BF_ASRC_ASRTFR1_TF_BASE(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRTFR1_TF_BASE) & BM_ASRC_ASRTFR1_TF_BASE)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the TF_BASE field to a new value.
|
|
#define BW_ASRC_ASRTFR1_TF_BASE(v) (HW_ASRC_ASRTFR1_WR((HW_ASRC_ASRTFR1_RD() & ~BM_ASRC_ASRTFR1_TF_BASE) | BF_ASRC_ASRTFR1_TF_BASE(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRTFR1, field TF_FILL[19:13] (RO)
|
|
*
|
|
* Current number of entries in task queue FIFO.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRTFR1_TF_FILL (13) //!< Bit position for ASRC_ASRTFR1_TF_FILL.
|
|
#define BM_ASRC_ASRTFR1_TF_FILL (0x000fe000) //!< Bit mask for ASRC_ASRTFR1_TF_FILL.
|
|
|
|
//! @brief Get value of ASRC_ASRTFR1_TF_FILL from a register value.
|
|
#define BG_ASRC_ASRTFR1_TF_FILL(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRTFR1_TF_FILL) >> BP_ASRC_ASRTFR1_TF_FILL)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRTFR1, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRTFR1_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRTFR1_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRTFR1_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRTFR1_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRTFR1_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRTFR1_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRTFR1_UNIMPLEMENTED) >> BP_ASRC_ASRTFR1_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRCCR - ASRC Channel Counter Register
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRCCR - ASRC Channel Counter Register (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ASRC channel counter register (ASRCCR) is a 24-bit read/write register that sets and reflects
|
|
* the current specific input/output FIFO being accessed through shared peripheral bus for each ASRC
|
|
* conversion pair.
|
|
*/
|
|
typedef union _hw_asrc_asrccr
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrccr_bitfields
|
|
{
|
|
unsigned ACIA : 4; //!< [3:0] The channel counter for Pair A's input FIFO
|
|
unsigned ACIB : 4; //!< [7:4] The channel counter for Pair B's input FIFO
|
|
unsigned ACIC : 4; //!< [11:8] The channel counter for Pair C's input FIFO
|
|
unsigned ACOA : 4; //!< [15:12] The channel counter for Pair A's output FIFO
|
|
unsigned ACOB : 4; //!< [19:16] The channel counter for Pair B's output FIFO
|
|
unsigned ACOC : 4; //!< [23:20] The channel counter for Pair C's output FIFO
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrccr_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRCCR register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRCCR_ADDR (REGS_ASRC_BASE + 0x5c)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRCCR (*(volatile hw_asrc_asrccr_t *) HW_ASRC_ASRCCR_ADDR)
|
|
#define HW_ASRC_ASRCCR_RD() (HW_ASRC_ASRCCR.U)
|
|
#define HW_ASRC_ASRCCR_WR(v) (HW_ASRC_ASRCCR.U = (v))
|
|
#define HW_ASRC_ASRCCR_SET(v) (HW_ASRC_ASRCCR_WR(HW_ASRC_ASRCCR_RD() | (v)))
|
|
#define HW_ASRC_ASRCCR_CLR(v) (HW_ASRC_ASRCCR_WR(HW_ASRC_ASRCCR_RD() & ~(v)))
|
|
#define HW_ASRC_ASRCCR_TOG(v) (HW_ASRC_ASRCCR_WR(HW_ASRC_ASRCCR_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRCCR bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRCCR, field ACIA[3:0] (RW)
|
|
*
|
|
* The channel counter for Pair A's input FIFO These bits stand for the current channel being
|
|
* accessed through shared peripheral bus for Pair A's input FIFO's usage. The value can be any
|
|
* value between [0, ANCA-1]
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCCR_ACIA (0) //!< Bit position for ASRC_ASRCCR_ACIA.
|
|
#define BM_ASRC_ASRCCR_ACIA (0x0000000f) //!< Bit mask for ASRC_ASRCCR_ACIA.
|
|
|
|
//! @brief Get value of ASRC_ASRCCR_ACIA from a register value.
|
|
#define BG_ASRC_ASRCCR_ACIA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCCR_ACIA) >> BP_ASRC_ASRCCR_ACIA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCCR_ACIA.
|
|
#define BF_ASRC_ASRCCR_ACIA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCCR_ACIA) & BM_ASRC_ASRCCR_ACIA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ACIA field to a new value.
|
|
#define BW_ASRC_ASRCCR_ACIA(v) (HW_ASRC_ASRCCR_WR((HW_ASRC_ASRCCR_RD() & ~BM_ASRC_ASRCCR_ACIA) | BF_ASRC_ASRCCR_ACIA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCCR, field ACIB[7:4] (RW)
|
|
*
|
|
* The channel counter for Pair B's input FIFO These bits stand for the current channel being
|
|
* accessed through shared peripheral bus for Pair B's input FIFO's usage. The value can be any
|
|
* value between [0, ANCB-1]
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCCR_ACIB (4) //!< Bit position for ASRC_ASRCCR_ACIB.
|
|
#define BM_ASRC_ASRCCR_ACIB (0x000000f0) //!< Bit mask for ASRC_ASRCCR_ACIB.
|
|
|
|
//! @brief Get value of ASRC_ASRCCR_ACIB from a register value.
|
|
#define BG_ASRC_ASRCCR_ACIB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCCR_ACIB) >> BP_ASRC_ASRCCR_ACIB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCCR_ACIB.
|
|
#define BF_ASRC_ASRCCR_ACIB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCCR_ACIB) & BM_ASRC_ASRCCR_ACIB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ACIB field to a new value.
|
|
#define BW_ASRC_ASRCCR_ACIB(v) (HW_ASRC_ASRCCR_WR((HW_ASRC_ASRCCR_RD() & ~BM_ASRC_ASRCCR_ACIB) | BF_ASRC_ASRCCR_ACIB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCCR, field ACIC[11:8] (RW)
|
|
*
|
|
* The channel counter for Pair C's input FIFO These bits stand for the current channel being
|
|
* accessed through shared peripheral bus for Pair C's input FIFO's usage. The value can be any
|
|
* value between [0, ANCC-1]
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCCR_ACIC (8) //!< Bit position for ASRC_ASRCCR_ACIC.
|
|
#define BM_ASRC_ASRCCR_ACIC (0x00000f00) //!< Bit mask for ASRC_ASRCCR_ACIC.
|
|
|
|
//! @brief Get value of ASRC_ASRCCR_ACIC from a register value.
|
|
#define BG_ASRC_ASRCCR_ACIC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCCR_ACIC) >> BP_ASRC_ASRCCR_ACIC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCCR_ACIC.
|
|
#define BF_ASRC_ASRCCR_ACIC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCCR_ACIC) & BM_ASRC_ASRCCR_ACIC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ACIC field to a new value.
|
|
#define BW_ASRC_ASRCCR_ACIC(v) (HW_ASRC_ASRCCR_WR((HW_ASRC_ASRCCR_RD() & ~BM_ASRC_ASRCCR_ACIC) | BF_ASRC_ASRCCR_ACIC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCCR, field ACOA[15:12] (RW)
|
|
*
|
|
* The channel counter for Pair A's output FIFO These bits stand for the current channel being
|
|
* accessed through shared peripheral bus for Pair A's output FIFO's usage. The value can be any
|
|
* value between [0, ANCA-1]
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCCR_ACOA (12) //!< Bit position for ASRC_ASRCCR_ACOA.
|
|
#define BM_ASRC_ASRCCR_ACOA (0x0000f000) //!< Bit mask for ASRC_ASRCCR_ACOA.
|
|
|
|
//! @brief Get value of ASRC_ASRCCR_ACOA from a register value.
|
|
#define BG_ASRC_ASRCCR_ACOA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCCR_ACOA) >> BP_ASRC_ASRCCR_ACOA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCCR_ACOA.
|
|
#define BF_ASRC_ASRCCR_ACOA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCCR_ACOA) & BM_ASRC_ASRCCR_ACOA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ACOA field to a new value.
|
|
#define BW_ASRC_ASRCCR_ACOA(v) (HW_ASRC_ASRCCR_WR((HW_ASRC_ASRCCR_RD() & ~BM_ASRC_ASRCCR_ACOA) | BF_ASRC_ASRCCR_ACOA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCCR, field ACOB[19:16] (RW)
|
|
*
|
|
* The channel counter for Pair B's output FIFO These bits stand for the current channel being
|
|
* accessed through shared peripheral bus for Pair B's output FIFO's usage. The value can be any
|
|
* value between [0, ANCB-1]
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCCR_ACOB (16) //!< Bit position for ASRC_ASRCCR_ACOB.
|
|
#define BM_ASRC_ASRCCR_ACOB (0x000f0000) //!< Bit mask for ASRC_ASRCCR_ACOB.
|
|
|
|
//! @brief Get value of ASRC_ASRCCR_ACOB from a register value.
|
|
#define BG_ASRC_ASRCCR_ACOB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCCR_ACOB) >> BP_ASRC_ASRCCR_ACOB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCCR_ACOB.
|
|
#define BF_ASRC_ASRCCR_ACOB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCCR_ACOB) & BM_ASRC_ASRCCR_ACOB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ACOB field to a new value.
|
|
#define BW_ASRC_ASRCCR_ACOB(v) (HW_ASRC_ASRCCR_WR((HW_ASRC_ASRCCR_RD() & ~BM_ASRC_ASRCCR_ACOB) | BF_ASRC_ASRCCR_ACOB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCCR, field ACOC[23:20] (RW)
|
|
*
|
|
* The channel counter for Pair C's output FIFO These bits stand for the current channel being
|
|
* accessed through shared peripheral bus for Pair C's output FIFO's usage. The value can be any
|
|
* value between [0, ANCC-1]
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCCR_ACOC (20) //!< Bit position for ASRC_ASRCCR_ACOC.
|
|
#define BM_ASRC_ASRCCR_ACOC (0x00f00000) //!< Bit mask for ASRC_ASRCCR_ACOC.
|
|
|
|
//! @brief Get value of ASRC_ASRCCR_ACOC from a register value.
|
|
#define BG_ASRC_ASRCCR_ACOC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCCR_ACOC) >> BP_ASRC_ASRCCR_ACOC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRCCR_ACOC.
|
|
#define BF_ASRC_ASRCCR_ACOC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRCCR_ACOC) & BM_ASRC_ASRCCR_ACOC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ACOC field to a new value.
|
|
#define BW_ASRC_ASRCCR_ACOC(v) (HW_ASRC_ASRCCR_WR((HW_ASRC_ASRCCR_RD() & ~BM_ASRC_ASRCCR_ACOC) | BF_ASRC_ASRCCR_ACOC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRCCR, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRCCR_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRCCR_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRCCR_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRCCR_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRCCR_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRCCR_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRCCR_UNIMPLEMENTED) >> BP_ASRC_ASRCCR_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRDIA - ASRC Data Input Register for Pair x
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRDIA - ASRC Data Input Register for Pair x (WO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* These registers are the interface registers for the audio data input of pair A,B,C respectively.
|
|
* They are backed by FIFOs.
|
|
*/
|
|
typedef union _hw_asrc_asrdia
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrdia_bitfields
|
|
{
|
|
unsigned DATA : 24; //!< [23:0] Audio data input
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrdia_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRDIA register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRDIA_ADDR (REGS_ASRC_BASE + 0x60)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRDIA (*(volatile hw_asrc_asrdia_t *) HW_ASRC_ASRDIA_ADDR)
|
|
#define HW_ASRC_ASRDIA_WR(v) (HW_ASRC_ASRDIA.U = (v))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRDIA bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRDIA, field DATA[23:0] (WO)
|
|
*
|
|
* Audio data input
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDIA_DATA (0) //!< Bit position for ASRC_ASRDIA_DATA.
|
|
#define BM_ASRC_ASRDIA_DATA (0x00ffffff) //!< Bit mask for ASRC_ASRDIA_DATA.
|
|
|
|
//! @brief Get value of ASRC_ASRDIA_DATA from a register value.
|
|
#define BG_ASRC_ASRDIA_DATA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDIA_DATA) >> BP_ASRC_ASRDIA_DATA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRDIA_DATA.
|
|
#define BF_ASRC_ASRDIA_DATA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRDIA_DATA) & BM_ASRC_ASRDIA_DATA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRDIA, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDIA_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRDIA_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRDIA_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRDIA_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRDIA_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRDIA_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDIA_UNIMPLEMENTED) >> BP_ASRC_ASRDIA_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRDOA - ASRC Data Output Register for Pair x
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRDOA - ASRC Data Output Register for Pair x (RO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* These registers are the interface registers for the audio data output of pair A,B,C respectively.
|
|
* They are backed by FIFOs.
|
|
*/
|
|
typedef union _hw_asrc_asrdoa
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrdoa_bitfields
|
|
{
|
|
unsigned DATA : 24; //!< [23:0] Audio data output
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrdoa_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRDOA register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRDOA_ADDR (REGS_ASRC_BASE + 0x64)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRDOA (*(volatile hw_asrc_asrdoa_t *) HW_ASRC_ASRDOA_ADDR)
|
|
#define HW_ASRC_ASRDOA_RD() (HW_ASRC_ASRDOA.U)
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRDOA bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRDOA, field DATA[23:0] (RO)
|
|
*
|
|
* Audio data output
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDOA_DATA (0) //!< Bit position for ASRC_ASRDOA_DATA.
|
|
#define BM_ASRC_ASRDOA_DATA (0x00ffffff) //!< Bit mask for ASRC_ASRDOA_DATA.
|
|
|
|
//! @brief Get value of ASRC_ASRDOA_DATA from a register value.
|
|
#define BG_ASRC_ASRDOA_DATA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDOA_DATA) >> BP_ASRC_ASRDOA_DATA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRDOA, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDOA_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRDOA_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRDOA_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRDOA_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRDOA_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRDOA_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDOA_UNIMPLEMENTED) >> BP_ASRC_ASRDOA_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRDIB - ASRC Data Input Register for Pair x
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRDIB - ASRC Data Input Register for Pair x (WO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* These registers are the interface registers for the audio data input of pair A,B,C respectively.
|
|
* They are backed by FIFOs.
|
|
*/
|
|
typedef union _hw_asrc_asrdib
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrdib_bitfields
|
|
{
|
|
unsigned DATA : 24; //!< [23:0] Audio data input
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrdib_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRDIB register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRDIB_ADDR (REGS_ASRC_BASE + 0x68)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRDIB (*(volatile hw_asrc_asrdib_t *) HW_ASRC_ASRDIB_ADDR)
|
|
#define HW_ASRC_ASRDIB_WR(v) (HW_ASRC_ASRDIB.U = (v))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRDIB bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRDIB, field DATA[23:0] (WO)
|
|
*
|
|
* Audio data input
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDIB_DATA (0) //!< Bit position for ASRC_ASRDIB_DATA.
|
|
#define BM_ASRC_ASRDIB_DATA (0x00ffffff) //!< Bit mask for ASRC_ASRDIB_DATA.
|
|
|
|
//! @brief Get value of ASRC_ASRDIB_DATA from a register value.
|
|
#define BG_ASRC_ASRDIB_DATA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDIB_DATA) >> BP_ASRC_ASRDIB_DATA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRDIB_DATA.
|
|
#define BF_ASRC_ASRDIB_DATA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRDIB_DATA) & BM_ASRC_ASRDIB_DATA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRDIB, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDIB_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRDIB_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRDIB_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRDIB_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRDIB_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRDIB_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDIB_UNIMPLEMENTED) >> BP_ASRC_ASRDIB_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRDOB - ASRC Data Output Register for Pair x
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRDOB - ASRC Data Output Register for Pair x (RO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* These registers are the interface registers for the audio data output of pair A,B,C respectively.
|
|
* They are backed by FIFOs.
|
|
*/
|
|
typedef union _hw_asrc_asrdob
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrdob_bitfields
|
|
{
|
|
unsigned DATA : 24; //!< [23:0] Audio data output
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrdob_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRDOB register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRDOB_ADDR (REGS_ASRC_BASE + 0x6c)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRDOB (*(volatile hw_asrc_asrdob_t *) HW_ASRC_ASRDOB_ADDR)
|
|
#define HW_ASRC_ASRDOB_RD() (HW_ASRC_ASRDOB.U)
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRDOB bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRDOB, field DATA[23:0] (RO)
|
|
*
|
|
* Audio data output
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDOB_DATA (0) //!< Bit position for ASRC_ASRDOB_DATA.
|
|
#define BM_ASRC_ASRDOB_DATA (0x00ffffff) //!< Bit mask for ASRC_ASRDOB_DATA.
|
|
|
|
//! @brief Get value of ASRC_ASRDOB_DATA from a register value.
|
|
#define BG_ASRC_ASRDOB_DATA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDOB_DATA) >> BP_ASRC_ASRDOB_DATA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRDOB, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDOB_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRDOB_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRDOB_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRDOB_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRDOB_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRDOB_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDOB_UNIMPLEMENTED) >> BP_ASRC_ASRDOB_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRDIC - ASRC Data Input Register for Pair x
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRDIC - ASRC Data Input Register for Pair x (WO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* These registers are the interface registers for the audio data input of pair A,B,C respectively.
|
|
* They are backed by FIFOs.
|
|
*/
|
|
typedef union _hw_asrc_asrdic
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrdic_bitfields
|
|
{
|
|
unsigned DATA : 24; //!< [23:0] Audio data input
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrdic_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRDIC register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRDIC_ADDR (REGS_ASRC_BASE + 0x70)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRDIC (*(volatile hw_asrc_asrdic_t *) HW_ASRC_ASRDIC_ADDR)
|
|
#define HW_ASRC_ASRDIC_WR(v) (HW_ASRC_ASRDIC.U = (v))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRDIC bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRDIC, field DATA[23:0] (WO)
|
|
*
|
|
* Audio data input
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDIC_DATA (0) //!< Bit position for ASRC_ASRDIC_DATA.
|
|
#define BM_ASRC_ASRDIC_DATA (0x00ffffff) //!< Bit mask for ASRC_ASRDIC_DATA.
|
|
|
|
//! @brief Get value of ASRC_ASRDIC_DATA from a register value.
|
|
#define BG_ASRC_ASRDIC_DATA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDIC_DATA) >> BP_ASRC_ASRDIC_DATA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRDIC_DATA.
|
|
#define BF_ASRC_ASRDIC_DATA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRDIC_DATA) & BM_ASRC_ASRDIC_DATA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRDIC, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDIC_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRDIC_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRDIC_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRDIC_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRDIC_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRDIC_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDIC_UNIMPLEMENTED) >> BP_ASRC_ASRDIC_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRDOC - ASRC Data Output Register for Pair x
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRDOC - ASRC Data Output Register for Pair x (RO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* These registers are the interface registers for the audio data output of pair A,B,C respectively.
|
|
* They are backed by FIFOs.
|
|
*/
|
|
typedef union _hw_asrc_asrdoc
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrdoc_bitfields
|
|
{
|
|
unsigned DATA : 24; //!< [23:0] Audio data output
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrdoc_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRDOC register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRDOC_ADDR (REGS_ASRC_BASE + 0x74)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRDOC (*(volatile hw_asrc_asrdoc_t *) HW_ASRC_ASRDOC_ADDR)
|
|
#define HW_ASRC_ASRDOC_RD() (HW_ASRC_ASRDOC.U)
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRDOC bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRDOC, field DATA[23:0] (RO)
|
|
*
|
|
* Audio data output
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDOC_DATA (0) //!< Bit position for ASRC_ASRDOC_DATA.
|
|
#define BM_ASRC_ASRDOC_DATA (0x00ffffff) //!< Bit mask for ASRC_ASRDOC_DATA.
|
|
|
|
//! @brief Get value of ASRC_ASRDOC_DATA from a register value.
|
|
#define BG_ASRC_ASRDOC_DATA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDOC_DATA) >> BP_ASRC_ASRDOC_DATA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRDOC, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRDOC_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRDOC_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRDOC_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRDOC_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRDOC_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRDOC_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRDOC_UNIMPLEMENTED) >> BP_ASRC_ASRDOC_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRIDRHA - ASRC Ideal Ratio for Pair A-High Part
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRIDRHA - ASRC Ideal Ratio for Pair A-High Part (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ideal ratio registers (ASRIDRHA, ASRIDRLA) hold the ratio value IDRATIOA. IDRATIOA = Fs inA
|
|
* /Fs outA = Ts outA /Ts inA is a 32-bit fixed point value with 26 fractional bits. This value is
|
|
* only useful when ASRCTR:{USRA, IDRA}=2'b11.
|
|
*/
|
|
typedef union _hw_asrc_asridrha
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asridrha_bitfields
|
|
{
|
|
unsigned IDRATIOA : 8; //!< [7:0] IDRATIOA[31:24].
|
|
unsigned RESERVED0 : 16; //!< [23:8] Reserved
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asridrha_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRIDRHA register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRIDRHA_ADDR (REGS_ASRC_BASE + 0x80)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRIDRHA (*(volatile hw_asrc_asridrha_t *) HW_ASRC_ASRIDRHA_ADDR)
|
|
#define HW_ASRC_ASRIDRHA_RD() (HW_ASRC_ASRIDRHA.U)
|
|
#define HW_ASRC_ASRIDRHA_WR(v) (HW_ASRC_ASRIDRHA.U = (v))
|
|
#define HW_ASRC_ASRIDRHA_SET(v) (HW_ASRC_ASRIDRHA_WR(HW_ASRC_ASRIDRHA_RD() | (v)))
|
|
#define HW_ASRC_ASRIDRHA_CLR(v) (HW_ASRC_ASRIDRHA_WR(HW_ASRC_ASRIDRHA_RD() & ~(v)))
|
|
#define HW_ASRC_ASRIDRHA_TOG(v) (HW_ASRC_ASRIDRHA_WR(HW_ASRC_ASRIDRHA_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRIDRHA bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRIDRHA, field IDRATIOA[7:0] (RW)
|
|
*
|
|
* IDRATIOA[31:24]. High part of ideal ratio value for pair A
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRHA_IDRATIOA (0) //!< Bit position for ASRC_ASRIDRHA_IDRATIOA.
|
|
#define BM_ASRC_ASRIDRHA_IDRATIOA (0x000000ff) //!< Bit mask for ASRC_ASRIDRHA_IDRATIOA.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRHA_IDRATIOA from a register value.
|
|
#define BG_ASRC_ASRIDRHA_IDRATIOA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRHA_IDRATIOA) >> BP_ASRC_ASRIDRHA_IDRATIOA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIDRHA_IDRATIOA.
|
|
#define BF_ASRC_ASRIDRHA_IDRATIOA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIDRHA_IDRATIOA) & BM_ASRC_ASRIDRHA_IDRATIOA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRATIOA field to a new value.
|
|
#define BW_ASRC_ASRIDRHA_IDRATIOA(v) (HW_ASRC_ASRIDRHA_WR((HW_ASRC_ASRIDRHA_RD() & ~BM_ASRC_ASRIDRHA_IDRATIOA) | BF_ASRC_ASRIDRHA_IDRATIOA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIDRHA, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRHA_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRIDRHA_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRIDRHA_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRIDRHA_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRHA_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRIDRHA_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRHA_UNIMPLEMENTED) >> BP_ASRC_ASRIDRHA_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRIDRLA - ASRC Ideal Ratio for Pair A -Low Part
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRIDRLA - ASRC Ideal Ratio for Pair A -Low Part (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ideal ratio registers (ASRIDRHA, ASRIDRLA) hold the ratio value IDRATIOA. IDRATIOA = Fs inA
|
|
* /Fs outA = Ts outA /Ts inA is a 32-bit fixed point value with 26 fractional bits. This value is
|
|
* only useful when ASRCTR:{USRA, IDRA}=2'b11.
|
|
*/
|
|
typedef union _hw_asrc_asridrla
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asridrla_bitfields
|
|
{
|
|
unsigned IDRATIOA : 24; //!< [23:0] IDRATIOA[23:0].
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asridrla_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRIDRLA register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRIDRLA_ADDR (REGS_ASRC_BASE + 0x84)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRIDRLA (*(volatile hw_asrc_asridrla_t *) HW_ASRC_ASRIDRLA_ADDR)
|
|
#define HW_ASRC_ASRIDRLA_RD() (HW_ASRC_ASRIDRLA.U)
|
|
#define HW_ASRC_ASRIDRLA_WR(v) (HW_ASRC_ASRIDRLA.U = (v))
|
|
#define HW_ASRC_ASRIDRLA_SET(v) (HW_ASRC_ASRIDRLA_WR(HW_ASRC_ASRIDRLA_RD() | (v)))
|
|
#define HW_ASRC_ASRIDRLA_CLR(v) (HW_ASRC_ASRIDRLA_WR(HW_ASRC_ASRIDRLA_RD() & ~(v)))
|
|
#define HW_ASRC_ASRIDRLA_TOG(v) (HW_ASRC_ASRIDRLA_WR(HW_ASRC_ASRIDRLA_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRIDRLA bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRIDRLA, field IDRATIOA[23:0] (RW)
|
|
*
|
|
* IDRATIOA[23:0]. Low part of ideal ratio value for pair A
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRLA_IDRATIOA (0) //!< Bit position for ASRC_ASRIDRLA_IDRATIOA.
|
|
#define BM_ASRC_ASRIDRLA_IDRATIOA (0x00ffffff) //!< Bit mask for ASRC_ASRIDRLA_IDRATIOA.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRLA_IDRATIOA from a register value.
|
|
#define BG_ASRC_ASRIDRLA_IDRATIOA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRLA_IDRATIOA) >> BP_ASRC_ASRIDRLA_IDRATIOA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIDRLA_IDRATIOA.
|
|
#define BF_ASRC_ASRIDRLA_IDRATIOA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIDRLA_IDRATIOA) & BM_ASRC_ASRIDRLA_IDRATIOA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRATIOA field to a new value.
|
|
#define BW_ASRC_ASRIDRLA_IDRATIOA(v) (HW_ASRC_ASRIDRLA_WR((HW_ASRC_ASRIDRLA_RD() & ~BM_ASRC_ASRIDRLA_IDRATIOA) | BF_ASRC_ASRIDRLA_IDRATIOA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIDRLA, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRLA_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRIDRLA_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRIDRLA_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRIDRLA_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRLA_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRIDRLA_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRLA_UNIMPLEMENTED) >> BP_ASRC_ASRIDRLA_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRIDRHB - ASRC Ideal Ratio for Pair B-High Part
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRIDRHB - ASRC Ideal Ratio for Pair B-High Part (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ideal ratio registers (ASRIDRHB, ASRIDRLB) hold the ratio value IDRATIOB. IDRATIOB = Fs inB
|
|
* /Fs outB = Ts outB /Ts inB is a 32-bit fixed point value with 26 fractional bits. This value is
|
|
* only useful when ASRCTR:{USRB, IDRB}=2'b11.
|
|
*/
|
|
typedef union _hw_asrc_asridrhb
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asridrhb_bitfields
|
|
{
|
|
unsigned IDRATIOB : 8; //!< [7:0] IDRATIOB[31:24].
|
|
unsigned RESERVED0 : 16; //!< [23:8] Reserved
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asridrhb_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRIDRHB register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRIDRHB_ADDR (REGS_ASRC_BASE + 0x88)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRIDRHB (*(volatile hw_asrc_asridrhb_t *) HW_ASRC_ASRIDRHB_ADDR)
|
|
#define HW_ASRC_ASRIDRHB_RD() (HW_ASRC_ASRIDRHB.U)
|
|
#define HW_ASRC_ASRIDRHB_WR(v) (HW_ASRC_ASRIDRHB.U = (v))
|
|
#define HW_ASRC_ASRIDRHB_SET(v) (HW_ASRC_ASRIDRHB_WR(HW_ASRC_ASRIDRHB_RD() | (v)))
|
|
#define HW_ASRC_ASRIDRHB_CLR(v) (HW_ASRC_ASRIDRHB_WR(HW_ASRC_ASRIDRHB_RD() & ~(v)))
|
|
#define HW_ASRC_ASRIDRHB_TOG(v) (HW_ASRC_ASRIDRHB_WR(HW_ASRC_ASRIDRHB_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRIDRHB bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRIDRHB, field IDRATIOB[7:0] (RW)
|
|
*
|
|
* IDRATIOB[31:24]. High part of ideal ratio value for pair B.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRHB_IDRATIOB (0) //!< Bit position for ASRC_ASRIDRHB_IDRATIOB.
|
|
#define BM_ASRC_ASRIDRHB_IDRATIOB (0x000000ff) //!< Bit mask for ASRC_ASRIDRHB_IDRATIOB.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRHB_IDRATIOB from a register value.
|
|
#define BG_ASRC_ASRIDRHB_IDRATIOB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRHB_IDRATIOB) >> BP_ASRC_ASRIDRHB_IDRATIOB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIDRHB_IDRATIOB.
|
|
#define BF_ASRC_ASRIDRHB_IDRATIOB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIDRHB_IDRATIOB) & BM_ASRC_ASRIDRHB_IDRATIOB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRATIOB field to a new value.
|
|
#define BW_ASRC_ASRIDRHB_IDRATIOB(v) (HW_ASRC_ASRIDRHB_WR((HW_ASRC_ASRIDRHB_RD() & ~BM_ASRC_ASRIDRHB_IDRATIOB) | BF_ASRC_ASRIDRHB_IDRATIOB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIDRHB, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRHB_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRIDRHB_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRIDRHB_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRIDRHB_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRHB_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRIDRHB_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRHB_UNIMPLEMENTED) >> BP_ASRC_ASRIDRHB_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRIDRLB - ASRC Ideal Ratio for Pair B-Low Part
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRIDRLB - ASRC Ideal Ratio for Pair B-Low Part (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ideal ratio registers (ASRIDRHB, ASRIDRLB) hold the ratio value IDRATIOB. IDRATIOB = Fs inB
|
|
* /Fs outB = Ts outB /Ts inB is a 32-bit fixed point value with 26 fractional bits. This value is
|
|
* only useful when ASRCTR:{USRB, IDRB}=2'b11.
|
|
*/
|
|
typedef union _hw_asrc_asridrlb
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asridrlb_bitfields
|
|
{
|
|
unsigned IDRATIOB : 24; //!< [23:0] IDRATIOB[23:0].
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asridrlb_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRIDRLB register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRIDRLB_ADDR (REGS_ASRC_BASE + 0x8c)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRIDRLB (*(volatile hw_asrc_asridrlb_t *) HW_ASRC_ASRIDRLB_ADDR)
|
|
#define HW_ASRC_ASRIDRLB_RD() (HW_ASRC_ASRIDRLB.U)
|
|
#define HW_ASRC_ASRIDRLB_WR(v) (HW_ASRC_ASRIDRLB.U = (v))
|
|
#define HW_ASRC_ASRIDRLB_SET(v) (HW_ASRC_ASRIDRLB_WR(HW_ASRC_ASRIDRLB_RD() | (v)))
|
|
#define HW_ASRC_ASRIDRLB_CLR(v) (HW_ASRC_ASRIDRLB_WR(HW_ASRC_ASRIDRLB_RD() & ~(v)))
|
|
#define HW_ASRC_ASRIDRLB_TOG(v) (HW_ASRC_ASRIDRLB_WR(HW_ASRC_ASRIDRLB_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRIDRLB bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRIDRLB, field IDRATIOB[23:0] (RW)
|
|
*
|
|
* IDRATIOB[23:0]. Low part of ideal ratio value for pair B.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRLB_IDRATIOB (0) //!< Bit position for ASRC_ASRIDRLB_IDRATIOB.
|
|
#define BM_ASRC_ASRIDRLB_IDRATIOB (0x00ffffff) //!< Bit mask for ASRC_ASRIDRLB_IDRATIOB.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRLB_IDRATIOB from a register value.
|
|
#define BG_ASRC_ASRIDRLB_IDRATIOB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRLB_IDRATIOB) >> BP_ASRC_ASRIDRLB_IDRATIOB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIDRLB_IDRATIOB.
|
|
#define BF_ASRC_ASRIDRLB_IDRATIOB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIDRLB_IDRATIOB) & BM_ASRC_ASRIDRLB_IDRATIOB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRATIOB field to a new value.
|
|
#define BW_ASRC_ASRIDRLB_IDRATIOB(v) (HW_ASRC_ASRIDRLB_WR((HW_ASRC_ASRIDRLB_RD() & ~BM_ASRC_ASRIDRLB_IDRATIOB) | BF_ASRC_ASRIDRLB_IDRATIOB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIDRLB, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRLB_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRIDRLB_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRIDRLB_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRIDRLB_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRLB_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRIDRLB_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRLB_UNIMPLEMENTED) >> BP_ASRC_ASRIDRLB_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRIDRHC - ASRC Ideal Ratio for Pair C-High Part
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRIDRHC - ASRC Ideal Ratio for Pair C-High Part (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ideal ratio registers (ASRIDRHC, ASRIDRLC) hold the ratio value IDRATIOC. IDRATIOC = Fs inC
|
|
* /Fs outC = Ts outC /Ts inC is a 32-bit fixed point value with 26 fractional bits. This value is
|
|
* only useful when ASRCTR:{USRC, IDRC}=2'b11.
|
|
*/
|
|
typedef union _hw_asrc_asridrhc
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asridrhc_bitfields
|
|
{
|
|
unsigned IDRATIOC : 8; //!< [7:0] IDRATIOC[31:24].
|
|
unsigned RESERVED0 : 16; //!< [23:8] Reserved
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asridrhc_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRIDRHC register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRIDRHC_ADDR (REGS_ASRC_BASE + 0x90)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRIDRHC (*(volatile hw_asrc_asridrhc_t *) HW_ASRC_ASRIDRHC_ADDR)
|
|
#define HW_ASRC_ASRIDRHC_RD() (HW_ASRC_ASRIDRHC.U)
|
|
#define HW_ASRC_ASRIDRHC_WR(v) (HW_ASRC_ASRIDRHC.U = (v))
|
|
#define HW_ASRC_ASRIDRHC_SET(v) (HW_ASRC_ASRIDRHC_WR(HW_ASRC_ASRIDRHC_RD() | (v)))
|
|
#define HW_ASRC_ASRIDRHC_CLR(v) (HW_ASRC_ASRIDRHC_WR(HW_ASRC_ASRIDRHC_RD() & ~(v)))
|
|
#define HW_ASRC_ASRIDRHC_TOG(v) (HW_ASRC_ASRIDRHC_WR(HW_ASRC_ASRIDRHC_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRIDRHC bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRIDRHC, field IDRATIOC[7:0] (RW)
|
|
*
|
|
* IDRATIOC[31:24]. High part of ideal ratio value for pair C.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRHC_IDRATIOC (0) //!< Bit position for ASRC_ASRIDRHC_IDRATIOC.
|
|
#define BM_ASRC_ASRIDRHC_IDRATIOC (0x000000ff) //!< Bit mask for ASRC_ASRIDRHC_IDRATIOC.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRHC_IDRATIOC from a register value.
|
|
#define BG_ASRC_ASRIDRHC_IDRATIOC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRHC_IDRATIOC) >> BP_ASRC_ASRIDRHC_IDRATIOC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIDRHC_IDRATIOC.
|
|
#define BF_ASRC_ASRIDRHC_IDRATIOC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIDRHC_IDRATIOC) & BM_ASRC_ASRIDRHC_IDRATIOC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRATIOC field to a new value.
|
|
#define BW_ASRC_ASRIDRHC_IDRATIOC(v) (HW_ASRC_ASRIDRHC_WR((HW_ASRC_ASRIDRHC_RD() & ~BM_ASRC_ASRIDRHC_IDRATIOC) | BF_ASRC_ASRIDRHC_IDRATIOC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIDRHC, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRHC_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRIDRHC_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRIDRHC_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRIDRHC_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRHC_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRIDRHC_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRHC_UNIMPLEMENTED) >> BP_ASRC_ASRIDRHC_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRIDRLC - ASRC Ideal Ratio for Pair C-Low Part
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRIDRLC - ASRC Ideal Ratio for Pair C-Low Part (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The ideal ratio registers (ASRIDRHC, ASRIDRLC) hold the ratio value IDRATIOC. IDRATIOC = Fs inC
|
|
* /Fs outC = Ts outC /Ts inC is a 32-bit fixed point value with 26 fractional bits. This value is
|
|
* only useful when ASRCTR:{USRC, IDRC}=2'b11.
|
|
*/
|
|
typedef union _hw_asrc_asridrlc
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asridrlc_bitfields
|
|
{
|
|
unsigned IDRATIOC : 24; //!< [23:0] IDRATIOC[23:0].
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asridrlc_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRIDRLC register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRIDRLC_ADDR (REGS_ASRC_BASE + 0x94)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRIDRLC (*(volatile hw_asrc_asridrlc_t *) HW_ASRC_ASRIDRLC_ADDR)
|
|
#define HW_ASRC_ASRIDRLC_RD() (HW_ASRC_ASRIDRLC.U)
|
|
#define HW_ASRC_ASRIDRLC_WR(v) (HW_ASRC_ASRIDRLC.U = (v))
|
|
#define HW_ASRC_ASRIDRLC_SET(v) (HW_ASRC_ASRIDRLC_WR(HW_ASRC_ASRIDRLC_RD() | (v)))
|
|
#define HW_ASRC_ASRIDRLC_CLR(v) (HW_ASRC_ASRIDRLC_WR(HW_ASRC_ASRIDRLC_RD() & ~(v)))
|
|
#define HW_ASRC_ASRIDRLC_TOG(v) (HW_ASRC_ASRIDRLC_WR(HW_ASRC_ASRIDRLC_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRIDRLC bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRIDRLC, field IDRATIOC[23:0] (RW)
|
|
*
|
|
* IDRATIOC[23:0]. Low part of ideal ratio value for pair C.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRLC_IDRATIOC (0) //!< Bit position for ASRC_ASRIDRLC_IDRATIOC.
|
|
#define BM_ASRC_ASRIDRLC_IDRATIOC (0x00ffffff) //!< Bit mask for ASRC_ASRIDRLC_IDRATIOC.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRLC_IDRATIOC from a register value.
|
|
#define BG_ASRC_ASRIDRLC_IDRATIOC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRLC_IDRATIOC) >> BP_ASRC_ASRIDRLC_IDRATIOC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRIDRLC_IDRATIOC.
|
|
#define BF_ASRC_ASRIDRLC_IDRATIOC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRIDRLC_IDRATIOC) & BM_ASRC_ASRIDRLC_IDRATIOC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IDRATIOC field to a new value.
|
|
#define BW_ASRC_ASRIDRLC_IDRATIOC(v) (HW_ASRC_ASRIDRLC_WR((HW_ASRC_ASRIDRLC_RD() & ~BM_ASRC_ASRIDRLC_IDRATIOC) | BF_ASRC_ASRIDRLC_IDRATIOC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRIDRLC, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRIDRLC_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRIDRLC_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRIDRLC_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRIDRLC_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRIDRLC_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRIDRLC_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRIDRLC_UNIMPLEMENTED) >> BP_ASRC_ASRIDRLC_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASR76K - ASRC 76kHz Period in terms of ASRC processing clock
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASR76K - ASRC 76kHz Period in terms of ASRC processing clock (RW)
|
|
*
|
|
* Reset value: 0x00000a47
|
|
*
|
|
* The register (ASR76K) holds the period of the 76kHz sampling clock in terms of the ASRC
|
|
* processing clock with frequency Fs ASRC . ASR76K = Fs ASRC /Fs 76k . Reset value is 0x0A47 which
|
|
* assumes that Fs ASRC =200MHz. This register is used to help the ASRC internal logic to decide the
|
|
* pre-processing and the post-processing options automatically (see ASRC Misc Control Register 1
|
|
* for Pair C and ASRC Misc Control Register 1 for Pair C ). In a system when Fs ASRC =133MHz, the
|
|
* value should be assigned explicitly as 0x06D6 in user application code.
|
|
*/
|
|
typedef union _hw_asrc_asr76k
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asr76k_bitfields
|
|
{
|
|
unsigned ASR76K : 17; //!< [16:0] Value for the period of the 76kHz sampling clock.
|
|
unsigned RESERVED0 : 7; //!< [23:17] Reserved
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asr76k_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASR76K register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASR76K_ADDR (REGS_ASRC_BASE + 0x98)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASR76K (*(volatile hw_asrc_asr76k_t *) HW_ASRC_ASR76K_ADDR)
|
|
#define HW_ASRC_ASR76K_RD() (HW_ASRC_ASR76K.U)
|
|
#define HW_ASRC_ASR76K_WR(v) (HW_ASRC_ASR76K.U = (v))
|
|
#define HW_ASRC_ASR76K_SET(v) (HW_ASRC_ASR76K_WR(HW_ASRC_ASR76K_RD() | (v)))
|
|
#define HW_ASRC_ASR76K_CLR(v) (HW_ASRC_ASR76K_WR(HW_ASRC_ASR76K_RD() & ~(v)))
|
|
#define HW_ASRC_ASR76K_TOG(v) (HW_ASRC_ASR76K_WR(HW_ASRC_ASR76K_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASR76K bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASR76K, field ASR76K[16:0] (RW)
|
|
*
|
|
* Value for the period of the 76kHz sampling clock.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASR76K_ASR76K (0) //!< Bit position for ASRC_ASR76K_ASR76K.
|
|
#define BM_ASRC_ASR76K_ASR76K (0x0001ffff) //!< Bit mask for ASRC_ASR76K_ASR76K.
|
|
|
|
//! @brief Get value of ASRC_ASR76K_ASR76K from a register value.
|
|
#define BG_ASRC_ASR76K_ASR76K(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASR76K_ASR76K) >> BP_ASRC_ASR76K_ASR76K)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASR76K_ASR76K.
|
|
#define BF_ASRC_ASR76K_ASR76K(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASR76K_ASR76K) & BM_ASRC_ASR76K_ASR76K)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ASR76K field to a new value.
|
|
#define BW_ASRC_ASR76K_ASR76K(v) (HW_ASRC_ASR76K_WR((HW_ASRC_ASR76K_RD() & ~BM_ASRC_ASR76K_ASR76K) | BF_ASRC_ASR76K_ASR76K(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASR76K, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASR76K_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASR76K_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASR76K_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASR76K_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASR76K_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASR76K_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASR76K_UNIMPLEMENTED) >> BP_ASRC_ASR76K_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASR56K - ASRC 56kHz Period in terms of ASRC processing clock
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASR56K - ASRC 56kHz Period in terms of ASRC processing clock (RW)
|
|
*
|
|
* Reset value: 0x00000df3
|
|
*
|
|
* The register (ASR56K) holds the period of the 56kHz sampling clock in terms of the ASRC
|
|
* processing clock with frequency Fs ASRC . ASR56K = Fs ASRC /Fs 56k . Reset value is 0x0DF3 which
|
|
* assumes that Fs ASRC =200MHz. This register is used to help the ASRC internal logic to decide the
|
|
* pre-processing and the post-processing options automatically (see ASRC Misc Control Register 1
|
|
* for Pair C and ASRC Misc Control Register 1 for Pair C ). In a system when Fs ASRC =133MHz, the
|
|
* value should be assigned explicitly as 0x0947 in user application code.
|
|
*/
|
|
typedef union _hw_asrc_asr56k
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asr56k_bitfields
|
|
{
|
|
unsigned ASR56K : 17; //!< [16:0] Value for the period of the 56kHz sampling clock
|
|
unsigned RESERVED0 : 7; //!< [23:17] Reserved
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asr56k_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASR56K register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASR56K_ADDR (REGS_ASRC_BASE + 0x9c)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASR56K (*(volatile hw_asrc_asr56k_t *) HW_ASRC_ASR56K_ADDR)
|
|
#define HW_ASRC_ASR56K_RD() (HW_ASRC_ASR56K.U)
|
|
#define HW_ASRC_ASR56K_WR(v) (HW_ASRC_ASR56K.U = (v))
|
|
#define HW_ASRC_ASR56K_SET(v) (HW_ASRC_ASR56K_WR(HW_ASRC_ASR56K_RD() | (v)))
|
|
#define HW_ASRC_ASR56K_CLR(v) (HW_ASRC_ASR56K_WR(HW_ASRC_ASR56K_RD() & ~(v)))
|
|
#define HW_ASRC_ASR56K_TOG(v) (HW_ASRC_ASR56K_WR(HW_ASRC_ASR56K_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASR56K bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASR56K, field ASR56K[16:0] (RW)
|
|
*
|
|
* Value for the period of the 56kHz sampling clock
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASR56K_ASR56K (0) //!< Bit position for ASRC_ASR56K_ASR56K.
|
|
#define BM_ASRC_ASR56K_ASR56K (0x0001ffff) //!< Bit mask for ASRC_ASR56K_ASR56K.
|
|
|
|
//! @brief Get value of ASRC_ASR56K_ASR56K from a register value.
|
|
#define BG_ASRC_ASR56K_ASR56K(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASR56K_ASR56K) >> BP_ASRC_ASR56K_ASR56K)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASR56K_ASR56K.
|
|
#define BF_ASRC_ASR56K_ASR56K(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASR56K_ASR56K) & BM_ASRC_ASR56K_ASR56K)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ASR56K field to a new value.
|
|
#define BW_ASRC_ASR56K_ASR56K(v) (HW_ASRC_ASR56K_WR((HW_ASRC_ASR56K_RD() & ~BM_ASRC_ASR56K_ASR56K) | BF_ASRC_ASR56K_ASR56K(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASR56K, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASR56K_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASR56K_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASR56K_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASR56K_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASR56K_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASR56K_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASR56K_UNIMPLEMENTED) >> BP_ASRC_ASR56K_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRMCRA - ASRC Misc Control Register for Pair A
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRMCRA - ASRC Misc Control Register for Pair A (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRMCRA) is used to control Pair A internal logic.
|
|
*/
|
|
typedef union _hw_asrc_asrmcra
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrmcra_bitfields
|
|
{
|
|
unsigned INFIFO_THRESHOLDA : 6; //!< [5:0] The threshold for Pair A's input FIFO per channel
|
|
unsigned RESERVED0 : 4; //!< [9:6] Reserved.
|
|
unsigned RSYNOFA : 1; //!< [10] Re-sync Output FIFO Channel Counter
|
|
unsigned RSYNIFA : 1; //!< [11] Re-sync Input FIFO Channel Counter
|
|
unsigned OUTFIFO_THRESHOLDA : 6; //!< [17:12] The threshold for Pair A's output FIFO per channel
|
|
unsigned RESERVED1 : 2; //!< [19:18] Reserved.
|
|
unsigned BYPASSPOLYA : 1; //!< [20] Bypass Polyphase Filtering for Pair A
|
|
unsigned BUFSTALLA : 1; //!< [21] Stall Pair A conversion in case of Buffer Near Empty/Full Condition
|
|
unsigned EXTTHRSHA : 1; //!< [22] Use external thresholds for FIFO control of Pair A
|
|
unsigned ZEROBUFA : 1; //!< [23] Initialize buf of Pair A when pair A is enabled.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrmcra_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRMCRA register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRMCRA_ADDR (REGS_ASRC_BASE + 0xa0)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRMCRA (*(volatile hw_asrc_asrmcra_t *) HW_ASRC_ASRMCRA_ADDR)
|
|
#define HW_ASRC_ASRMCRA_RD() (HW_ASRC_ASRMCRA.U)
|
|
#define HW_ASRC_ASRMCRA_WR(v) (HW_ASRC_ASRMCRA.U = (v))
|
|
#define HW_ASRC_ASRMCRA_SET(v) (HW_ASRC_ASRMCRA_WR(HW_ASRC_ASRMCRA_RD() | (v)))
|
|
#define HW_ASRC_ASRMCRA_CLR(v) (HW_ASRC_ASRMCRA_WR(HW_ASRC_ASRMCRA_RD() & ~(v)))
|
|
#define HW_ASRC_ASRMCRA_TOG(v) (HW_ASRC_ASRMCRA_WR(HW_ASRC_ASRMCRA_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRMCRA bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field INFIFO_THRESHOLDA[5:0] (RW)
|
|
*
|
|
* The threshold for Pair A's input FIFO per channel These bits stand for the threshold for Pair A's
|
|
* input FIFO per channel. Possible range is [0,63]. When the value is n, it means that: when the
|
|
* number of input FIFO fillings of the pair is less than n samples per channel, the input data
|
|
* needed flag is set; when the number of input FIFO fillings of the pair is greater than or equal
|
|
* to n samples per channel, the input data needed flag is automatically cleared.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_INFIFO_THRESHOLDA (0) //!< Bit position for ASRC_ASRMCRA_INFIFO_THRESHOLDA.
|
|
#define BM_ASRC_ASRMCRA_INFIFO_THRESHOLDA (0x0000003f) //!< Bit mask for ASRC_ASRMCRA_INFIFO_THRESHOLDA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_INFIFO_THRESHOLDA from a register value.
|
|
#define BG_ASRC_ASRMCRA_INFIFO_THRESHOLDA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_INFIFO_THRESHOLDA) >> BP_ASRC_ASRMCRA_INFIFO_THRESHOLDA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_INFIFO_THRESHOLDA.
|
|
#define BF_ASRC_ASRMCRA_INFIFO_THRESHOLDA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_INFIFO_THRESHOLDA) & BM_ASRC_ASRMCRA_INFIFO_THRESHOLDA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the INFIFO_THRESHOLDA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_INFIFO_THRESHOLDA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_INFIFO_THRESHOLDA) | BF_ASRC_ASRMCRA_INFIFO_THRESHOLDA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field RSYNOFA[10] (RW)
|
|
*
|
|
* Re-sync Output FIFO Channel Counter If bit set, force ASRCCR:ACOA=0. If bit clear, untouch
|
|
* ASRCCR:ACOA.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_RSYNOFA (10) //!< Bit position for ASRC_ASRMCRA_RSYNOFA.
|
|
#define BM_ASRC_ASRMCRA_RSYNOFA (0x00000400) //!< Bit mask for ASRC_ASRMCRA_RSYNOFA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_RSYNOFA from a register value.
|
|
#define BG_ASRC_ASRMCRA_RSYNOFA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_RSYNOFA) >> BP_ASRC_ASRMCRA_RSYNOFA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_RSYNOFA.
|
|
#define BF_ASRC_ASRMCRA_RSYNOFA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_RSYNOFA) & BM_ASRC_ASRMCRA_RSYNOFA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the RSYNOFA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_RSYNOFA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_RSYNOFA) | BF_ASRC_ASRMCRA_RSYNOFA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field RSYNIFA[11] (RW)
|
|
*
|
|
* Re-sync Input FIFO Channel Counter If bit set, force ASRCCR:ACIA=0. If bit clear, untouch
|
|
* ASRCCR:ACIA.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_RSYNIFA (11) //!< Bit position for ASRC_ASRMCRA_RSYNIFA.
|
|
#define BM_ASRC_ASRMCRA_RSYNIFA (0x00000800) //!< Bit mask for ASRC_ASRMCRA_RSYNIFA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_RSYNIFA from a register value.
|
|
#define BG_ASRC_ASRMCRA_RSYNIFA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_RSYNIFA) >> BP_ASRC_ASRMCRA_RSYNIFA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_RSYNIFA.
|
|
#define BF_ASRC_ASRMCRA_RSYNIFA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_RSYNIFA) & BM_ASRC_ASRMCRA_RSYNIFA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the RSYNIFA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_RSYNIFA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_RSYNIFA) | BF_ASRC_ASRMCRA_RSYNIFA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field OUTFIFO_THRESHOLDA[17:12] (RW)
|
|
*
|
|
* The threshold for Pair A's output FIFO per channel These bits stand for the threshold for Pair
|
|
* A's output FIFO per channel. Possible range is [0,63]. When the value is n, it means that: when
|
|
* the number of output FIFO fillings of the pair is greater than n samples per channel, the output
|
|
* data ready flag is set; when the number of output FIFO fillings of the pair is less than or equal
|
|
* to n samples per channel, the output data ready flag is automatically cleared.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA (12) //!< Bit position for ASRC_ASRMCRA_OUTFIFO_THRESHOLDA.
|
|
#define BM_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA (0x0003f000) //!< Bit mask for ASRC_ASRMCRA_OUTFIFO_THRESHOLDA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_OUTFIFO_THRESHOLDA from a register value.
|
|
#define BG_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA) >> BP_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_OUTFIFO_THRESHOLDA.
|
|
#define BF_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA) & BM_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OUTFIFO_THRESHOLDA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA) | BF_ASRC_ASRMCRA_OUTFIFO_THRESHOLDA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field BYPASSPOLYA[20] (RW)
|
|
*
|
|
* Bypass Polyphase Filtering for Pair A This bit will determine whether the polyphase filtering
|
|
* part of Pair A conversion will be bypassed.
|
|
*
|
|
* Values:
|
|
* - 0 - Don't bypass polyphase filtering.
|
|
* - 1 - Bypass polyphase filtering.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_BYPASSPOLYA (20) //!< Bit position for ASRC_ASRMCRA_BYPASSPOLYA.
|
|
#define BM_ASRC_ASRMCRA_BYPASSPOLYA (0x00100000) //!< Bit mask for ASRC_ASRMCRA_BYPASSPOLYA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_BYPASSPOLYA from a register value.
|
|
#define BG_ASRC_ASRMCRA_BYPASSPOLYA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_BYPASSPOLYA) >> BP_ASRC_ASRMCRA_BYPASSPOLYA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_BYPASSPOLYA.
|
|
#define BF_ASRC_ASRMCRA_BYPASSPOLYA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_BYPASSPOLYA) & BM_ASRC_ASRMCRA_BYPASSPOLYA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the BYPASSPOLYA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_BYPASSPOLYA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_BYPASSPOLYA) | BF_ASRC_ASRMCRA_BYPASSPOLYA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field BUFSTALLA[21] (RW)
|
|
*
|
|
* Stall Pair A conversion in case of Buffer Near Empty/Full Condition This bit will determine
|
|
* whether the near empty/full FIFO condition will stall the rate conversion for pair A. This option
|
|
* can only work when external ratio is used. Near empty condition is the condition when input FIFO
|
|
* has less than 4 useful samples per channel. Near full condition is the condition when the output
|
|
* FIFO has less than 4 vacant sample words to fill per channel.
|
|
*
|
|
* Values:
|
|
* - 0 - Don't stall Pair A conversion even in case of near empty/full FIFO conditions.
|
|
* - 1 - Stall Pair A conversion in case of near empty/full FIFO conditions.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_BUFSTALLA (21) //!< Bit position for ASRC_ASRMCRA_BUFSTALLA.
|
|
#define BM_ASRC_ASRMCRA_BUFSTALLA (0x00200000) //!< Bit mask for ASRC_ASRMCRA_BUFSTALLA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_BUFSTALLA from a register value.
|
|
#define BG_ASRC_ASRMCRA_BUFSTALLA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_BUFSTALLA) >> BP_ASRC_ASRMCRA_BUFSTALLA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_BUFSTALLA.
|
|
#define BF_ASRC_ASRMCRA_BUFSTALLA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_BUFSTALLA) & BM_ASRC_ASRMCRA_BUFSTALLA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the BUFSTALLA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_BUFSTALLA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_BUFSTALLA) | BF_ASRC_ASRMCRA_BUFSTALLA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field EXTTHRSHA[22] (RW)
|
|
*
|
|
* Use external thresholds for FIFO control of Pair A This bit will determine whether the FIFO
|
|
* thresholds externally defined in this register is used to control ASRC internal FIFO logic for
|
|
* pair A.
|
|
*
|
|
* Values:
|
|
* - 0 - Use default thresholds.
|
|
* - 1 - Use external defined thresholds.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_EXTTHRSHA (22) //!< Bit position for ASRC_ASRMCRA_EXTTHRSHA.
|
|
#define BM_ASRC_ASRMCRA_EXTTHRSHA (0x00400000) //!< Bit mask for ASRC_ASRMCRA_EXTTHRSHA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_EXTTHRSHA from a register value.
|
|
#define BG_ASRC_ASRMCRA_EXTTHRSHA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_EXTTHRSHA) >> BP_ASRC_ASRMCRA_EXTTHRSHA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_EXTTHRSHA.
|
|
#define BF_ASRC_ASRMCRA_EXTTHRSHA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_EXTTHRSHA) & BM_ASRC_ASRMCRA_EXTTHRSHA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the EXTTHRSHA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_EXTTHRSHA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_EXTTHRSHA) | BF_ASRC_ASRMCRA_EXTTHRSHA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field ZEROBUFA[23] (RW)
|
|
*
|
|
* Initialize buf of Pair A when pair A is enabled. Always clear option. This bit is used to control
|
|
* whether the buffer is to be zeroized when pair A is enabled.
|
|
*
|
|
* Values:
|
|
* - 0 - Zeroize the buffer
|
|
* - 1 - Don't zeroize the buffer
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_ZEROBUFA (23) //!< Bit position for ASRC_ASRMCRA_ZEROBUFA.
|
|
#define BM_ASRC_ASRMCRA_ZEROBUFA (0x00800000) //!< Bit mask for ASRC_ASRMCRA_ZEROBUFA.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_ZEROBUFA from a register value.
|
|
#define BG_ASRC_ASRMCRA_ZEROBUFA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_ZEROBUFA) >> BP_ASRC_ASRMCRA_ZEROBUFA)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRA_ZEROBUFA.
|
|
#define BF_ASRC_ASRMCRA_ZEROBUFA(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRA_ZEROBUFA) & BM_ASRC_ASRMCRA_ZEROBUFA)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ZEROBUFA field to a new value.
|
|
#define BW_ASRC_ASRMCRA_ZEROBUFA(v) (HW_ASRC_ASRMCRA_WR((HW_ASRC_ASRMCRA_RD() & ~BM_ASRC_ASRMCRA_ZEROBUFA) | BF_ASRC_ASRMCRA_ZEROBUFA(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRA, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRA_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRMCRA_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRMCRA_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRMCRA_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRA_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRMCRA_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRA_UNIMPLEMENTED) >> BP_ASRC_ASRMCRA_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRFSTA - ASRC FIFO Status Register for Pair A
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRFSTA - ASRC FIFO Status Register for Pair A (RO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRFSTA) is used to show Pair A internal FIFO conditions.
|
|
*/
|
|
typedef union _hw_asrc_asrfsta
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrfsta_bitfields
|
|
{
|
|
unsigned INFIFO_FILLA : 7; //!< [6:0] The fillings for Pair A's input FIFO per channel
|
|
unsigned RESERVED0 : 4; //!< [10:7] Reserved.
|
|
unsigned IAEA : 1; //!< [11] Input FIFO is near Empty for Pair A
|
|
unsigned OUTFIFO_FILLA : 7; //!< [18:12] The fillings for Pair A's output FIFO per channel
|
|
unsigned RESERVED1 : 4; //!< [22:19] Reserved.
|
|
unsigned OAFA : 1; //!< [23] Output FIFO is near Full for Pair A
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrfsta_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRFSTA register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRFSTA_ADDR (REGS_ASRC_BASE + 0xa4)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRFSTA (*(volatile hw_asrc_asrfsta_t *) HW_ASRC_ASRFSTA_ADDR)
|
|
#define HW_ASRC_ASRFSTA_RD() (HW_ASRC_ASRFSTA.U)
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRFSTA bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRFSTA, field INFIFO_FILLA[6:0] (RO)
|
|
*
|
|
* The fillings for Pair A's input FIFO per channel These bits stand for the fillings for Pair A's
|
|
* input FIFO per channel. Possible range is [0,64].
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTA_INFIFO_FILLA (0) //!< Bit position for ASRC_ASRFSTA_INFIFO_FILLA.
|
|
#define BM_ASRC_ASRFSTA_INFIFO_FILLA (0x0000007f) //!< Bit mask for ASRC_ASRFSTA_INFIFO_FILLA.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTA_INFIFO_FILLA from a register value.
|
|
#define BG_ASRC_ASRFSTA_INFIFO_FILLA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTA_INFIFO_FILLA) >> BP_ASRC_ASRFSTA_INFIFO_FILLA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTA, field IAEA[11] (RO)
|
|
*
|
|
* Input FIFO is near Empty for Pair A This bit is to indicate whether the input FIFO of Pair A is
|
|
* near empty.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTA_IAEA (11) //!< Bit position for ASRC_ASRFSTA_IAEA.
|
|
#define BM_ASRC_ASRFSTA_IAEA (0x00000800) //!< Bit mask for ASRC_ASRFSTA_IAEA.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTA_IAEA from a register value.
|
|
#define BG_ASRC_ASRFSTA_IAEA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTA_IAEA) >> BP_ASRC_ASRFSTA_IAEA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTA, field OUTFIFO_FILLA[18:12] (RO)
|
|
*
|
|
* The fillings for Pair A's output FIFO per channel These bits stand for the fillings for Pair A's
|
|
* output FIFO per channel. Possible range is [0,64].
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTA_OUTFIFO_FILLA (12) //!< Bit position for ASRC_ASRFSTA_OUTFIFO_FILLA.
|
|
#define BM_ASRC_ASRFSTA_OUTFIFO_FILLA (0x0007f000) //!< Bit mask for ASRC_ASRFSTA_OUTFIFO_FILLA.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTA_OUTFIFO_FILLA from a register value.
|
|
#define BG_ASRC_ASRFSTA_OUTFIFO_FILLA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTA_OUTFIFO_FILLA) >> BP_ASRC_ASRFSTA_OUTFIFO_FILLA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTA, field OAFA[23] (RO)
|
|
*
|
|
* Output FIFO is near Full for Pair A This bit is to indicate whether the output FIFO of Pair A is
|
|
* near full.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTA_OAFA (23) //!< Bit position for ASRC_ASRFSTA_OAFA.
|
|
#define BM_ASRC_ASRFSTA_OAFA (0x00800000) //!< Bit mask for ASRC_ASRFSTA_OAFA.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTA_OAFA from a register value.
|
|
#define BG_ASRC_ASRFSTA_OAFA(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTA_OAFA) >> BP_ASRC_ASRFSTA_OAFA)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTA, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTA_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRFSTA_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRFSTA_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRFSTA_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTA_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRFSTA_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTA_UNIMPLEMENTED) >> BP_ASRC_ASRFSTA_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRMCRB - ASRC Misc Control Register for Pair B
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRMCRB - ASRC Misc Control Register for Pair B (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRMCRB) is used to control Pair B internal logic.
|
|
*/
|
|
typedef union _hw_asrc_asrmcrb
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrmcrb_bitfields
|
|
{
|
|
unsigned INFIFO_THRESHOLDB : 6; //!< [5:0] The threshold for Pair B's input FIFO per channel
|
|
unsigned RESERVED0 : 4; //!< [9:6] Reserved.
|
|
unsigned RSYNOFB : 1; //!< [10] Re-sync Output FIFO Channel Counter
|
|
unsigned RSYNIFB : 1; //!< [11] Re-sync Input FIFO Channel Counter
|
|
unsigned OUTFIFO_THRESHOLDB : 6; //!< [17:12] The threshold for Pair B's output FIFO per channel
|
|
unsigned RESERVED1 : 2; //!< [19:18] Reserved.
|
|
unsigned BYPASSPOLYB : 1; //!< [20] Bypass Polyphase Filtering for Pair B
|
|
unsigned BUFSTALLB : 1; //!< [21] Stall Pair B conversion in case of Buffer Near Empty/Full Condition
|
|
unsigned EXTTHRSHB : 1; //!< [22] Use external thresholds for FIFO control of Pair B
|
|
unsigned ZEROBUFB : 1; //!< [23] Initialize buf of Pair B when pair B is enabled
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrmcrb_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRMCRB register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRMCRB_ADDR (REGS_ASRC_BASE + 0xa8)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRMCRB (*(volatile hw_asrc_asrmcrb_t *) HW_ASRC_ASRMCRB_ADDR)
|
|
#define HW_ASRC_ASRMCRB_RD() (HW_ASRC_ASRMCRB.U)
|
|
#define HW_ASRC_ASRMCRB_WR(v) (HW_ASRC_ASRMCRB.U = (v))
|
|
#define HW_ASRC_ASRMCRB_SET(v) (HW_ASRC_ASRMCRB_WR(HW_ASRC_ASRMCRB_RD() | (v)))
|
|
#define HW_ASRC_ASRMCRB_CLR(v) (HW_ASRC_ASRMCRB_WR(HW_ASRC_ASRMCRB_RD() & ~(v)))
|
|
#define HW_ASRC_ASRMCRB_TOG(v) (HW_ASRC_ASRMCRB_WR(HW_ASRC_ASRMCRB_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRMCRB bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field INFIFO_THRESHOLDB[5:0] (RW)
|
|
*
|
|
* The threshold for Pair B's input FIFO per channel These bits stand for the threshold for Pair B's
|
|
* input FIFO per channel. Possible range is [0,63]. When the value is n, it means that: when the
|
|
* number of input FIFO fillings of the pair is less than n samples per channel, the input data
|
|
* needed flag is set; when the number of input FIFO fillings of the pair is greater than or equal
|
|
* to n samples per channel, the input data needed flag is automatically cleared.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_INFIFO_THRESHOLDB (0) //!< Bit position for ASRC_ASRMCRB_INFIFO_THRESHOLDB.
|
|
#define BM_ASRC_ASRMCRB_INFIFO_THRESHOLDB (0x0000003f) //!< Bit mask for ASRC_ASRMCRB_INFIFO_THRESHOLDB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_INFIFO_THRESHOLDB from a register value.
|
|
#define BG_ASRC_ASRMCRB_INFIFO_THRESHOLDB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_INFIFO_THRESHOLDB) >> BP_ASRC_ASRMCRB_INFIFO_THRESHOLDB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_INFIFO_THRESHOLDB.
|
|
#define BF_ASRC_ASRMCRB_INFIFO_THRESHOLDB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_INFIFO_THRESHOLDB) & BM_ASRC_ASRMCRB_INFIFO_THRESHOLDB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the INFIFO_THRESHOLDB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_INFIFO_THRESHOLDB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_INFIFO_THRESHOLDB) | BF_ASRC_ASRMCRB_INFIFO_THRESHOLDB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field RSYNOFB[10] (RW)
|
|
*
|
|
* Re-sync Output FIFO Channel Counter If bit set, force ASRCCR:ACOB=0. If bit clear, untouch
|
|
* ASRCCR:ACOB.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_RSYNOFB (10) //!< Bit position for ASRC_ASRMCRB_RSYNOFB.
|
|
#define BM_ASRC_ASRMCRB_RSYNOFB (0x00000400) //!< Bit mask for ASRC_ASRMCRB_RSYNOFB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_RSYNOFB from a register value.
|
|
#define BG_ASRC_ASRMCRB_RSYNOFB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_RSYNOFB) >> BP_ASRC_ASRMCRB_RSYNOFB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_RSYNOFB.
|
|
#define BF_ASRC_ASRMCRB_RSYNOFB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_RSYNOFB) & BM_ASRC_ASRMCRB_RSYNOFB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the RSYNOFB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_RSYNOFB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_RSYNOFB) | BF_ASRC_ASRMCRB_RSYNOFB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field RSYNIFB[11] (RW)
|
|
*
|
|
* Re-sync Input FIFO Channel Counter If bit set, force ASRCCR:ACIB=0. If bit clear, untouch
|
|
* ASRCCR:ACIB.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_RSYNIFB (11) //!< Bit position for ASRC_ASRMCRB_RSYNIFB.
|
|
#define BM_ASRC_ASRMCRB_RSYNIFB (0x00000800) //!< Bit mask for ASRC_ASRMCRB_RSYNIFB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_RSYNIFB from a register value.
|
|
#define BG_ASRC_ASRMCRB_RSYNIFB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_RSYNIFB) >> BP_ASRC_ASRMCRB_RSYNIFB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_RSYNIFB.
|
|
#define BF_ASRC_ASRMCRB_RSYNIFB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_RSYNIFB) & BM_ASRC_ASRMCRB_RSYNIFB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the RSYNIFB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_RSYNIFB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_RSYNIFB) | BF_ASRC_ASRMCRB_RSYNIFB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field OUTFIFO_THRESHOLDB[17:12] (RW)
|
|
*
|
|
* The threshold for Pair B's output FIFO per channel These bits stand for the threshold for Pair
|
|
* B's output FIFO per channel. Possible range is [0,63]. When the value is n, it means that: when
|
|
* the number of output FIFO fillings of the pair is greater than n samples per channel, the output
|
|
* data ready flag is set; when the number of output FIFO fillings of the pair is less than or equal
|
|
* to n samples per channel, the output data ready flag is automatically cleared.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB (12) //!< Bit position for ASRC_ASRMCRB_OUTFIFO_THRESHOLDB.
|
|
#define BM_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB (0x0003f000) //!< Bit mask for ASRC_ASRMCRB_OUTFIFO_THRESHOLDB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_OUTFIFO_THRESHOLDB from a register value.
|
|
#define BG_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB) >> BP_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_OUTFIFO_THRESHOLDB.
|
|
#define BF_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB) & BM_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OUTFIFO_THRESHOLDB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB) | BF_ASRC_ASRMCRB_OUTFIFO_THRESHOLDB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field BYPASSPOLYB[20] (RW)
|
|
*
|
|
* Bypass Polyphase Filtering for Pair B This bit will determine whether the polyphase filtering
|
|
* part of Pair B conversion will be bypassed.
|
|
*
|
|
* Values:
|
|
* - 0 - Don't bypass polyphase filtering.
|
|
* - 1 - Bypass polyphase filtering.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_BYPASSPOLYB (20) //!< Bit position for ASRC_ASRMCRB_BYPASSPOLYB.
|
|
#define BM_ASRC_ASRMCRB_BYPASSPOLYB (0x00100000) //!< Bit mask for ASRC_ASRMCRB_BYPASSPOLYB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_BYPASSPOLYB from a register value.
|
|
#define BG_ASRC_ASRMCRB_BYPASSPOLYB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_BYPASSPOLYB) >> BP_ASRC_ASRMCRB_BYPASSPOLYB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_BYPASSPOLYB.
|
|
#define BF_ASRC_ASRMCRB_BYPASSPOLYB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_BYPASSPOLYB) & BM_ASRC_ASRMCRB_BYPASSPOLYB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the BYPASSPOLYB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_BYPASSPOLYB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_BYPASSPOLYB) | BF_ASRC_ASRMCRB_BYPASSPOLYB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field BUFSTALLB[21] (RW)
|
|
*
|
|
* Stall Pair B conversion in case of Buffer Near Empty/Full Condition This bit will determine
|
|
* whether the near empty/full FIFO condition will stall the rate conversion for pair B. This option
|
|
* can only work when external ratio is used. Near empty condition is the condition when input FIFO
|
|
* has less than 4 useful samples per channel. Near full condition is the condition when the output
|
|
* FIFO has less than 4 vacant sample words to fill per channel.
|
|
*
|
|
* Values:
|
|
* - 0 - Don't stall Pair B conversion even in case of near empty/full FIFO conditions.
|
|
* - 1 - Stall Pair B conversion in case of near empty/full FIFO conditions.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_BUFSTALLB (21) //!< Bit position for ASRC_ASRMCRB_BUFSTALLB.
|
|
#define BM_ASRC_ASRMCRB_BUFSTALLB (0x00200000) //!< Bit mask for ASRC_ASRMCRB_BUFSTALLB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_BUFSTALLB from a register value.
|
|
#define BG_ASRC_ASRMCRB_BUFSTALLB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_BUFSTALLB) >> BP_ASRC_ASRMCRB_BUFSTALLB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_BUFSTALLB.
|
|
#define BF_ASRC_ASRMCRB_BUFSTALLB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_BUFSTALLB) & BM_ASRC_ASRMCRB_BUFSTALLB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the BUFSTALLB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_BUFSTALLB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_BUFSTALLB) | BF_ASRC_ASRMCRB_BUFSTALLB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field EXTTHRSHB[22] (RW)
|
|
*
|
|
* Use external thresholds for FIFO control of Pair B This bit will determine whether the FIFO
|
|
* thresholds externally defined in this register is used to control ASRC internal FIFO logic for
|
|
* pair B.
|
|
*
|
|
* Values:
|
|
* - 0 - Use default thresholds.
|
|
* - 1 - Use external defined thresholds.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_EXTTHRSHB (22) //!< Bit position for ASRC_ASRMCRB_EXTTHRSHB.
|
|
#define BM_ASRC_ASRMCRB_EXTTHRSHB (0x00400000) //!< Bit mask for ASRC_ASRMCRB_EXTTHRSHB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_EXTTHRSHB from a register value.
|
|
#define BG_ASRC_ASRMCRB_EXTTHRSHB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_EXTTHRSHB) >> BP_ASRC_ASRMCRB_EXTTHRSHB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_EXTTHRSHB.
|
|
#define BF_ASRC_ASRMCRB_EXTTHRSHB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_EXTTHRSHB) & BM_ASRC_ASRMCRB_EXTTHRSHB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the EXTTHRSHB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_EXTTHRSHB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_EXTTHRSHB) | BF_ASRC_ASRMCRB_EXTTHRSHB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field ZEROBUFB[23] (RW)
|
|
*
|
|
* Initialize buf of Pair B when pair B is enabled This bit is used to control whether the buffer is
|
|
* to be zeroized when pair B is enabled.
|
|
*
|
|
* Values:
|
|
* - 0 - Zeroize the buffer
|
|
* - 1 - Don't zeroize the buffer
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_ZEROBUFB (23) //!< Bit position for ASRC_ASRMCRB_ZEROBUFB.
|
|
#define BM_ASRC_ASRMCRB_ZEROBUFB (0x00800000) //!< Bit mask for ASRC_ASRMCRB_ZEROBUFB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_ZEROBUFB from a register value.
|
|
#define BG_ASRC_ASRMCRB_ZEROBUFB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_ZEROBUFB) >> BP_ASRC_ASRMCRB_ZEROBUFB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRB_ZEROBUFB.
|
|
#define BF_ASRC_ASRMCRB_ZEROBUFB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRB_ZEROBUFB) & BM_ASRC_ASRMCRB_ZEROBUFB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ZEROBUFB field to a new value.
|
|
#define BW_ASRC_ASRMCRB_ZEROBUFB(v) (HW_ASRC_ASRMCRB_WR((HW_ASRC_ASRMCRB_RD() & ~BM_ASRC_ASRMCRB_ZEROBUFB) | BF_ASRC_ASRMCRB_ZEROBUFB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRB, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRB_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRMCRB_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRMCRB_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRMCRB_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRB_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRMCRB_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRB_UNIMPLEMENTED) >> BP_ASRC_ASRMCRB_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRFSTB - ASRC FIFO Status Register for Pair B
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRFSTB - ASRC FIFO Status Register for Pair B (RO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRFSTB) is used to show Pair B internal FIFO conditions.
|
|
*/
|
|
typedef union _hw_asrc_asrfstb
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrfstb_bitfields
|
|
{
|
|
unsigned INFIFO_FILLB : 7; //!< [6:0] The fillings for Pair B's input FIFO per channel
|
|
unsigned RESERVED0 : 4; //!< [10:7] Reserved.
|
|
unsigned IAEB : 1; //!< [11] Input FIFO is near Empty for Pair B
|
|
unsigned OUTFIFO_FILLB : 7; //!< [18:12] The fillings for Pair B's output FIFO per channel
|
|
unsigned RESERVED1 : 4; //!< [22:19] Reserved.
|
|
unsigned OAFB : 1; //!< [23] Output FIFO is near Full for Pair B
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrfstb_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRFSTB register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRFSTB_ADDR (REGS_ASRC_BASE + 0xac)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRFSTB (*(volatile hw_asrc_asrfstb_t *) HW_ASRC_ASRFSTB_ADDR)
|
|
#define HW_ASRC_ASRFSTB_RD() (HW_ASRC_ASRFSTB.U)
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRFSTB bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRFSTB, field INFIFO_FILLB[6:0] (RO)
|
|
*
|
|
* The fillings for Pair B's input FIFO per channel These bits stand for the fillings for Pair B's
|
|
* input FIFO per channel. Possible range is [0,64].
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTB_INFIFO_FILLB (0) //!< Bit position for ASRC_ASRFSTB_INFIFO_FILLB.
|
|
#define BM_ASRC_ASRFSTB_INFIFO_FILLB (0x0000007f) //!< Bit mask for ASRC_ASRFSTB_INFIFO_FILLB.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTB_INFIFO_FILLB from a register value.
|
|
#define BG_ASRC_ASRFSTB_INFIFO_FILLB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTB_INFIFO_FILLB) >> BP_ASRC_ASRFSTB_INFIFO_FILLB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTB, field IAEB[11] (RO)
|
|
*
|
|
* Input FIFO is near Empty for Pair B This bit is to indicate whether the input FIFO of Pair B is
|
|
* near empty.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTB_IAEB (11) //!< Bit position for ASRC_ASRFSTB_IAEB.
|
|
#define BM_ASRC_ASRFSTB_IAEB (0x00000800) //!< Bit mask for ASRC_ASRFSTB_IAEB.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTB_IAEB from a register value.
|
|
#define BG_ASRC_ASRFSTB_IAEB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTB_IAEB) >> BP_ASRC_ASRFSTB_IAEB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTB, field OUTFIFO_FILLB[18:12] (RO)
|
|
*
|
|
* The fillings for Pair B's output FIFO per channel These bits stand for the fillings for Pair B's
|
|
* output FIFO per channel. Possible range is [0,64].
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTB_OUTFIFO_FILLB (12) //!< Bit position for ASRC_ASRFSTB_OUTFIFO_FILLB.
|
|
#define BM_ASRC_ASRFSTB_OUTFIFO_FILLB (0x0007f000) //!< Bit mask for ASRC_ASRFSTB_OUTFIFO_FILLB.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTB_OUTFIFO_FILLB from a register value.
|
|
#define BG_ASRC_ASRFSTB_OUTFIFO_FILLB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTB_OUTFIFO_FILLB) >> BP_ASRC_ASRFSTB_OUTFIFO_FILLB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTB, field OAFB[23] (RO)
|
|
*
|
|
* Output FIFO is near Full for Pair B This bit is to indicate whether the output FIFO of Pair B is
|
|
* near full.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTB_OAFB (23) //!< Bit position for ASRC_ASRFSTB_OAFB.
|
|
#define BM_ASRC_ASRFSTB_OAFB (0x00800000) //!< Bit mask for ASRC_ASRFSTB_OAFB.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTB_OAFB from a register value.
|
|
#define BG_ASRC_ASRFSTB_OAFB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTB_OAFB) >> BP_ASRC_ASRFSTB_OAFB)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTB, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTB_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRFSTB_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRFSTB_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRFSTB_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTB_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRFSTB_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTB_UNIMPLEMENTED) >> BP_ASRC_ASRFSTB_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRMCRC - ASRC Misc Control Register for Pair C
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRMCRC - ASRC Misc Control Register for Pair C (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRMCRC) is used to control Pair C internal logic.
|
|
*/
|
|
typedef union _hw_asrc_asrmcrc
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrmcrc_bitfields
|
|
{
|
|
unsigned INFIFO_THRESHOLDC : 6; //!< [5:0] The threshold for Pair C's input FIFO per channel
|
|
unsigned RESERVED0 : 4; //!< [9:6] Reserved.
|
|
unsigned RSYNOFC : 1; //!< [10] Re-sync Output FIFO Channel Counter
|
|
unsigned RSYNIFC : 1; //!< [11] Re-sync Input FIFO Channel Counter
|
|
unsigned OUTFIFO_THRESHOLDC : 6; //!< [17:12] The threshold for Pair C's output FIFO per channel
|
|
unsigned RESERVED1 : 2; //!< [19:18] Reserved.
|
|
unsigned BYPASSPOLYC : 1; //!< [20] Bypass Polyphase Filtering for Pair C
|
|
unsigned BUFSTALLC : 1; //!< [21] Stall Pair C conversion in case of Buffer Near Empty/Full Condition
|
|
unsigned EXTTHRSHC : 1; //!< [22] Use external thresholds for FIFO control of Pair C
|
|
unsigned ZEROBUFC : 1; //!< [23] Initialize buf of Pair C when pair C is enabled
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrmcrc_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRMCRC register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRMCRC_ADDR (REGS_ASRC_BASE + 0xb0)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRMCRC (*(volatile hw_asrc_asrmcrc_t *) HW_ASRC_ASRMCRC_ADDR)
|
|
#define HW_ASRC_ASRMCRC_RD() (HW_ASRC_ASRMCRC.U)
|
|
#define HW_ASRC_ASRMCRC_WR(v) (HW_ASRC_ASRMCRC.U = (v))
|
|
#define HW_ASRC_ASRMCRC_SET(v) (HW_ASRC_ASRMCRC_WR(HW_ASRC_ASRMCRC_RD() | (v)))
|
|
#define HW_ASRC_ASRMCRC_CLR(v) (HW_ASRC_ASRMCRC_WR(HW_ASRC_ASRMCRC_RD() & ~(v)))
|
|
#define HW_ASRC_ASRMCRC_TOG(v) (HW_ASRC_ASRMCRC_WR(HW_ASRC_ASRMCRC_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRMCRC bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field INFIFO_THRESHOLDC[5:0] (RW)
|
|
*
|
|
* The threshold for Pair C's input FIFO per channel These bits stand for the threshold for Pair C's
|
|
* input FIFO per channel. Possible range is [0,63]. When the value is n, it means that: when the
|
|
* number of input FIFO fillings of the pair is less than n samples per channel, the input data
|
|
* needed flag is set; when the number of input FIFO fillings of the pair is greater than or equal
|
|
* to n samples per channel, the input data needed flag is automatically cleared.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_INFIFO_THRESHOLDC (0) //!< Bit position for ASRC_ASRMCRC_INFIFO_THRESHOLDC.
|
|
#define BM_ASRC_ASRMCRC_INFIFO_THRESHOLDC (0x0000003f) //!< Bit mask for ASRC_ASRMCRC_INFIFO_THRESHOLDC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_INFIFO_THRESHOLDC from a register value.
|
|
#define BG_ASRC_ASRMCRC_INFIFO_THRESHOLDC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_INFIFO_THRESHOLDC) >> BP_ASRC_ASRMCRC_INFIFO_THRESHOLDC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_INFIFO_THRESHOLDC.
|
|
#define BF_ASRC_ASRMCRC_INFIFO_THRESHOLDC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_INFIFO_THRESHOLDC) & BM_ASRC_ASRMCRC_INFIFO_THRESHOLDC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the INFIFO_THRESHOLDC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_INFIFO_THRESHOLDC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_INFIFO_THRESHOLDC) | BF_ASRC_ASRMCRC_INFIFO_THRESHOLDC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field RSYNOFC[10] (RW)
|
|
*
|
|
* Re-sync Output FIFO Channel Counter If bit set, force ASRCCR:ACOC=0. If bit clear, untouch
|
|
* ASRCCR:ACOC.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_RSYNOFC (10) //!< Bit position for ASRC_ASRMCRC_RSYNOFC.
|
|
#define BM_ASRC_ASRMCRC_RSYNOFC (0x00000400) //!< Bit mask for ASRC_ASRMCRC_RSYNOFC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_RSYNOFC from a register value.
|
|
#define BG_ASRC_ASRMCRC_RSYNOFC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_RSYNOFC) >> BP_ASRC_ASRMCRC_RSYNOFC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_RSYNOFC.
|
|
#define BF_ASRC_ASRMCRC_RSYNOFC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_RSYNOFC) & BM_ASRC_ASRMCRC_RSYNOFC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the RSYNOFC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_RSYNOFC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_RSYNOFC) | BF_ASRC_ASRMCRC_RSYNOFC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field RSYNIFC[11] (RW)
|
|
*
|
|
* Re-sync Input FIFO Channel Counter If bit set, force ASRCCR:ACIC=0. If bit clear, untouch
|
|
* ASRCCR:ACIC.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_RSYNIFC (11) //!< Bit position for ASRC_ASRMCRC_RSYNIFC.
|
|
#define BM_ASRC_ASRMCRC_RSYNIFC (0x00000800) //!< Bit mask for ASRC_ASRMCRC_RSYNIFC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_RSYNIFC from a register value.
|
|
#define BG_ASRC_ASRMCRC_RSYNIFC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_RSYNIFC) >> BP_ASRC_ASRMCRC_RSYNIFC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_RSYNIFC.
|
|
#define BF_ASRC_ASRMCRC_RSYNIFC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_RSYNIFC) & BM_ASRC_ASRMCRC_RSYNIFC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the RSYNIFC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_RSYNIFC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_RSYNIFC) | BF_ASRC_ASRMCRC_RSYNIFC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field OUTFIFO_THRESHOLDC[17:12] (RW)
|
|
*
|
|
* The threshold for Pair C's output FIFO per channel These bits stand for the threshold for Pair
|
|
* C's output FIFO per channel. Possible range is [0,63]. When the value is n, it means that: when
|
|
* the number of output FIFO fillings of the pair is greater than n samples per channel, the output
|
|
* data ready flag is set; when the number of output FIFO fillings of the pair is less than or equal
|
|
* to n samples per channel, the output data ready flag is automatically cleared.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC (12) //!< Bit position for ASRC_ASRMCRC_OUTFIFO_THRESHOLDC.
|
|
#define BM_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC (0x0003f000) //!< Bit mask for ASRC_ASRMCRC_OUTFIFO_THRESHOLDC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_OUTFIFO_THRESHOLDC from a register value.
|
|
#define BG_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC) >> BP_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_OUTFIFO_THRESHOLDC.
|
|
#define BF_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC) & BM_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OUTFIFO_THRESHOLDC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC) | BF_ASRC_ASRMCRC_OUTFIFO_THRESHOLDC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field BYPASSPOLYC[20] (RW)
|
|
*
|
|
* Bypass Polyphase Filtering for Pair C This bit will determine whether the polyphase filtering
|
|
* part of Pair C conversion will be bypassed.
|
|
*
|
|
* Values:
|
|
* - 0 - Don't bypass polyphase filtering.
|
|
* - 1 - Bypass polyphase filtering.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_BYPASSPOLYC (20) //!< Bit position for ASRC_ASRMCRC_BYPASSPOLYC.
|
|
#define BM_ASRC_ASRMCRC_BYPASSPOLYC (0x00100000) //!< Bit mask for ASRC_ASRMCRC_BYPASSPOLYC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_BYPASSPOLYC from a register value.
|
|
#define BG_ASRC_ASRMCRC_BYPASSPOLYC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_BYPASSPOLYC) >> BP_ASRC_ASRMCRC_BYPASSPOLYC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_BYPASSPOLYC.
|
|
#define BF_ASRC_ASRMCRC_BYPASSPOLYC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_BYPASSPOLYC) & BM_ASRC_ASRMCRC_BYPASSPOLYC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the BYPASSPOLYC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_BYPASSPOLYC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_BYPASSPOLYC) | BF_ASRC_ASRMCRC_BYPASSPOLYC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field BUFSTALLC[21] (RW)
|
|
*
|
|
* Stall Pair C conversion in case of Buffer Near Empty/Full Condition This bit will determine
|
|
* whether the near empty/full FIFO condition will stall the rate conversion for pair C. This option
|
|
* can only work when external ratio is used. Near empty condition is the condition when input FIFO
|
|
* has less than 4 useful samples per channel. Near full condition is the condition when the output
|
|
* FIFO has less than 4 vacant sample words to fill per channel.
|
|
*
|
|
* Values:
|
|
* - 0 - Don't stall Pair C conversion even in case of near empty/full FIFO conditions.
|
|
* - 1 - Stall Pair C conversion in case of near empty/full FIFO conditions.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_BUFSTALLC (21) //!< Bit position for ASRC_ASRMCRC_BUFSTALLC.
|
|
#define BM_ASRC_ASRMCRC_BUFSTALLC (0x00200000) //!< Bit mask for ASRC_ASRMCRC_BUFSTALLC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_BUFSTALLC from a register value.
|
|
#define BG_ASRC_ASRMCRC_BUFSTALLC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_BUFSTALLC) >> BP_ASRC_ASRMCRC_BUFSTALLC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_BUFSTALLC.
|
|
#define BF_ASRC_ASRMCRC_BUFSTALLC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_BUFSTALLC) & BM_ASRC_ASRMCRC_BUFSTALLC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the BUFSTALLC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_BUFSTALLC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_BUFSTALLC) | BF_ASRC_ASRMCRC_BUFSTALLC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field EXTTHRSHC[22] (RW)
|
|
*
|
|
* Use external thresholds for FIFO control of Pair C This bit will determine whether the FIFO
|
|
* thresholds externally defined in this register is used to control ASRC internal FIFO logic for
|
|
* pair C.
|
|
*
|
|
* Values:
|
|
* - 0 - Use default thresholds.
|
|
* - 1 - Use external defined thresholds.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_EXTTHRSHC (22) //!< Bit position for ASRC_ASRMCRC_EXTTHRSHC.
|
|
#define BM_ASRC_ASRMCRC_EXTTHRSHC (0x00400000) //!< Bit mask for ASRC_ASRMCRC_EXTTHRSHC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_EXTTHRSHC from a register value.
|
|
#define BG_ASRC_ASRMCRC_EXTTHRSHC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_EXTTHRSHC) >> BP_ASRC_ASRMCRC_EXTTHRSHC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_EXTTHRSHC.
|
|
#define BF_ASRC_ASRMCRC_EXTTHRSHC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_EXTTHRSHC) & BM_ASRC_ASRMCRC_EXTTHRSHC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the EXTTHRSHC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_EXTTHRSHC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_EXTTHRSHC) | BF_ASRC_ASRMCRC_EXTTHRSHC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field ZEROBUFC[23] (RW)
|
|
*
|
|
* Initialize buf of Pair C when pair C is enabled This bit is used to control whether the buffer is
|
|
* to be zeroized when pair C is enabled.
|
|
*
|
|
* Values:
|
|
* - 0 - Zeroize the buffer
|
|
* - 1 - Don't zeroize the buffer
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_ZEROBUFC (23) //!< Bit position for ASRC_ASRMCRC_ZEROBUFC.
|
|
#define BM_ASRC_ASRMCRC_ZEROBUFC (0x00800000) //!< Bit mask for ASRC_ASRMCRC_ZEROBUFC.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_ZEROBUFC from a register value.
|
|
#define BG_ASRC_ASRMCRC_ZEROBUFC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_ZEROBUFC) >> BP_ASRC_ASRMCRC_ZEROBUFC)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCRC_ZEROBUFC.
|
|
#define BF_ASRC_ASRMCRC_ZEROBUFC(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCRC_ZEROBUFC) & BM_ASRC_ASRMCRC_ZEROBUFC)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the ZEROBUFC field to a new value.
|
|
#define BW_ASRC_ASRMCRC_ZEROBUFC(v) (HW_ASRC_ASRMCRC_WR((HW_ASRC_ASRMCRC_RD() & ~BM_ASRC_ASRMCRC_ZEROBUFC) | BF_ASRC_ASRMCRC_ZEROBUFC(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCRC, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCRC_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRMCRC_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRMCRC_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRMCRC_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRMCRC_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRMCRC_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCRC_UNIMPLEMENTED) >> BP_ASRC_ASRMCRC_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRFSTC - ASRC FIFO Status Register for Pair C
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRFSTC - ASRC FIFO Status Register for Pair C (RO)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRFSTC) is used to show Pair C internal FIFO conditions.
|
|
*/
|
|
typedef union _hw_asrc_asrfstc
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrfstc_bitfields
|
|
{
|
|
unsigned INFIFO_FILLC : 7; //!< [6:0] The fillings for Pair C's input FIFO per channel
|
|
unsigned RESERVED0 : 4; //!< [10:7] Reserved.
|
|
unsigned IAEC : 1; //!< [11] Input FIFO is near Empty for Pair C
|
|
unsigned OUTFIFO_FILLC : 7; //!< [18:12] The fillings for Pair C's output FIFO per channel
|
|
unsigned RESERVED1 : 4; //!< [22:19] Reserved.
|
|
unsigned OAFC : 1; //!< [23] Output FIFO is near Full for Pair C
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrfstc_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRFSTC register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRFSTC_ADDR (REGS_ASRC_BASE + 0xb4)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRFSTC (*(volatile hw_asrc_asrfstc_t *) HW_ASRC_ASRFSTC_ADDR)
|
|
#define HW_ASRC_ASRFSTC_RD() (HW_ASRC_ASRFSTC.U)
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRFSTC bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRFSTC, field INFIFO_FILLC[6:0] (RO)
|
|
*
|
|
* The fillings for Pair C's input FIFO per channel These bits stand for the fillings for Pair C's
|
|
* input FIFO per channel. Possible range is [0,64].
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTC_INFIFO_FILLC (0) //!< Bit position for ASRC_ASRFSTC_INFIFO_FILLC.
|
|
#define BM_ASRC_ASRFSTC_INFIFO_FILLC (0x0000007f) //!< Bit mask for ASRC_ASRFSTC_INFIFO_FILLC.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTC_INFIFO_FILLC from a register value.
|
|
#define BG_ASRC_ASRFSTC_INFIFO_FILLC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTC_INFIFO_FILLC) >> BP_ASRC_ASRFSTC_INFIFO_FILLC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTC, field IAEC[11] (RO)
|
|
*
|
|
* Input FIFO is near Empty for Pair C This bit is to indicate whether the input FIFO of Pair C is
|
|
* near empty.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTC_IAEC (11) //!< Bit position for ASRC_ASRFSTC_IAEC.
|
|
#define BM_ASRC_ASRFSTC_IAEC (0x00000800) //!< Bit mask for ASRC_ASRFSTC_IAEC.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTC_IAEC from a register value.
|
|
#define BG_ASRC_ASRFSTC_IAEC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTC_IAEC) >> BP_ASRC_ASRFSTC_IAEC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTC, field OUTFIFO_FILLC[18:12] (RO)
|
|
*
|
|
* The fillings for Pair C's output FIFO per channel These bits stand for the fillings for Pair C's
|
|
* output FIFO per channel. Possible range is [0,64].
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTC_OUTFIFO_FILLC (12) //!< Bit position for ASRC_ASRFSTC_OUTFIFO_FILLC.
|
|
#define BM_ASRC_ASRFSTC_OUTFIFO_FILLC (0x0007f000) //!< Bit mask for ASRC_ASRFSTC_OUTFIFO_FILLC.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTC_OUTFIFO_FILLC from a register value.
|
|
#define BG_ASRC_ASRFSTC_OUTFIFO_FILLC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTC_OUTFIFO_FILLC) >> BP_ASRC_ASRFSTC_OUTFIFO_FILLC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTC, field OAFC[23] (RO)
|
|
*
|
|
* Output FIFO is near Full for Pair C This bit is to indicate whether the output FIFO of Pair C is
|
|
* near full.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTC_OAFC (23) //!< Bit position for ASRC_ASRFSTC_OAFC.
|
|
#define BM_ASRC_ASRFSTC_OAFC (0x00800000) //!< Bit mask for ASRC_ASRFSTC_OAFC.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTC_OAFC from a register value.
|
|
#define BG_ASRC_ASRFSTC_OAFC(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTC_OAFC) >> BP_ASRC_ASRFSTC_OAFC)
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRFSTC, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRFSTC_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRFSTC_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRFSTC_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRFSTC_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRFSTC_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRFSTC_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRFSTC_UNIMPLEMENTED) >> BP_ASRC_ASRFSTC_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRMCR1A - ASRC Misc Control Register 1 for Pair X
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRMCR1A - ASRC Misc Control Register 1 for Pair X (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRMCR1A) is used to control Pair x internal logic (for data alignment etc.). The
|
|
* bit assignment for all the input data formats is the same as that supported by the SSI.
|
|
*/
|
|
typedef union _hw_asrc_asrmcr1a
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrmcr1a_bitfields
|
|
{
|
|
unsigned OW16 : 1; //!< [0] Bit Width Option of the output FIFO
|
|
unsigned OSGN : 1; //!< [1] Sign Extension Option of the output FIFO
|
|
unsigned OMSB : 1; //!< [2] Data Alignment of the output FIFO
|
|
unsigned RESERVED0 : 5; //!< [7:3] Reserved.
|
|
unsigned IMSB : 1; //!< [8] Data Alignment of the input FIFO
|
|
unsigned IWD : 3; //!< [11:9] Data Width of the input FIFO
|
|
unsigned RESERVED1 : 12; //!< [23:12] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrmcr1a_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRMCR1A register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRMCR1A_ADDR (REGS_ASRC_BASE + 0xc0)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRMCR1A (*(volatile hw_asrc_asrmcr1a_t *) HW_ASRC_ASRMCR1A_ADDR)
|
|
#define HW_ASRC_ASRMCR1A_RD() (HW_ASRC_ASRMCR1A.U)
|
|
#define HW_ASRC_ASRMCR1A_WR(v) (HW_ASRC_ASRMCR1A.U = (v))
|
|
#define HW_ASRC_ASRMCR1A_SET(v) (HW_ASRC_ASRMCR1A_WR(HW_ASRC_ASRMCR1A_RD() | (v)))
|
|
#define HW_ASRC_ASRMCR1A_CLR(v) (HW_ASRC_ASRMCR1A_WR(HW_ASRC_ASRMCR1A_RD() & ~(v)))
|
|
#define HW_ASRC_ASRMCR1A_TOG(v) (HW_ASRC_ASRMCR1A_WR(HW_ASRC_ASRMCR1A_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRMCR1A bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRMCR1A, field OW16[0] (RW)
|
|
*
|
|
* Bit Width Option of the output FIFO This bit will determine the bit width option of the output
|
|
* FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - 24-bit output data.
|
|
* - 1 - 16-bit output data
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1A_OW16 (0) //!< Bit position for ASRC_ASRMCR1A_OW16.
|
|
#define BM_ASRC_ASRMCR1A_OW16 (0x00000001) //!< Bit mask for ASRC_ASRMCR1A_OW16.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1A_OW16 from a register value.
|
|
#define BG_ASRC_ASRMCR1A_OW16(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1A_OW16) >> BP_ASRC_ASRMCR1A_OW16)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1A_OW16.
|
|
#define BF_ASRC_ASRMCR1A_OW16(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1A_OW16) & BM_ASRC_ASRMCR1A_OW16)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OW16 field to a new value.
|
|
#define BW_ASRC_ASRMCR1A_OW16(v) (HW_ASRC_ASRMCR1A_WR((HW_ASRC_ASRMCR1A_RD() & ~BM_ASRC_ASRMCR1A_OW16) | BF_ASRC_ASRMCR1A_OW16(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1A, field OSGN[1] (RW)
|
|
*
|
|
* Sign Extension Option of the output FIFO This bit will determine the sign extension option of the
|
|
* output FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - No sign extension.
|
|
* - 1 - Sign extension.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1A_OSGN (1) //!< Bit position for ASRC_ASRMCR1A_OSGN.
|
|
#define BM_ASRC_ASRMCR1A_OSGN (0x00000002) //!< Bit mask for ASRC_ASRMCR1A_OSGN.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1A_OSGN from a register value.
|
|
#define BG_ASRC_ASRMCR1A_OSGN(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1A_OSGN) >> BP_ASRC_ASRMCR1A_OSGN)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1A_OSGN.
|
|
#define BF_ASRC_ASRMCR1A_OSGN(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1A_OSGN) & BM_ASRC_ASRMCR1A_OSGN)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OSGN field to a new value.
|
|
#define BW_ASRC_ASRMCR1A_OSGN(v) (HW_ASRC_ASRMCR1A_WR((HW_ASRC_ASRMCR1A_RD() & ~BM_ASRC_ASRMCR1A_OSGN) | BF_ASRC_ASRMCR1A_OSGN(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1A, field OMSB[2] (RW)
|
|
*
|
|
* Data Alignment of the output FIFO This bit will determine the data alignment of the output FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - LSB aligned.
|
|
* - 1 - MSB aligned.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1A_OMSB (2) //!< Bit position for ASRC_ASRMCR1A_OMSB.
|
|
#define BM_ASRC_ASRMCR1A_OMSB (0x00000004) //!< Bit mask for ASRC_ASRMCR1A_OMSB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1A_OMSB from a register value.
|
|
#define BG_ASRC_ASRMCR1A_OMSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1A_OMSB) >> BP_ASRC_ASRMCR1A_OMSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1A_OMSB.
|
|
#define BF_ASRC_ASRMCR1A_OMSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1A_OMSB) & BM_ASRC_ASRMCR1A_OMSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OMSB field to a new value.
|
|
#define BW_ASRC_ASRMCR1A_OMSB(v) (HW_ASRC_ASRMCR1A_WR((HW_ASRC_ASRMCR1A_RD() & ~BM_ASRC_ASRMCR1A_OMSB) | BF_ASRC_ASRMCR1A_OMSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1A, field IMSB[8] (RW)
|
|
*
|
|
* Data Alignment of the input FIFO This bit will determine the data alignment of the input FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - LSB aligned.
|
|
* - 1 - MSB aligned.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1A_IMSB (8) //!< Bit position for ASRC_ASRMCR1A_IMSB.
|
|
#define BM_ASRC_ASRMCR1A_IMSB (0x00000100) //!< Bit mask for ASRC_ASRMCR1A_IMSB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1A_IMSB from a register value.
|
|
#define BG_ASRC_ASRMCR1A_IMSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1A_IMSB) >> BP_ASRC_ASRMCR1A_IMSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1A_IMSB.
|
|
#define BF_ASRC_ASRMCR1A_IMSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1A_IMSB) & BM_ASRC_ASRMCR1A_IMSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IMSB field to a new value.
|
|
#define BW_ASRC_ASRMCR1A_IMSB(v) (HW_ASRC_ASRMCR1A_WR((HW_ASRC_ASRMCR1A_RD() & ~BM_ASRC_ASRMCR1A_IMSB) | BF_ASRC_ASRMCR1A_IMSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1A, field IWD[11:9] (RW)
|
|
*
|
|
* Data Width of the input FIFO These three bits will determine the bitwidth for the audio data into
|
|
* ASRC All other settings not shown are reserved. 3'b000 24-bit audio data. 3'b001 16-bit audio
|
|
* data. 3'b010 8-bit audio data.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1A_IWD (9) //!< Bit position for ASRC_ASRMCR1A_IWD.
|
|
#define BM_ASRC_ASRMCR1A_IWD (0x00000e00) //!< Bit mask for ASRC_ASRMCR1A_IWD.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1A_IWD from a register value.
|
|
#define BG_ASRC_ASRMCR1A_IWD(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1A_IWD) >> BP_ASRC_ASRMCR1A_IWD)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1A_IWD.
|
|
#define BF_ASRC_ASRMCR1A_IWD(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1A_IWD) & BM_ASRC_ASRMCR1A_IWD)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IWD field to a new value.
|
|
#define BW_ASRC_ASRMCR1A_IWD(v) (HW_ASRC_ASRMCR1A_WR((HW_ASRC_ASRMCR1A_RD() & ~BM_ASRC_ASRMCR1A_IWD) | BF_ASRC_ASRMCR1A_IWD(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1A, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1A_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRMCR1A_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRMCR1A_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRMCR1A_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1A_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRMCR1A_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1A_UNIMPLEMENTED) >> BP_ASRC_ASRMCR1A_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRMCR1B - ASRC Misc Control Register 1 for Pair X
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRMCR1B - ASRC Misc Control Register 1 for Pair X (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRMCR1A) is used to control Pair x internal logic (for data alignment etc.). The
|
|
* bit assignment for all the input data formats is the same as that supported by the SSI.
|
|
*/
|
|
typedef union _hw_asrc_asrmcr1b
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrmcr1b_bitfields
|
|
{
|
|
unsigned OW16 : 1; //!< [0] Bit Width Option of the output FIFO
|
|
unsigned OSGN : 1; //!< [1] Sign Extension Option of the output FIFO
|
|
unsigned OMSB : 1; //!< [2] Data Alignment of the output FIFO
|
|
unsigned RESERVED0 : 5; //!< [7:3] Reserved.
|
|
unsigned IMSB : 1; //!< [8] Data Alignment of the input FIFO
|
|
unsigned IWD : 3; //!< [11:9] Data Width of the input FIFO
|
|
unsigned RESERVED1 : 12; //!< [23:12] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrmcr1b_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRMCR1B register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRMCR1B_ADDR (REGS_ASRC_BASE + 0xc4)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRMCR1B (*(volatile hw_asrc_asrmcr1b_t *) HW_ASRC_ASRMCR1B_ADDR)
|
|
#define HW_ASRC_ASRMCR1B_RD() (HW_ASRC_ASRMCR1B.U)
|
|
#define HW_ASRC_ASRMCR1B_WR(v) (HW_ASRC_ASRMCR1B.U = (v))
|
|
#define HW_ASRC_ASRMCR1B_SET(v) (HW_ASRC_ASRMCR1B_WR(HW_ASRC_ASRMCR1B_RD() | (v)))
|
|
#define HW_ASRC_ASRMCR1B_CLR(v) (HW_ASRC_ASRMCR1B_WR(HW_ASRC_ASRMCR1B_RD() & ~(v)))
|
|
#define HW_ASRC_ASRMCR1B_TOG(v) (HW_ASRC_ASRMCR1B_WR(HW_ASRC_ASRMCR1B_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRMCR1B bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRMCR1B, field OW16[0] (RW)
|
|
*
|
|
* Bit Width Option of the output FIFO This bit will determine the bit width option of the output
|
|
* FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - 24-bit output data.
|
|
* - 1 - 16-bit output data
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1B_OW16 (0) //!< Bit position for ASRC_ASRMCR1B_OW16.
|
|
#define BM_ASRC_ASRMCR1B_OW16 (0x00000001) //!< Bit mask for ASRC_ASRMCR1B_OW16.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1B_OW16 from a register value.
|
|
#define BG_ASRC_ASRMCR1B_OW16(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1B_OW16) >> BP_ASRC_ASRMCR1B_OW16)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1B_OW16.
|
|
#define BF_ASRC_ASRMCR1B_OW16(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1B_OW16) & BM_ASRC_ASRMCR1B_OW16)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OW16 field to a new value.
|
|
#define BW_ASRC_ASRMCR1B_OW16(v) (HW_ASRC_ASRMCR1B_WR((HW_ASRC_ASRMCR1B_RD() & ~BM_ASRC_ASRMCR1B_OW16) | BF_ASRC_ASRMCR1B_OW16(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1B, field OSGN[1] (RW)
|
|
*
|
|
* Sign Extension Option of the output FIFO This bit will determine the sign extension option of the
|
|
* output FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - No sign extension.
|
|
* - 1 - Sign extension.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1B_OSGN (1) //!< Bit position for ASRC_ASRMCR1B_OSGN.
|
|
#define BM_ASRC_ASRMCR1B_OSGN (0x00000002) //!< Bit mask for ASRC_ASRMCR1B_OSGN.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1B_OSGN from a register value.
|
|
#define BG_ASRC_ASRMCR1B_OSGN(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1B_OSGN) >> BP_ASRC_ASRMCR1B_OSGN)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1B_OSGN.
|
|
#define BF_ASRC_ASRMCR1B_OSGN(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1B_OSGN) & BM_ASRC_ASRMCR1B_OSGN)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OSGN field to a new value.
|
|
#define BW_ASRC_ASRMCR1B_OSGN(v) (HW_ASRC_ASRMCR1B_WR((HW_ASRC_ASRMCR1B_RD() & ~BM_ASRC_ASRMCR1B_OSGN) | BF_ASRC_ASRMCR1B_OSGN(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1B, field OMSB[2] (RW)
|
|
*
|
|
* Data Alignment of the output FIFO This bit will determine the data alignment of the output FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - LSB aligned.
|
|
* - 1 - MSB aligned.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1B_OMSB (2) //!< Bit position for ASRC_ASRMCR1B_OMSB.
|
|
#define BM_ASRC_ASRMCR1B_OMSB (0x00000004) //!< Bit mask for ASRC_ASRMCR1B_OMSB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1B_OMSB from a register value.
|
|
#define BG_ASRC_ASRMCR1B_OMSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1B_OMSB) >> BP_ASRC_ASRMCR1B_OMSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1B_OMSB.
|
|
#define BF_ASRC_ASRMCR1B_OMSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1B_OMSB) & BM_ASRC_ASRMCR1B_OMSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OMSB field to a new value.
|
|
#define BW_ASRC_ASRMCR1B_OMSB(v) (HW_ASRC_ASRMCR1B_WR((HW_ASRC_ASRMCR1B_RD() & ~BM_ASRC_ASRMCR1B_OMSB) | BF_ASRC_ASRMCR1B_OMSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1B, field IMSB[8] (RW)
|
|
*
|
|
* Data Alignment of the input FIFO This bit will determine the data alignment of the input FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - LSB aligned.
|
|
* - 1 - MSB aligned.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1B_IMSB (8) //!< Bit position for ASRC_ASRMCR1B_IMSB.
|
|
#define BM_ASRC_ASRMCR1B_IMSB (0x00000100) //!< Bit mask for ASRC_ASRMCR1B_IMSB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1B_IMSB from a register value.
|
|
#define BG_ASRC_ASRMCR1B_IMSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1B_IMSB) >> BP_ASRC_ASRMCR1B_IMSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1B_IMSB.
|
|
#define BF_ASRC_ASRMCR1B_IMSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1B_IMSB) & BM_ASRC_ASRMCR1B_IMSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IMSB field to a new value.
|
|
#define BW_ASRC_ASRMCR1B_IMSB(v) (HW_ASRC_ASRMCR1B_WR((HW_ASRC_ASRMCR1B_RD() & ~BM_ASRC_ASRMCR1B_IMSB) | BF_ASRC_ASRMCR1B_IMSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1B, field IWD[11:9] (RW)
|
|
*
|
|
* Data Width of the input FIFO These three bits will determine the bitwidth for the audio data into
|
|
* ASRC All other settings not shown are reserved. 3'b000 24-bit audio data. 3'b001 16-bit audio
|
|
* data. 3'b010 8-bit audio data.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1B_IWD (9) //!< Bit position for ASRC_ASRMCR1B_IWD.
|
|
#define BM_ASRC_ASRMCR1B_IWD (0x00000e00) //!< Bit mask for ASRC_ASRMCR1B_IWD.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1B_IWD from a register value.
|
|
#define BG_ASRC_ASRMCR1B_IWD(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1B_IWD) >> BP_ASRC_ASRMCR1B_IWD)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1B_IWD.
|
|
#define BF_ASRC_ASRMCR1B_IWD(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1B_IWD) & BM_ASRC_ASRMCR1B_IWD)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IWD field to a new value.
|
|
#define BW_ASRC_ASRMCR1B_IWD(v) (HW_ASRC_ASRMCR1B_WR((HW_ASRC_ASRMCR1B_RD() & ~BM_ASRC_ASRMCR1B_IWD) | BF_ASRC_ASRMCR1B_IWD(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1B, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1B_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRMCR1B_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRMCR1B_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRMCR1B_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1B_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRMCR1B_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1B_UNIMPLEMENTED) >> BP_ASRC_ASRMCR1B_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// HW_ASRC_ASRMCR1C - ASRC Misc Control Register 1 for Pair X
|
|
//-------------------------------------------------------------------------------------------
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
/*!
|
|
* @brief HW_ASRC_ASRMCR1C - ASRC Misc Control Register 1 for Pair X (RW)
|
|
*
|
|
* Reset value: 0x00000000
|
|
*
|
|
* The register (ASRMCR1A) is used to control Pair x internal logic (for data alignment etc.). The
|
|
* bit assignment for all the input data formats is the same as that supported by the SSI.
|
|
*/
|
|
typedef union _hw_asrc_asrmcr1c
|
|
{
|
|
reg32_t U;
|
|
struct _hw_asrc_asrmcr1c_bitfields
|
|
{
|
|
unsigned OW16 : 1; //!< [0] Bit Width Option of the output FIFO
|
|
unsigned OSGN : 1; //!< [1] Sign Extension Option of the output FIFO
|
|
unsigned OMSB : 1; //!< [2] Data Alignment of the output FIFO
|
|
unsigned RESERVED0 : 5; //!< [7:3] Reserved.
|
|
unsigned IMSB : 1; //!< [8] Data Alignment of the input FIFO
|
|
unsigned IWD : 3; //!< [11:9] Data Width of the input FIFO
|
|
unsigned RESERVED1 : 12; //!< [23:12] Reserved.
|
|
unsigned UNIMPLEMENTED : 8; //!< [31:24] This is a 24-bit register the upper byte is unimplemented.
|
|
} B;
|
|
} hw_asrc_asrmcr1c_t;
|
|
#endif
|
|
|
|
/*!
|
|
* @name Constants and macros for entire ASRC_ASRMCR1C register
|
|
*/
|
|
//@{
|
|
#define HW_ASRC_ASRMCR1C_ADDR (REGS_ASRC_BASE + 0xc8)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
#define HW_ASRC_ASRMCR1C (*(volatile hw_asrc_asrmcr1c_t *) HW_ASRC_ASRMCR1C_ADDR)
|
|
#define HW_ASRC_ASRMCR1C_RD() (HW_ASRC_ASRMCR1C.U)
|
|
#define HW_ASRC_ASRMCR1C_WR(v) (HW_ASRC_ASRMCR1C.U = (v))
|
|
#define HW_ASRC_ASRMCR1C_SET(v) (HW_ASRC_ASRMCR1C_WR(HW_ASRC_ASRMCR1C_RD() | (v)))
|
|
#define HW_ASRC_ASRMCR1C_CLR(v) (HW_ASRC_ASRMCR1C_WR(HW_ASRC_ASRMCR1C_RD() & ~(v)))
|
|
#define HW_ASRC_ASRMCR1C_TOG(v) (HW_ASRC_ASRMCR1C_WR(HW_ASRC_ASRMCR1C_RD() ^ (v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*
|
|
* constants & macros for individual ASRC_ASRMCR1C bitfields
|
|
*/
|
|
|
|
/*! @name Register ASRC_ASRMCR1C, field OW16[0] (RW)
|
|
*
|
|
* Bit Width Option of the output FIFO This bit will determine the bit width option of the output
|
|
* FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - 24-bit output data.
|
|
* - 1 - 16-bit output data
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1C_OW16 (0) //!< Bit position for ASRC_ASRMCR1C_OW16.
|
|
#define BM_ASRC_ASRMCR1C_OW16 (0x00000001) //!< Bit mask for ASRC_ASRMCR1C_OW16.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1C_OW16 from a register value.
|
|
#define BG_ASRC_ASRMCR1C_OW16(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1C_OW16) >> BP_ASRC_ASRMCR1C_OW16)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1C_OW16.
|
|
#define BF_ASRC_ASRMCR1C_OW16(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1C_OW16) & BM_ASRC_ASRMCR1C_OW16)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OW16 field to a new value.
|
|
#define BW_ASRC_ASRMCR1C_OW16(v) (HW_ASRC_ASRMCR1C_WR((HW_ASRC_ASRMCR1C_RD() & ~BM_ASRC_ASRMCR1C_OW16) | BF_ASRC_ASRMCR1C_OW16(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1C, field OSGN[1] (RW)
|
|
*
|
|
* Sign Extension Option of the output FIFO This bit will determine the sign extension option of the
|
|
* output FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - No sign extension.
|
|
* - 1 - Sign extension.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1C_OSGN (1) //!< Bit position for ASRC_ASRMCR1C_OSGN.
|
|
#define BM_ASRC_ASRMCR1C_OSGN (0x00000002) //!< Bit mask for ASRC_ASRMCR1C_OSGN.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1C_OSGN from a register value.
|
|
#define BG_ASRC_ASRMCR1C_OSGN(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1C_OSGN) >> BP_ASRC_ASRMCR1C_OSGN)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1C_OSGN.
|
|
#define BF_ASRC_ASRMCR1C_OSGN(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1C_OSGN) & BM_ASRC_ASRMCR1C_OSGN)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OSGN field to a new value.
|
|
#define BW_ASRC_ASRMCR1C_OSGN(v) (HW_ASRC_ASRMCR1C_WR((HW_ASRC_ASRMCR1C_RD() & ~BM_ASRC_ASRMCR1C_OSGN) | BF_ASRC_ASRMCR1C_OSGN(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1C, field OMSB[2] (RW)
|
|
*
|
|
* Data Alignment of the output FIFO This bit will determine the data alignment of the output FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - LSB aligned.
|
|
* - 1 - MSB aligned.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1C_OMSB (2) //!< Bit position for ASRC_ASRMCR1C_OMSB.
|
|
#define BM_ASRC_ASRMCR1C_OMSB (0x00000004) //!< Bit mask for ASRC_ASRMCR1C_OMSB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1C_OMSB from a register value.
|
|
#define BG_ASRC_ASRMCR1C_OMSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1C_OMSB) >> BP_ASRC_ASRMCR1C_OMSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1C_OMSB.
|
|
#define BF_ASRC_ASRMCR1C_OMSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1C_OMSB) & BM_ASRC_ASRMCR1C_OMSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the OMSB field to a new value.
|
|
#define BW_ASRC_ASRMCR1C_OMSB(v) (HW_ASRC_ASRMCR1C_WR((HW_ASRC_ASRMCR1C_RD() & ~BM_ASRC_ASRMCR1C_OMSB) | BF_ASRC_ASRMCR1C_OMSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1C, field IMSB[8] (RW)
|
|
*
|
|
* Data Alignment of the input FIFO This bit will determine the data alignment of the input FIFO.
|
|
*
|
|
* Values:
|
|
* - 0 - LSB aligned.
|
|
* - 1 - MSB aligned.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1C_IMSB (8) //!< Bit position for ASRC_ASRMCR1C_IMSB.
|
|
#define BM_ASRC_ASRMCR1C_IMSB (0x00000100) //!< Bit mask for ASRC_ASRMCR1C_IMSB.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1C_IMSB from a register value.
|
|
#define BG_ASRC_ASRMCR1C_IMSB(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1C_IMSB) >> BP_ASRC_ASRMCR1C_IMSB)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1C_IMSB.
|
|
#define BF_ASRC_ASRMCR1C_IMSB(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1C_IMSB) & BM_ASRC_ASRMCR1C_IMSB)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IMSB field to a new value.
|
|
#define BW_ASRC_ASRMCR1C_IMSB(v) (HW_ASRC_ASRMCR1C_WR((HW_ASRC_ASRMCR1C_RD() & ~BM_ASRC_ASRMCR1C_IMSB) | BF_ASRC_ASRMCR1C_IMSB(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1C, field IWD[11:9] (RW)
|
|
*
|
|
* Data Width of the input FIFO These three bits will determine the bitwidth for the audio data into
|
|
* ASRC All other settings not shown are reserved. 3'b000 24-bit audio data. 3'b001 16-bit audio
|
|
* data. 3'b010 8-bit audio data.
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1C_IWD (9) //!< Bit position for ASRC_ASRMCR1C_IWD.
|
|
#define BM_ASRC_ASRMCR1C_IWD (0x00000e00) //!< Bit mask for ASRC_ASRMCR1C_IWD.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1C_IWD from a register value.
|
|
#define BG_ASRC_ASRMCR1C_IWD(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1C_IWD) >> BP_ASRC_ASRMCR1C_IWD)
|
|
|
|
//! @brief Format value for bitfield ASRC_ASRMCR1C_IWD.
|
|
#define BF_ASRC_ASRMCR1C_IWD(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_ASRC_ASRMCR1C_IWD) & BM_ASRC_ASRMCR1C_IWD)
|
|
|
|
#ifndef __LANGUAGE_ASM__
|
|
//! @brief Set the IWD field to a new value.
|
|
#define BW_ASRC_ASRMCR1C_IWD(v) (HW_ASRC_ASRMCR1C_WR((HW_ASRC_ASRMCR1C_RD() & ~BM_ASRC_ASRMCR1C_IWD) | BF_ASRC_ASRMCR1C_IWD(v)))
|
|
#endif
|
|
//@}
|
|
|
|
/*! @name Register ASRC_ASRMCR1C, field UNIMPLEMENTED[31:24] (RU)
|
|
*/
|
|
//@{
|
|
#define BP_ASRC_ASRMCR1C_UNIMPLEMENTED (24) //!< Bit position for ASRC_ASRMCR1C_UNIMPLEMENTED.
|
|
#define BM_ASRC_ASRMCR1C_UNIMPLEMENTED (0xff000000) //!< Bit mask for ASRC_ASRMCR1C_UNIMPLEMENTED.
|
|
|
|
//! @brief Get value of ASRC_ASRMCR1C_UNIMPLEMENTED from a register value.
|
|
#define BG_ASRC_ASRMCR1C_UNIMPLEMENTED(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_ASRC_ASRMCR1C_UNIMPLEMENTED) >> BP_ASRC_ASRMCR1C_UNIMPLEMENTED)
|
|
//@}
|
|
|
|
//-------------------------------------------------------------------------------------------
|
|
// hw_asrc_t - module struct
|
|
//-------------------------------------------------------------------------------------------
|
|
/*!
|
|
* @brief All ASRC module registers.
|
|
*/
|
|
#ifndef __LANGUAGE_ASM__
|
|
#pragma pack(1)
|
|
typedef struct _hw_asrc
|
|
{
|
|
volatile hw_asrc_asrctr_t ASRCTR; //!< ASRC Control Register
|
|
volatile hw_asrc_asrier_t ASRIER; //!< ASRC Interrupt Enable Register
|
|
reg32_t _reserved0;
|
|
volatile hw_asrc_asrcncr_t ASRCNCR; //!< ASRC Channel Number Configuration Register
|
|
volatile hw_asrc_asrcfg_t ASRCFG; //!< ASRC Filter Configuration Status Register
|
|
volatile hw_asrc_asrcsr_t ASRCSR; //!< ASRC Clock Source Register
|
|
volatile hw_asrc_asrcdr1_t ASRCDR1; //!< ASRC Clock Divider Register 1
|
|
volatile hw_asrc_asrcdr2_t ASRCDR2; //!< ASRC Clock Divider Register 2
|
|
volatile hw_asrc_asrstr_t ASRSTR; //!< ASRC Status Register
|
|
reg32_t _reserved1[7];
|
|
volatile hw_asrc_asrpmn1_t ASRPMN1; //!< ASRC Parameter Register n
|
|
volatile hw_asrc_asrpmn2_t ASRPMN2; //!< ASRC Parameter Register n
|
|
volatile hw_asrc_asrpmn3_t ASRPMN3; //!< ASRC Parameter Register n
|
|
volatile hw_asrc_asrpmn4_t ASRPMN4; //!< ASRC Parameter Register n
|
|
volatile hw_asrc_asrpmn5_t ASRPMN5; //!< ASRC Parameter Register n
|
|
volatile hw_asrc_asrtfr1_t ASRTFR1; //!< ASRC ASRC Task Queue FIFO Register 1
|
|
reg32_t _reserved2;
|
|
volatile hw_asrc_asrccr_t ASRCCR; //!< ASRC Channel Counter Register
|
|
volatile hw_asrc_asrdia_t ASRDIA; //!< ASRC Data Input Register for Pair x
|
|
volatile hw_asrc_asrdoa_t ASRDOA; //!< ASRC Data Output Register for Pair x
|
|
volatile hw_asrc_asrdib_t ASRDIB; //!< ASRC Data Input Register for Pair x
|
|
volatile hw_asrc_asrdob_t ASRDOB; //!< ASRC Data Output Register for Pair x
|
|
volatile hw_asrc_asrdic_t ASRDIC; //!< ASRC Data Input Register for Pair x
|
|
volatile hw_asrc_asrdoc_t ASRDOC; //!< ASRC Data Output Register for Pair x
|
|
reg32_t _reserved3[2];
|
|
volatile hw_asrc_asridrha_t ASRIDRHA; //!< ASRC Ideal Ratio for Pair A-High Part
|
|
volatile hw_asrc_asridrla_t ASRIDRLA; //!< ASRC Ideal Ratio for Pair A -Low Part
|
|
volatile hw_asrc_asridrhb_t ASRIDRHB; //!< ASRC Ideal Ratio for Pair B-High Part
|
|
volatile hw_asrc_asridrlb_t ASRIDRLB; //!< ASRC Ideal Ratio for Pair B-Low Part
|
|
volatile hw_asrc_asridrhc_t ASRIDRHC; //!< ASRC Ideal Ratio for Pair C-High Part
|
|
volatile hw_asrc_asridrlc_t ASRIDRLC; //!< ASRC Ideal Ratio for Pair C-Low Part
|
|
volatile hw_asrc_asr76k_t ASR76K; //!< ASRC 76kHz Period in terms of ASRC processing clock
|
|
volatile hw_asrc_asr56k_t ASR56K; //!< ASRC 56kHz Period in terms of ASRC processing clock
|
|
volatile hw_asrc_asrmcra_t ASRMCRA; //!< ASRC Misc Control Register for Pair A
|
|
volatile hw_asrc_asrfsta_t ASRFSTA; //!< ASRC FIFO Status Register for Pair A
|
|
volatile hw_asrc_asrmcrb_t ASRMCRB; //!< ASRC Misc Control Register for Pair B
|
|
volatile hw_asrc_asrfstb_t ASRFSTB; //!< ASRC FIFO Status Register for Pair B
|
|
volatile hw_asrc_asrmcrc_t ASRMCRC; //!< ASRC Misc Control Register for Pair C
|
|
volatile hw_asrc_asrfstc_t ASRFSTC; //!< ASRC FIFO Status Register for Pair C
|
|
reg32_t _reserved4[2];
|
|
volatile hw_asrc_asrmcr1a_t ASRMCR1A; //!< ASRC Misc Control Register 1 for Pair X
|
|
volatile hw_asrc_asrmcr1b_t ASRMCR1B; //!< ASRC Misc Control Register 1 for Pair X
|
|
volatile hw_asrc_asrmcr1c_t ASRMCR1C; //!< ASRC Misc Control Register 1 for Pair X
|
|
} hw_asrc_t;
|
|
#pragma pack()
|
|
|
|
//! @brief Macro to access all ASRC registers.
|
|
//! @return Reference (not a pointer) to the registers struct. To get a pointer to the struct,
|
|
//! use the '&' operator, like <code>&HW_ASRC</code>.
|
|
#define HW_ASRC (*(hw_asrc_t *) REGS_ASRC_BASE)
|
|
#endif
|
|
|
|
#endif // __HW_ASRC_REGISTERS_H__
|
|
// v18/121106/1.2.2
|
|
// EOF
|