> > The CC,CV and restart threshold would vary based on the battery temperature
> > So I would suggest to have temperature zone table as part  of battery info
> > along with other attributes.
> >
> > int iterm; //charge termination current (used to stop charging)
> > int temp_zone_count; // number of temperature zone tables present
> > struct batt_temp_mon_table temp_mon_tbl[MAX_TEMP_MON_TABLE];
> //temperature zone table array
> >
> > struct  batt_temp_mon_table {
> >      short int temp_max;
> >      short int cc;
> >      short int cv;
> >      short int vbat_vchk_drop_uv;
> >      short int temp_min;
> > };
> >
> 
> 
> IMO, throttling cc/cv according the temperature can be done via thermal fw
> interface. However voltage drop and charging termination current can be added 
> here.

The CC/CV for each battery temperature zone is defined as part of battery spec. 
This is
as per the JEITA/PSE standards. So IMO, this is a battery charging information
(charging object) rather than a thermal throttling information.

Also the battery information may not fit into a standard format. Different 
standards have
different format for charging object. So I would suggest to make it flexible 
enough to
support different charging object format. For example MIPI BIF charging object 
format
(https://members.mipi.org/wg/BIF/document/11518) and MIPI BIF Rule based 
charging algorithm
(http://mipi.org/sites/default/files/mipi_BIF_rule-based-charging_white-paper_1.pdf)
has different charging object format. This is why the patch  
https://lkml.org/lkml/2014/8/13/355
has option to support different charging objects and different charging 
algorithms.

-Jenny
N�����r��y����b�X��ǧv�^�)޺{.n�+����{����zX����ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?�����&�)ߢf��^jǫy�m��@A�a���
0��h���i

Reply via email to