Esempio n. 1
0
void shspamp_poweron()
{
/* [BatteryTemperatureLog] [start] */
    if (shspamp_shterm_flg == false) {
        shterm_k_set_info( SHTERM_INFO_SPEAKER, 1 );
        shspamp_shterm_flg = true;
    }
/* [BatteryTemperatureLog] [end] */

	gpio_set_value(SHSPAMP_PDN, 1);
	
	if(spamp_data){
		shspamp_i2c_write(spamp_data->client_p, 0x02, SHSPAMP_MUTEN_MUTE);   /* SLEEPN bit = 0 */
		shspamp_i2c_write(spamp_data->client_p, 0x03, 0x14);                 /* [PRGAIN] GAIN:+19db */
		shspamp_i2c_write(spamp_data->client_p, 0x04, 0x01);                 /* [MODE] MODE:Loud(ALC) */
		shspamp_i2c_write(spamp_data->client_p, 0x06, 0x09);                 /* [LOUD] HDRM:+1dB, Loud:LD1 */
		shspamp_i2c_write(spamp_data->client_p, 0x02, SHSPAMP_MUTEN_UNMUTE); /* SLEEPN bit = 1 */

		if(svSetMuten == SHSPAMP_MUTEN_MUTE)
		{
			shspamp_i2c_write(spamp_data->client_p, 0x02, svSetMuten);
		}
		svSetMuten = SHSPAMP_MUTEN_UNMUTE;
	}
	msleep(28);
}
Esempio n. 2
0
void shspamp_poweroff()
{
	svSetMuten = SHSPAMP_MUTEN_UNMUTE;

	if(spamp_data){
		shspamp_i2c_write(spamp_data->client_p, 0x02, SHSPAMP_MUTEN_MUTE);
	}
	gpio_set_value(SHSPAMP_PDN, 0);

/* [BatteryTemperatureLog] [start] */
    if (shspamp_shterm_flg == true) {
        shterm_k_set_info( SHTERM_INFO_SPEAKER, 0 );
        shspamp_shterm_flg = false;
    }
/* [BatteryTemperatureLog] [end] */
}
Esempio n. 3
0
void shspamp_poweron()
{
/* [BatteryTemperatureLog] [start] */
    if (shspamp_shterm_flg == false) {
        shterm_k_set_info( SHTERM_INFO_SPEAKER, 1 );
        shspamp_shterm_flg = true;
    }
/* [BatteryTemperatureLog] [end] */

	gpio_set_value(SHSPAMP_PDN, 1);
	msleep(25);
	
	if(spamp_data){
		shspamp_i2c_write(spamp_data->client_p, 0x02, SHSPAMP_MUTEN_MUTE);
#if (CONFIG_SH_AUDIO_DRIVER_MODEL_NUMBER == 103)
		shspamp_i2c_write(spamp_data->client_p, 0x03, 0x0A);
#endif /* CONFIG_SH_AUDIO_DRIVER_MODEL_NUMBER  */
#if (CONFIG_SH_AUDIO_DRIVER_MODEL_NUMBER == 304)
		shspamp_i2c_write(spamp_data->client_p, 0x04, 0x1E);
#elif (CONFIG_SH_AUDIO_DRIVER_MODEL_NUMBER == 306)
		shspamp_i2c_write(spamp_data->client_p, 0x04, 0x26);
#else /* CONFIG_SH_AUDIO_DRIVER_MODEL_NUMBER  */
		shspamp_i2c_write(spamp_data->client_p, 0x04, 0x20);
#endif /* CONFIG_SH_AUDIO_DRIVER_MODEL_NUMBER  */
		shspamp_i2c_write(spamp_data->client_p, 0x05, 0x00);
		shspamp_i2c_write(spamp_data->client_p, 0x06, 0x80);
		shspamp_i2c_write(spamp_data->client_p, 0x02, SHSPAMP_MUTEN_UNMUTE);

		msleep(30);

		if(svSetMuten == SHSPAMP_MUTEN_MUTE)
		{
			shspamp_i2c_write(spamp_data->client_p, 0x02, svSetMuten);
			msleep(30);
		}
		svSetMuten = SHSPAMP_MUTEN_UNMUTE;
	}
}