Example #1
0
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;
}
Example #2
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;
}