/linux/drivers/power/supply/ |
H A D | samsung-sdi-battery.c | 446 * Capacity tables for different Open Circuit Voltages (OCV). 447 * These must be sorted by falling OCV value. 451 { .ocv = 4330000, .capacity = 100}, 452 { .ocv = 4320000, .capacity = 99}, 453 { .ocv = 4283000, .capacity = 95}, 454 { .ocv = 4246000, .capacity = 92}, 455 { .ocv = 4211000, .capacity = 89}, 456 { .ocv = 4167000, .capacity = 85}, 457 { .ocv = 4146000, .capacity = 83}, 458 { .ocv = 4124000, .capacity = 81}, [all …]
|
H A D | ab8500_bmdata.c | 20 { .ocv = 4186000, .capacity = 100}, 21 { .ocv = 4163000, .capacity = 99}, 22 { .ocv = 4114000, .capacity = 95}, 23 { .ocv = 4068000, .capacity = 90}, 24 { .ocv = 3990000, .capacity = 80}, 25 { .ocv = 3926000, .capacity = 70}, 26 { .ocv = 3898000, .capacity = 65}, 27 { .ocv = 3866000, .capacity = 60}, 28 { .ocv = 3833000, .capacity = 55}, 29 { .ocv = 3812000, .capacity = 50}, [all …]
|
H A D | sc27xx_fuel_gauge.c | 94 * @cap_table: capacity table with corresponding ocv 288 int volt, cur, oci, ocv, ret; in sc27xx_fgu_get_boot_capacity() local 317 * Should get the OCV from SC27XX_FGU_POCV register at the system in sc27xx_fgu_get_boot_capacity() 326 ocv = volt * 1000 - oci * data->internal_resist; in sc27xx_fgu_get_boot_capacity() 327 data->boot_volt = ocv; in sc27xx_fgu_get_boot_capacity() 331 * according to current battery's corresponding OCV values. in sc27xx_fgu_get_boot_capacity() 334 ocv); in sc27xx_fgu_get_boot_capacity() 511 /* Return the battery OCV in micro volts. */ in sc27xx_fgu_get_vbat_ocv() 788 int ret, ocv, chg_sts, adc; in sc27xx_fgu_capacity_calibration() local 790 ret = sc27xx_fgu_get_vbat_ocv(data, &ocv); in sc27xx_fgu_capacity_calibration() [all …]
|
H A D | power_supply_core.c | 745 len = of_property_count_u32_elems(battery_np, "ocv-capacity-celsius"); in power_supply_get_battery_info() 754 of_property_read_u32_array(battery_np, "ocv-capacity-celsius", in power_supply_get_battery_info() 762 char *propname __free(kfree) = kasprintf(GFP_KERNEL, "ocv-capacity-table-%d", in power_supply_get_battery_info() 789 table[i].ocv = be32_to_cpu(*list); in power_supply_get_battery_info() 1086 * @table: Pointer to battery OCV lookup table 1087 * @table_len: OCV table length 1088 * @ocv: Current OCV value 1091 * current OCV value from one OCV table, and the OCV table must be ordered 1097 int table_len, int ocv) in power_supply_ocv2cap_simple() argument 1102 if (ocv > table[i].ocv) in power_supply_ocv2cap_simple() [all …]
|
H A D | 88pm860x_battery.c | 68 /* OCV -- Open Circuit Voltage */ 327 static int calc_ocv(struct pm860x_battery_info *info, int *ocv) in calc_ocv() argument 337 if (!ocv) in calc_ocv() 355 *ocv = vbatt_avg - ibatt_avg * info->resistor / 1000; in calc_ocv() 357 *ocv = vbatt_avg; in calc_ocv() 359 dev_dbg(info->dev, "VBAT average:%d, OCV:%d\n", vbatt_avg, *ocv); in calc_ocv() 369 int ocv; in calc_soc() local 378 ret = calc_ocv(info, &ocv); in calc_soc() 381 ret = measure_vbatt(info, OCV_MODE_SLEEP, &ocv); in calc_soc() 388 if (ocv < array_soc[count - 1][0]) { in calc_soc() [all …]
|
H A D | ug3105_battery.c | 22 * energy_full attributes. Guess boot + resume energy_now value based on ocv 75 int ocv[UG3105_MOV_AVG_WINDOW]; /* micro-volt */ member 123 * OCV voltages in uV for 0-110% in 5% increments, the 100-110% is in ug3105_get_capacity() 203 chip->ocv[chip->ocv_avg_index] = in ug3105_work() 229 chip->ocv_avg += chip->ocv[i]; in ug3105_work() 246 * Assuming that the OCV voltage does not change significantly in ug3105_work()
|
H A D | pm8916_bms_vm.c | 93 * Hardware only reliably measures OCV when the system is off or suspended. in pm8916_bms_vm_battery_get_property() 94 * We expose the last known OCV value on boot, invalidating it after 180 seconds. in pm8916_bms_vm_battery_get_property() 127 * has to process it to calculate the OCV and SoC. Hardware provides in pm8916_bms_vm_fifo_update_done_irq() 238 * Instead we unlock the debug registers and force S3 (Measure OCV/Sleep) in pm8916_bms_vm_battery_suspend()
|
H A D | axp288_fuel_gauge.c | 136 int ocv; member 251 info->ocv = ret; in fuel_gauge_update_registers() 328 int vocv = VOLTAGE_FROM_ADC(info->ocv); in fuel_gauge_battery_health() 365 value = VOLTAGE_FROM_ADC(info->ocv); in fuel_gauge_get_property()
|
/linux/Documentation/devicetree/bindings/power/supply/ |
H A D | battery.yaml | 99 ocv-capacity-celsius: 126 '^ocv-capacity-table-[0-9]+$': 129 An array providing the open circuit voltage (OCV) 131 to look up battery capacity according to current OCV value. And the open 136 - description: open circuit voltage (OCV) in microvolts 162 ocv-capacity-celsius = <(-10) 0 10>; 164 ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>; 166 ocv-capacity-table-1 = <4200000 100>, <4185000 95>, <4113000 90>; 168 ocv-capacity-table-2 = <4250000 100>, <4200000 95>, <4185000 90>;
|
H A D | qcom,pm8916-bms-vm.yaml | 30 - description: OCV measured in S3 mode 31 - description: OCV below threshold
|
H A D | sc27xx-fg.yaml | 76 ocv-capacity-celsius = <20>; 77 ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>,
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | rk3326-odroid-go2.dts | 50 ocv-capacity-celsius = <20>; 51 ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
H A D | rk3566-anbernic-rg353vs.dts | 30 ocv-capacity-celsius = <20>; 31 ocv-capacity-table-0 = <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>,
|
H A D | rk3566-anbernic-rg353ps.dts | 30 ocv-capacity-celsius = <20>; 31 ocv-capacity-table-0 = <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>,
|
H A D | rk3566-anbernic-rg353v.dts | 31 ocv-capacity-celsius = <20>; 32 ocv-capacity-table-0 = <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>,
|
H A D | rk3566-anbernic-rg353p.dts | 31 ocv-capacity-celsius = <20>; 32 ocv-capacity-table-0 = <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>,
|
H A D | rk3326-odroid-go2-v11.dts | 54 ocv-capacity-celsius = <20>; 55 ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
H A D | rk3326-odroid-go3.dts | 87 ocv-capacity-celsius = <20>; 88 ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
|
H A D | rk3566-anbernic-rg-arc.dtsi | 27 ocv-capacity-celsius = <20>; 28 ocv-capacity-table-0 = <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>,
|
H A D | rk3566-anbernic-rg503.dts | 85 ocv-capacity-celsius = <20>; 86 ocv-capacity-table-0 = <4172000 100>, <4054000 95>, <3984000 90>, <3926000 85>,
|
/linux/arch/arm64/boot/dts/sprd/ |
H A D | sp9860g-1h10.dts | 76 ocv-capacity-celsius = <20>; 77 ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>,
|
/linux/include/linux/ |
H A D | power_supply.h | 339 int ocv; /* microVolts */ member 508 * @ocv_temp: array indicating the open circuit voltage (OCV) capacity 540 * circuit voltage (OCV) that is then used with the ocv_table to calculate 682 * | V | | OCV | | 689 * VBAT = OCV and this assumption is sometimes made even under load, assuming 700 * OCV = VBAT - (IBAT * Ri) 705 * some batteries. This gives the compensated open circuit voltage (OCV) for 801 int table_len, int ocv); 806 int ocv, int temp);
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | msm8916-wingtech-wt865x8.dtsi | 46 ocv-capacity-celsius = <25>; 47 ocv-capacity-table-0 = <4328000 100>, <4266000 95>, <4208000 90>,
|
H A D | msm8916-lg-m216.dts | 32 ocv-capacity-celsius = <25>; 33 ocv-capacity-table-0 = <4342000 100>, <4266000 95>, <4206000 90>,
|
H A D | msm8916-gplus-fl8005a.dts | 35 ocv-capacity-celsius = <25>; 36 ocv-capacity-table-0 =
|