Re: BQ27xxx registers

From: Andrew F. Davis
Date: Mon Jan 16 2017 - 12:43:47 EST


On 12/21/2016 05:37 PM, Chris Lapa wrote:
> On 21/12/16 11:46 pm, Pali RohÃr wrote:
>> On Wednesday 21 December 2016 03:49:10 Chris Lapa wrote:
>>> On 20/12/16 10:34 pm, Pali RohÃr wrote:
>>>> On Tuesday 20 December 2016 07:00:41 Chris Lapa wrote:
>>>>> I can generate a patch to fix this issue, however the bigger
>>>>> problem exists as to which revision fuel gauge the
>>>>> bq27xxx_battery.c driver is intended to support for each family.
>>>>
>>>> Hi! I think driver should support all revisions. There can be (and
>>>> probably really is) hardware which uses old revision and such
>>>> hardware should be still supported...
>>>
>>> I agree. However due to the register address changes across the
>>> spectrum of revisions, each revision will have to be specified
>>> individually. For example, we will need to implement a BQ27510G1,
>>> BQ27510G2, BQ27510G3, BQ27520G1, BQ27520G2, BQ27520G3, BQ27520G4
>>> definitions and prospective device tree additions ti,bq27510g1,
>>> ti,bq27510g2 etc.
>>>
>>> The other option is to aim for bottom of the barrel support for all
>>> the devices under the BQ27500 definition but my feeling is it would
>>> get messier fast and be less maintainable.
>>>
>>> My preference is to go with the first option if you agree?
>>
>> Yes. If those chips have different register addresses, then those chips
>> are different. Name, generation or suffix does not matter here.
>>
>> Similarly there could be chips with different name, but same addresses,
>> so can use one driver/configuration without any change.
>>
>> So I'm for different name in device tree (or platform data or what is
>> being used) to distinguish between different revisions.
>>
>
> I've been working my way through the revision migration datasheets and
> noticed this could be simplified with the FW_VERSION parameter. It is
> always located at the same address and is distinctly different between
> each chip revision. Unfortunately the migration datasheets vs individual
> revision datasheets firmware version information directly contradict
> each other. Which makes me wary of committing to using it.
>

BTW, could you give some specific examples of this? I can work with the
HW teams to get any documentation problems fixed, so we can in the
future use this FW_VERSION parameter if needed.

Thanks,
Andrew

> Given that I don't have every single variant of this device to test
> with, its probably still safest to have the user manually specify each
> device. I should have some patches ready soon.
>
> Thanks,
> Chris
>