static int max98925_dai_digital_mute(struct snd_soc_dai *codec_dai, int mute) { struct max98925_priv *max98925 = snd_soc_codec_get_drvdata(codec_dai->codec); msg_maxim("%s: mute %d\n", __func__, mute); if (mute) { regmap_update_bits(max98925->regmap, MAX98925_R02D_GAIN, MAX98925_SPK_GAIN_MASK, 0x00); usleep_range(5000, 5000); regmap_update_bits(max98925->regmap, MAX98925_R038_GLOBAL_ENABLE, MAX98925_EN_MASK, 0x0); } else { regmap_update_bits(max98925->regmap, MAX98925_R02D_GAIN, MAX98925_SPK_GAIN_MASK, max98925->volume); regmap_update_bits(max98925->regmap, MAX98925_R036_BLOCK_ENABLE, MAX98925_BST_EN_MASK | MAX98925_SPK_EN_MASK | MAX98925_ADC_IMON_EN_MASK | MAX98925_ADC_VMON_EN_MASK, MAX98925_BST_EN_MASK | MAX98925_SPK_EN_MASK | MAX98925_ADC_IMON_EN_MASK | MAX98925_ADC_VMON_EN_MASK); regmap_write(max98925->regmap, MAX98925_R038_GLOBAL_ENABLE, MAX98925_EN_MASK); } #ifdef USE_REG_DUMP reg_dump(max98925); #endif return 0; }
static int max98505_dai_digital_mute(struct snd_soc_dai *codec_dai, int mute) { struct max98505_priv *max98505 = snd_soc_codec_get_drvdata(codec_dai->codec); struct max98505_pdata *pdata = max98505->pdata; bool action = 1; if (pdata->capture_active != codec_dai->capture_active) { pdata->capture_active = codec_dai->capture_active; action = 0; } if (pdata->playback_active != codec_dai->playback_active) { pdata->playback_active = codec_dai->playback_active; action = 1; } msg_maxim("mute=%d playback_active=%d capture_active=%d action=%d", mute, pdata->playback_active, pdata->capture_active, action); if (action) __max98505_dai_digital_mute(codec_dai, mute); #ifdef USE_REG_DUMP if (action) reg_dump(max98505); #endif /* USE_REG_DUMP */ return 0; }
void handler_dev_display_write(u2_t addr, u1_t data) { #ifdef DEBUG if (trace_regs) printf("%c%x", (ADDR_DEV(addr) == ADDR_7SEG(0))? 'D':'L', addr&0xf); #endif if (ADDR_DEV(addr) == ADDR_7SEG(0)) { dsp_7seg_write(POS(addr - ADDR_7SEG(0)), 0, data); } else if (ADDR_DEV(addr) == ADDR_LEDS(0xf)) { // remember ADDR_LEDS() is reversed dsp_leds_write(0xf - (addr - ADDR_LEDS(0xf)), data); } else { bus_write(addr, data); } #ifdef DEBUG // last digit of display has been written if ((display_all || deviation) && (addr == ADDR_7SEG(0xf))) { static char dbuf[128]; static double dval2; static u4_t ddn, dskip; freq_record(0, REG_STR, 0, 0, 0, "D "); dsp_7seg_translate(dbuf, &dval2); ddn++; if (display_all || ((ddn & 0xf) == 0)) printf("%s\n", dbuf); if (deviation && (fabs(dval-dval2) > 0.000001)) { printf("+%d %12.9f\n", ddn, dval2); ddn = 0; #ifdef FREQ_DEBUG if (dskip > 50) reg_dump(0, reg_dump_read, NULL, reg_dump_str); #endif } freq_record(0, REG_RESET, 0, 0, 0, 0); dskip++; } #endif }
static void dma_dump_regs(void) { reg_dump(dma_regs, (uint32_t *) AT91C_BASE_HDMA); reg_dump(dma_ch_regs, (uint8_t *)AT91C_BASE_HDMA_CH_0 + (BOARD_SSC_DMA_CHANNEL*0x28)); }