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" echo "insert adc ko"
mem bit 0xF0020074 3 0 > /dev/null 2>&1 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/industrialio.ko
insmod /lib/modules/$KERVER/kernel/drivers/iio/adc/nvt_adc.ko insmod /lib/modules/$KERVER/kernel/drivers/iio/adc/nvt_adc.ko
mem bit 0xF0020074 3 1 > /dev/null 2>&1 mem bit 0xF0020074 3 1 > /dev/null 2>&1

View File

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

View File

@ -112,7 +112,32 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
} }
return volt; 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 Function: sf_aa_battery_voltage_convert
Description: battery voltage convert Description: battery voltage convert
@ -152,7 +177,19 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
} }
return adcVal; 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 sf_aa_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UINT32 volt)
{ {
UINT32 adcVal = 0; 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) 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; //liPolymerVoltageVal += 2;
// if(puiPara->BatteryLogSwitch) // if(puiPara->BatteryLogSwitch)
// printf("Li ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10); // 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) 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); batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
} }
} }
@ -912,7 +949,7 @@ void sf_battery_level_polling(void)
if(_LiPolymerVoltageVal) 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 else
{ {
@ -958,7 +995,7 @@ void sf_battery_level_polling(void)
if(LiPolymerVoltageVal) 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 else
{ {
@ -1177,9 +1214,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
{ {
batteryVal = LiPolymerVoltageVal; batteryVal = LiPolymerVoltageVal;
if(batteryVal < 66) if(batteryVal < 65)
{ {
if(nightMode && (batteryVal >= 45)) if(nightMode && (batteryVal >= 43))
value = 1; value = 1;
else else
value = 0; value = 0;
@ -1235,9 +1272,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
if(puiPara->BatteryType == SF_BATT_ALKALINE) //ALK if(puiPara->BatteryType == SF_BATT_ALKALINE) //ALK
{ {
if(batteryVal < 63) if(batteryVal < 62)
{ {
if(nightMode && (batteryVal >= 45)) if(nightMode && (batteryVal >= 43))
value = 1; value = 1;
else else
value = 0; value = 0;
@ -1289,9 +1326,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
} }
else if(puiPara->BatteryType == SF_BATT_NI_MH) //NIH 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; value = 1;
else else
value = 0; value = 0;
@ -1343,9 +1380,9 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
} }
else else
{ {
if(batteryVal < 63) if(batteryVal < 62)
{ {
if(nightMode && (batteryVal >= 45)) if(nightMode && (batteryVal >= 43))
value = 1; value = 1;
else else
value = 0; value = 0;

View File

@ -2599,7 +2599,7 @@ BOOL sf_is_flash_voltage_abnormal(void)
printf("powerVal=%d batteryType=%d \n", powerVal, batteryType); 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"); printf("low battery no write flash\n");
return TRUE; return TRUE;

View File

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