static int eamp_init()
{
	EAMP_PRINTK("eamp_init");

	eamp_poweron();

	mt_set_gpio_mode(GPIO_AUDIO_SEL, GPIO_AUDIO_SEL_M_GPIO);
	mt_set_gpio_pull_enable(GPIO_AUDIO_SEL, GPIO_PULL_ENABLE);
	mt_set_gpio_dir(GPIO_AUDIO_SEL, GPIO_DIR_OUT);
	
	return 0;
}
static int eamp_init()
{
#if !defined(YDA165_SW_I2C)	
	if(i2c_init)
		return 0;
	i2c_init=true;
	EAMP_PRINTK("");
	//i2c_register_board_info(EAMP_I2C_CHANNEL,&eamp_dev,1);
	if (i2c_add_driver(&eamp_i2c_driver)){
		EAMP_PRINTK("fail to add device into i2c");
		return -1;
	}
#else
	Init_i2c();
#endif
		eamp_poweron();
	return 0;
}
static int eamp_init()
{
	EAMP_PRINTK("eamp_init");

	eamp_poweron();

	mt_set_gpio_mode(GPIO_HEADSET_AMP_EN, GPIO_HEADSET_AMP_EN_M_GPIO);
	mt_set_gpio_pull_enable(GPIO_HEADSET_AMP_EN, GPIO_PULL_ENABLE);
	mt_set_gpio_dir(GPIO_HEADSET_AMP_EN, GPIO_DIR_OUT);

	mt_set_gpio_mode(GPIO_SPK_AMP_L_EN, GPIO_SPK_AMP_L_EN_M_GPIO);
	mt_set_gpio_pull_enable(GPIO_SPK_AMP_L_EN, GPIO_PULL_ENABLE);
	mt_set_gpio_dir(GPIO_SPK_AMP_L_EN, GPIO_DIR_OUT);

	mt_set_gpio_mode(GPIO_SPK_AMP_R_EN, GPIO_SPK_AMP_R_EN_M_GPIO);
	mt_set_gpio_pull_enable(GPIO_SPK_AMP_R_EN, GPIO_PULL_ENABLE);
	mt_set_gpio_dir(GPIO_SPK_AMP_R_EN, GPIO_DIR_OUT);
	
	return 0;
}
static int eamp_init()
{
	int result = 0;
	result = mt_set_gpio_mode(GPIO_HP_AMP_EN, GPIO_HP_AMP_EN_M_GPIO);
   	EAMP_PRINTK("GPIO_HP_AMP_EN GPIO Status : mt_set_gpio_mode %d\n", result);
   	result = mt_set_gpio_pull_enable(GPIO_HP_AMP_EN, GPIO_PULL_DISABLE);
   	EAMP_PRINTK("GPIO_HP_AMP_EN GPIO Status : mt_set_gpio_pull_enable %d\n", result);
   	result = mt_set_gpio_dir(GPIO_HP_AMP_EN, GPIO_DIR_OUT);
   	EAMP_PRINTK("GPIO_HP_AMP_EN GPIO Status : mt_set_gpio_dir %d\n", result);
   	result = mt_set_gpio_out(GPIO_HP_AMP_EN, GPIO_OUT_ONE);
   	EAMP_PRINTK("GPIO_HP_AMP_EN GPIO Status : mt_set_gpio_out %d, %d\n", result, mt_get_gpio_out(GPIO_HP_AMP_EN));
   	result = mt_set_gpio_mode(GPIO_SPK_AMP_EN, GPIO_SPK_AMP_EN_M_GPIO);
   	EAMP_PRINTK("GPIO_SPK_AMP_EN GPIO Status : mt_set_gpio_mode %d\n", result);
   	result = mt_set_gpio_pull_enable(GPIO_SPK_AMP_EN, GPIO_PULL_DISABLE);
   	EAMP_PRINTK("GPIO_SPK_AMP_EN GPIO Status : mt_set_gpio_pull_enable %d\n", result);
   	result = mt_set_gpio_dir(GPIO_SPK_AMP_EN, GPIO_DIR_OUT);
   	EAMP_PRINTK("GPIO_SPK_AMP_EN GPIO Status : mt_set_gpio_dir %d\n", result);
   	result = mt_set_gpio_out(GPIO_SPK_AMP_EN, GPIO_OUT_ONE);
   	EAMP_PRINTK("GPIO_SPK_AMP_EN GPIO Status : mt_set_gpio_out %d, %d\n", result, mt_get_gpio_out(GPIO_SPK_AMP_EN));
   	eamp_poweron();
   	eamp_powerdown();
   	return 0;
}