Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1559945 > unrolled thread
| Started by | "Andrew F. Davis" <afd@ti.com> |
|---|---|
| First post | 2017-01-16 18:50 +0100 |
| Last post | 2017-01-17 05:50 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: BQ27xxx registers "Andrew F. Davis" <afd@ti.com> - 2017-01-16 18:50 +0100
Re: BQ27xxx registers Chris Lapa <chris@lapa.com.au> - 2017-01-17 05:50 +0100
| From | "Andrew F. Davis" <afd@ti.com> |
|---|---|
| Date | 2017-01-16 18:50 +0100 |
| Subject | Re: BQ27xxx registers |
| Message-ID | <t0jzQ-3Dn-19@gated-at.bofh.it> |
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 >
[toc] | [next] | [standalone]
| From | Chris Lapa <chris@lapa.com.au> |
|---|---|
| Date | 2017-01-17 05:50 +0100 |
| Message-ID | <t0tSx-2dE-7@gated-at.bofh.it> |
| In reply to | #1559945 |
On 17/1/17 4:43 am, Andrew F. Davis wrote: > 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 >> Hi Andrew, I've gone through and made a table based on the migration datasheets and user manuals TI has provided. CHIP Migration D/S User Manual BQ27500/1 N/A 1.06, 1.08 BQ27500-V100 1.08 1.06, 1.08 BQ27500-V120 1.20 1.20 BQ27500-V130 1.30 1.30 BQ27510-G1 1.12 Not listed BQ27510-G2 1.23 Not listed BQ27510-G3 4.00 4.00 BQ27520-G1 3.02 3.01 BQ27520-G2 3.11 3.11 BQ27520-G3 3.24 3.23 BQ27520-G4 3.29 3.29 I suspect the BQ27500/1 and BQ27500-V100 are the same product but they have separate product pages so I treated them separately. I also suspect the different firmware revisions are probably legitimate due bugs being fixed between when the user manual was released vs when the migration datasheet was released. Using the FW_VERSION parameter would be ideal, but some quick googling on golden images indicates that they include firmware. Which might introduce some more firmware variants? Thanks, Chris
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web