static int sec_bat_adc_ic_read(unsigned int channel) { int data; int max_voltage; data = 0; if (system_rev == BOARD_REV02) max_voltage = 3300; else max_voltage = 3000; switch (channel) { case SEC_BAT_ADC_CHANNEL_CABLE_CHECK: data = stmpe811_adc_get_value( SMTPE811_CHANNEL_ADC_CHECK_1); data = data * max_voltage / 4096; break; case SEC_BAT_ADC_CHANNEL_FULL_CHECK: data = stmpe811_adc_get_value( SMTPE811_CHANNEL_VICHG); data = data * max_voltage / 4096; break; } return data; }
static int sec_bat_adc_ic_read(unsigned int channel) { int data; int max_voltage; data = 0; if (system_rev == BOARD_REV02) max_voltage = 3300; else max_voltage = 3000; switch (channel) { case SEC_BAT_ADC_CHANNEL_CABLE_CHECK: data = stmpe811_adc_get_value( SMTPE811_CHANNEL_ADC_CHECK_1); data = data * max_voltage / 4096; #ifdef CONFIG_CAMERON_HEALTH if (is_cameron_health_connected) data = max_voltage; #endif break; case SEC_BAT_ADC_CHANNEL_FULL_CHECK: data = stmpe811_adc_get_value( SMTPE811_CHANNEL_VICHG); data = data * max_voltage / 4096; break; } return data; }
static int connector_detect_change(void) { int i; u32 adc = 0, adc_sum = 0; u32 adc_buff[5] = {0}; u32 mili_volt; u32 adc_min = 0; u32 adc_max = 0; for (i = 0; i < 5; i++) { /*change this reading ADC function */ mili_volt = (u32)stmpe811_adc_get_value(7); adc_buff[i] = mili_volt; adc_sum += adc_buff[i]; if (i == 0) { adc_min = adc_buff[0]; adc_max = adc_buff[0]; } else { if (adc_max < adc_buff[i]) adc_max = adc_buff[i]; else if (adc_min > adc_buff[i]) adc_min = adc_buff[i]; } msleep(20); } adc = (adc_sum - adc_max - adc_min)/3; ACC_CONDEV_DBG("ACCESSORY_ID : ADC value = %d\n", adc); return (int)adc; }