Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1546062

Re: BQ27xxx registers

From Chris Lapa <chris@lapa.com.au>
Newsgroups linux.kernel
Subject Re: BQ27xxx registers
Date 2016-12-22 00:40 +0100
Message-ID <sQYEj-1tG-69@gated-at.bofh.it> (permalink)
References <sQlMC-1Lp-17@gated-at.bofh.it> <sQqVX-4Z8-7@gated-at.bofh.it> <sQF8B-5NV-1@gated-at.bofh.it> <sQOvg-3vJ-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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.

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

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

BQ27xxx registers Chris Lapa <chris@lapa.com.au> - 2016-12-20 07:10 +0100
  Re: BQ27xxx registers Pali Rohár <pali.rohar@gmail.com> - 2016-12-20 12:40 +0100
    Re: BQ27xxx registers Chris Lapa <chris@lapa.com.au> - 2016-12-21 03:50 +0100
      Re: BQ27xxx registers Pali Rohár <pali.rohar@gmail.com> - 2016-12-21 13:50 +0100
        Re: BQ27xxx registers Sebastian Reichel <sre@kernel.org> - 2016-12-21 14:30 +0100
        Re: BQ27xxx registers Chris Lapa <chris@lapa.com.au> - 2016-12-22 00:40 +0100

csiph-web