extern int inr_pc7230_ipod_ducking_test(int autotest) { if (audio_dac_initialize()) { printf("audio_dac_initialize fail\n"); return -1; } if (socle_request_gpio_irq(SET_GPIO_PIN_NUM(PF, 4), volume_tuner_isr, GPIO_INT_SENSE_EDGE | GPIO_INT_SINGLE_EDGE | GPIO_INT_EVENT_HI, NULL)) { printf("I2STesting(): GPIO pin[%d] is busy!\n", SET_GPIO_PIN_NUM(PF, 4)); return -1; } // set audio source selection to iPod socle_gpio_set_value_with_mask(PE, 0x19, 0x3f); // PE[1:0] = [01] socle_gpio_set_value_with_mask(PE, 0x39, 0x3f); // PE[1:0] = [01], PE5 = 1 while (1) { if (vol_change) { audio_dac_master_volume(vol); vol_change = 0; } } return 0; }
static int socle_audio_dac_master_volume_increment(void) { int i, ret; /* Audio codec volume up */ #ifdef CONFIG_UDA1342TS for (i = MAX_VOLUME; i >= 0 ; i -= 25) { #else for (i = 0; i <= MAX_VOLUME ; i++) { #endif ret = audio_dac_master_volume(i); if (ret) return -1; MSDELAY(1000); } #ifdef CONFIG_UDA1342TS ret = audio_dac_master_volume(0); #else ret = audio_dac_master_volume(MAX_VOLUME); #endif if (ret) return -1; return 0; } static int socle_audio_dac_master_volume_decrement(void) { int i, ret; /* Audio codec volume down */ #ifdef CONFIG_UDA1342TS for (i = 0; i <= MAX_VOLUME; i += 25) { #else for (i = MAX_VOLUME; i >= 0; i--) { #endif ret = audio_dac_master_volume(i); if (ret) return -1; MSDELAY(1000); } #ifdef CONFIG_UDA1342TS ret = audio_dac_master_volume(0); #else ret = audio_dac_master_volume(MAX_VOLUME); #endif if (ret) return -1; return 0; } static int socle_audio_dac_mixer_volume_increment(void) { int i, ret; /* Audio codec mixer volume up */ for (i = 200; i > 0 ; i -= 20) { ret = audio_dac_mixer_volume(i); if (ret) return -1; MSDELAY(1000); } ret = audio_dac_master_volume(0); if (ret) return -1; return 0; }