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
KERVER=`cat /proc/version | awk -F'version ' '{print $2}' | awk -F' ' '{print $1}'`
device_node_create()
{
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
echo "fs" > /proc/nvt_info/bootts
echo "/sbin/mdev" > /proc/sys/kernel/hotplug
#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
# Scan for without insert card

View File

@ -132,13 +132,13 @@ fi
#iio & adc (for keyscan)
if [[ -f ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko ]]; then
insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko
fi
#if [[ -f ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko ]]; then
#insmod ${PREFIX}/lib/modules/$KERVER/kernel/drivers/iio/industrialio.ko
#fi
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
fi
#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
#fi
#usb
#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;
if(adcVal)
{
volt = (27 * adcVal + 554) / 539;
//volt = (27 * adcVal + 554) / 539;
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
}
return volt;
}
@ -131,7 +132,8 @@ UINT32 sf_aa_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin,
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
if(adcVal)
{
volt = (27 * adcVal + 3097) / 531;
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
//volt = (27 * adcVal + 3097) / 531;
}
return volt;
}
@ -144,7 +146,8 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
if(volt)
{
adcVal = (volt * 539 - 554) / 27;
//adcVal = (volt * 539 - 554) / 27;
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
}
return adcVal;
}
@ -157,7 +160,8 @@ UINT32 sf_aa_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin,
//adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
if(volt)
{
adcVal = (volt * 531 - 3097) / 27;
//adcVal = (volt * 531 - 3097) / 27;
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
}
return adcVal;
}
@ -208,6 +212,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
{
static UINT8 getAdcFlg = 0;
//static UINT8 outputflag = 1;
UINT32 adc_device_delay_time_ms = 100;
*pval = 0;
if(getAdcFlg)
@ -222,6 +227,8 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
//B:0 A:0
gpio_set_value(SF_ADC_MUXA, 0);//adc_muxa
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
{
@ -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_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
{
//B:1 A:0
gpio_set_value(SF_ADC_MUXA, 0);//adc_muxa
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
{
//B:1 A:1
gpio_set_value(SF_ADC_MUXA, 1);//adc_muxa
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);
//printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval);
getAdcFlg = 0;