⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 evm5509_aic23_registers.c

📁 dsp 5509a MMC 卡 ID号读取 12Mhzx16=192M
💻 C
字号:
/*
 *  Copyright 2004 by Spectrum Digital Incorporated.
 *  All rights reserved. Property of Spectrum Digital Incorporated.
 */

/*
 *  ======== evm5509_aic23_registers.c ========
 *  EVM5509_AIC23_rset() and EVM5509_AIC23_rget() implementation
 */

#include <csl.h>
#include <csl_i2c.h>

#include <evm5509.h>
#include <evm5509_aic23.h>

/* Internal codec state used to simulate read/write functionality */
static EVM5509_AIC23_Config codecstate = EVM5509_AIC23_DEFAULTCONFIG;

/*
 *  ======== EVM5509_AIC23_rset ========
 *  Set codec register regnum to value regval
 */

void EVM5509_AIC23_rset(EVM5509_AIC23_CodecHandle hCodec, Uint16 regnum, Uint16 regval)
{
    Uint16 buf[2];

    buf[0] = (Uint16)((regnum<<1)+(regval>>8));
    buf[1] = (Uint16)(regval & 0x00FF);

    I2C_write(buf, 2, 1, EVM5509_AIC23_I2CADDR, 1, 100);
}


/*
 *  ======== EVM5509_AIC23_rget ========
 *  Return value of codec register regnum
 */
Uint16 EVM5509_AIC23_rget(EVM5509_AIC23_CodecHandle hCodec, Uint16 regnum)
{
    if (regnum < EVM5509_AIC23_NUMREGS)
        return codecstate.regs[regnum];
    else
        return 0;    
}

/*
 *  ======== EVM5509_AIC23_config ========
 *  Set the default codec register config values
 */
void EVM5509_AIC23_config(EVM5509_AIC23_CodecHandle hCodec, EVM5509_AIC23_Config *Config)
{
    int i;
    
    /* Use default parameters if none are given */
    if (Config == NULL)
    	Config = &codecstate;

    /* Configure power down register first */
    EVM5509_AIC23_rset(hCodec, EVM5509_AIC23_POWERDOWN,
        Config -> regs[EVM5509_AIC23_POWERDOWN]);
    
    /* Assign each register */
    for (i = 0; i < EVM5509_AIC23_NUMREGS; i++)
        if (i != EVM5509_AIC23_POWERDOWN)
            EVM5509_AIC23_rset(hCodec, i, Config -> regs[i]);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -