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); }
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] */ }
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; } }