Merge branch 'Branch_S550_Fast_Emmc' of 192.168.6.216:linux-em-group/s530-ntk into S550_Base

This commit is contained in:
xiehongyan 2024-01-29 16:24:40 +08:00
commit 249e5a5f6c
5 changed files with 54 additions and 15 deletions

View File

@ -18,6 +18,7 @@ sleep ${DELAY}
echo "insert adc ko"
mem bit 0xF0020074 3 0 > /dev/null 2>&1
sleep ${DELAY}
insmod /lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko
insmod /lib/modules/$KERVER/kernel/drivers/iio/adc/nvt_adc.ko
mem bit 0xF0020074 3 1 > /dev/null 2>&1

View File

@ -32,7 +32,7 @@
#define REG_SIZE 91
#define SF_MCU_NIGHT_MODE_LUMINANCE 160
#define SF_BATT_RECOVERY 72 //S530
#define SF_BATT_RECOVERY 75 //S530
/*REG POWER_OFFON*/
#define MCU_MODE_AUTO 0x00

View File

@ -112,7 +112,32 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
}
return volt;
}
/*************************************************
Function: sf_battery_voltage_convert
Description: battery voltage convert
Input: resistanceGnd:Grounding terminal resistance,resistanceVin:Input resistance,adcVal:adc val
Output: N/A
Return: Volt * 10
Others: N/A
*************************************************/
UINT32 sf_li_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 adcVal)
{
UINT32 volt = 0;
/*511 * (detected voltage) / (SARADC reference voltage)
DC input voltage x resistanceGnd/(resistanceGnd + resistanceVin) = detected voltage,
SARADC reference voltage:1.8V
*/
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
if(adcVal)
{
//volt = (27 * adcVal + 554) / 539;
volt = 27 * (adcVal + 24) * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
}
return volt;
}
/*************************************************
Function: sf_aa_battery_voltage_convert
Description: battery voltage convert
@ -152,7 +177,19 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
}
return adcVal;
}
UINT32 sf_li_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt)
{
UINT32 adcVal = 0;
//adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
if(volt)
{
//adcVal = (volt * 531 - 3097) / 27;
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin) - 270;//compensate 136
}
return adcVal;
}
UINT32 sf_aa_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt)
{
UINT32 adcVal = 0;
@ -371,7 +408,7 @@ UINT32 sf_battery_adc_value_get_once(void)
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
{
liPolymerVoltageVal = sf_battery_voltage_convert(24, 100, batAdc);
liPolymerVoltageVal = sf_li_battery_voltage_convert(24, 100, batAdc);
//liPolymerVoltageVal += 2;
// if(puiPara->BatteryLogSwitch)
// printf("Li ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10);
@ -717,7 +754,7 @@ signed int sf_battery_value_fast_get(void)
if(puiPara->BatteryLogSwitch)
{
printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(24, 100, batValueList[readBatCnt]),
printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_li_battery_convert_to_adc(24, 100, batValueList[readBatCnt]),
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
}
}
@ -912,7 +949,7 @@ void sf_battery_level_polling(void)
if(_LiPolymerVoltageVal)
{
printf("Li Battery Adc:%d After Convert:(%d.%dV)\n\n", sf_battery_convert_to_adc(24, 100, _LiPolymerVoltageVal), _LiPolymerVoltageVal / 10, _LiPolymerVoltageVal % 10);
printf("Li Battery Adc:%d After Convert:(%d.%dV)\n\n", sf_li_battery_convert_to_adc(24, 100, _LiPolymerVoltageVal), _LiPolymerVoltageVal / 10, _LiPolymerVoltageVal % 10);
}
else
{
@ -958,7 +995,7 @@ void sf_battery_level_polling(void)
if(LiPolymerVoltageVal)
{
printf("[average]Li Battery Adc:%d After Convert:(%d.%dV)\n\n", sf_battery_convert_to_adc(24, 100, LiPolymerVoltageVal), LiPolymerVoltageVal / 10, LiPolymerVoltageVal % 10);
printf("[average]Li Battery Adc:%d After Convert:(%d.%dV)\n\n", sf_li_battery_convert_to_adc(24, 100, LiPolymerVoltageVal), LiPolymerVoltageVal / 10, LiPolymerVoltageVal % 10);
}
else
{
@ -1177,9 +1214,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
{
batteryVal = LiPolymerVoltageVal;
if(batteryVal < 66)
if(batteryVal < 65)
{
if(nightMode && (batteryVal >= 45))
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;
@ -1235,9 +1272,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
if(puiPara->BatteryType == SF_BATT_ALKALINE) //ALK
{
if(batteryVal < 63)
if(batteryVal < 62)
{
if(nightMode && (batteryVal >= 45))
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;
@ -1289,9 +1326,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
}
else if(puiPara->BatteryType == SF_BATT_NI_MH) //NIH
{
if(batteryVal < 61)
if(batteryVal < 60)
{
if(nightMode && (batteryVal >= 45))
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;
@ -1343,9 +1380,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
}
else
{
if(batteryVal < 63)
if(batteryVal < 62)
{
if(nightMode && (batteryVal >= 45))
if(nightMode && (batteryVal >= 43))
value = 1;
else
value = 0;

View File

@ -2599,7 +2599,7 @@ BOOL sf_is_flash_voltage_abnormal(void)
printf("powerVal=%d batteryType=%d \n", powerVal, batteryType);
if((/*SF_POWER_TYPE_DC*/1 != batteryType) && (powerVal < 56) )
if((/*SF_POWER_TYPE_DC*/1 != batteryType) && (powerVal < 55) )
{
printf("low battery no write flash\n");
return TRUE;

View File

@ -1131,6 +1131,7 @@ static void MovieFast_Manual_Raw_Task(void* arg)
continue;
}
}
#if 0
vos_perf_mark(&t1);
while(1)
@ -1163,7 +1164,7 @@ static void MovieFast_Manual_Raw_Task(void* arg)
break;
}
}
#endif
DBG_DUMP("MovieFast_Manual_Raw_Task finished\n");
g_is_manual_raw_tsk_running = FALSE;