1.adc更正电池部分修改;2.s550 rtoofs更新

This commit is contained in:
payton 2023-11-06 15:14:42 +08:00
parent a38e7ba9a4
commit e99fad6ff1
3 changed files with 83 additions and 13 deletions

View File

@ -1,14 +1,72 @@
#!/bin/sh #!/bin/sh
KERVER=`cat /proc/version | awk -F'version ' '{print $2}' | awk -F' ' '{print $1}'`
device_node_create() device_node_create()
{ {
mknod /dev/$1 c `cat /sys/class/$1/$1/dev | sed "s/:/\ /g"` mknod /dev/$1 c `cat /sys/class/$1/$1/dev | sed "s/:/\ /g"`
} }
P_GPIO0=32
P_GPIO1=33
DELAY=0.003
echo ${P_GPIO0} > /sys/class/gpio/export
echo ${P_GPIO1} > /sys/class/gpio/export
sleep ${DELAY}
echo "out" > /sys/devices/gpiochip0/gpio/gpio${P_GPIO0}/direction
echo "out" > /sys/devices/gpiochip0/gpio/gpio${P_GPIO1}/direction
echo 1 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO0}/value
echo 1 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO1}/value
sleep ${DELAY}
echo "insert adc ko"
mem bit 0xF0020074 3 0
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
# Setup mdev # Setup mdev
echo "fs" > /proc/nvt_info/bootts echo "fs" > /proc/nvt_info/bootts
echo "/sbin/mdev" > /proc/sys/kernel/hotplug echo "/sbin/mdev" > /proc/sys/kernel/hotplug
#modprobe mmc_na51055 #modprobe mmc_na51055
if [ 1 ] ; then
sleep ${DELAY}
echo 0x5 > /proc/adc
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
echo 0x3 > /proc/adc
sleep ${DELAY}
echo 1 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO0}/value
echo 0 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO1}/value
sleep ${DELAY}
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
echo 0x1 > /proc/adc
sleep ${DELAY}
echo 0 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO0}/value
echo 0 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO1}/value
sleep ${DELAY}
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
echo 0x0 > /proc/adc
sleep ${DELAY}
echo 0 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO0}/value
echo 1 > /sys/devices/gpiochip0/gpio/gpio${P_GPIO1}/value
sleep ${DELAY}
echo 0x2 > /proc/adc
sleep ${DELAY}
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
fi
mdev -s mdev -s
# Scan for without insert card # Scan for without insert card

View File

@ -132,13 +132,13 @@ fi
#iio & adc (for keyscan) #iio & adc (for keyscan)
if [[ -f ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko ]]; then #if [[ -f ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko ]]; then
insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko #insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko
fi #fi
if [[ -f ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/adc/nvt_adc.ko ]]; then #if [[ -f ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/adc/nvt_adc.ko ]]; then
insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/adc/nvt_adc.ko #insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/adc/nvt_adc.ko
fi #fi
#usb #usb
#if [[ -f ${PREFIX}/lib/modules/$KERVER/hdal/comm/uvcp/nvt_uvcp.ko ]]; then #if [[ -f ${PREFIX}/lib/modules/$KERVER/hdal/comm/uvcp/nvt_uvcp.ko ]]; then

View File

@ -106,7 +106,8 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696; //volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
if(adcVal) if(adcVal)
{ {
volt = (27 * adcVal + 554) / 539; //volt = (27 * adcVal + 554) / 539;
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
} }
return volt; return volt;
} }
@ -131,7 +132,8 @@ UINT32 sf_aa_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin,
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511; //volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
if(adcVal) if(adcVal)
{ {
volt = (27 * adcVal + 3097) / 531; volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
//volt = (27 * adcVal + 3097) / 531;
} }
return volt; return volt;
} }
@ -144,7 +146,8 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin); //adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
if(volt) if(volt)
{ {
adcVal = (volt * 539 - 554) / 27; //adcVal = (volt * 539 - 554) / 27;
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
} }
return adcVal; return adcVal;
} }
@ -157,7 +160,8 @@ UINT32 sf_aa_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin,
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin); //adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
if(volt) if(volt)
{ {
adcVal = (volt * 531 - 3097) / 27; //adcVal = (volt * 531 - 3097) / 27;
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
} }
return adcVal; return adcVal;
} }
@ -208,6 +212,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
{ {
static UINT8 getAdcFlg = 0; static UINT8 getAdcFlg = 0;
//static UINT8 outputflag = 1; //static UINT8 outputflag = 1;
UINT32 adc_device_delay_time_ms = 100;
*pval = 0; *pval = 0;
if(getAdcFlg) if(getAdcFlg)
@ -222,6 +227,8 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
//B:0 A:0 //B:0 A:0
gpio_set_value(SF_ADC_MUXA, 0);//adc_muxa gpio_set_value(SF_ADC_MUXA, 0);//adc_muxa
gpio_set_value(SF_ADC_MUXB, 0);//adc_muxb gpio_set_value(SF_ADC_MUXB, 0);//adc_muxb
vos_util_delay_ms(1);
*pval = adc_readVoltage_channel0_avg(0, adc_device_delay_time_ms);
} }
else if(SF_ADC_LI == mux)//v-li_det else if(SF_ADC_LI == mux)//v-li_det
{ {
@ -229,23 +236,28 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
gpio_set_value(SF_ADC_MUXA, 1);//adc_muxa gpio_set_value(SF_ADC_MUXA, 1);//adc_muxa
gpio_set_value(SF_ADC_MUXB, 0);//adc_muxb gpio_set_value(SF_ADC_MUXB, 0);//adc_muxb
vos_util_delay_ms(1);
*pval = adc_readVoltage_channel0_avg(1, adc_device_delay_time_ms);
} }
else if(SF_ADC_DC == mux)//dc12_det else if(SF_ADC_DC == mux)//dc12_det
{ {
//B:1 A:0 //B:1 A:0
gpio_set_value(SF_ADC_MUXA, 0);//adc_muxa gpio_set_value(SF_ADC_MUXA, 0);//adc_muxa
gpio_set_value(SF_ADC_MUXB, 1);//adc_muxb gpio_set_value(SF_ADC_MUXB, 1);//adc_muxb
adc_readVoltage_channel0_avg(2, adc_device_delay_time_ms);
vos_util_delay_ms(1);
*pval = adc_readVoltage(0);
} }
else if(SF_ADC_TEMP == mux)//temp_det else if(SF_ADC_TEMP == mux)//temp_det
{ {
//B:1 A:1 //B:1 A:1
gpio_set_value(SF_ADC_MUXA, 1);//adc_muxa gpio_set_value(SF_ADC_MUXA, 1);//adc_muxa
gpio_set_value(SF_ADC_MUXB, 1);//adc_muxb gpio_set_value(SF_ADC_MUXB, 1);//adc_muxb
vos_util_delay_ms(1);
*pval = adc_readVoltage_channel0_avg(3, adc_device_delay_time_ms);
} }
vos_util_delay_ms(1);
*pval = adc_readVoltage(0);
//*pval = adc_readData(0); //*pval = adc_readData(0);
//printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval); //printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval);
getAdcFlg = 0; getAdcFlg = 0;