[PATCH 2/8] sunxi: pmic_bus: support alternative I2C address

Jernej Škrabec jernej.skrabec at gmail.com
Mon Jan 20 17:42:02 CET 2025


Dne nedelja, 19. januar 2025 ob 23:25:30 Srednjeevropski standardni čas je Andre Przywara napisal(a):
> On Sat, 18 Jan 2025 08:21:31 +0100
> Jernej Škrabec <jernej.skrabec at gmail.com> wrote:
> 
> Hi Jernej,
> 
> many thanks for the review and your opinion.
> 
> > Dne petek, 17. januar 2025 ob 02:45:31 Srednjeevropski standardni čas je Andre Przywara napisal(a):
> > > Some of the X-Power AXP PMICs can be ordered with an alternative I2C
> > > address, for instance an AXP717 could be shipped with address 0x34 or
> > > with address 0x35.
> > > The datasheets for the AXP717 and AXP803 list two possible addresses,
> > > and they are always consecutive. For DM (DT) based drivers this is no
> > > problem, but the Allwinner SPL code relies on a hardcoded address.
> > > 
> > > Add a Kconfig variable that will add "1" to the existing address if it
> > > is set.
> > > This enables to use the AXP717 as used on boards with the new Allwinner
> > > A523 chip.
> > > 
> > > Signed-off-by: Andre Przywara <andre.przywara at arm.com>  
> > 
> > This works until some board vendor start mixing one or another address
> > PMIC. Note that BSP boot0 does address autodetection, so it's not entirely
> > out of the question. Anyway, let's hope we don't see anything like that.
> 
> I looked at the datasheets for all supported PMICs, and they either
> state one or two supported addresses, in the latter case both
> consecutive. Autodetection sounds nice, but also unnecessary: we surely
> know what address it is for a certain board? And with those A523 boards
> having two PMICs, autodetection might become sketchy, as we don't know
> for sure which PMIC we got?

Speaking for T527 BSP boot0 - they check version register to make sure that
correct PMIC is installed.

> 
> But that got me thinking: what about putting the I2C address in Kconfig
> directly, with defaults depending on the PMIC type?
> 
> config AXP_I2C_ADDR
> 	hex "AXP PMIC I2C address"
> 	depends on ARCH_SUNXI && !SUNXI_NO_PMIC
> 	default 0x36 if AXP305_POWER
> 	....
> 
> That's should work seamlessly for all supported PMICs, and we just need
> one line for the Avaota, same as with this patch here.
> 
> What do you think?

Yeah, looks more universal and avoids code changes in pmic_bus.c when
adding support for new AXP PMIC, which is very nice indeed.

Best regards,
Jernej

> 
> Cheers,
> Andre
> 
> 
> 
> > 
> > Reviewed-by: Jernej Skrabec <jernej.skrabec at gmail.com>
> > 
> > Best regards,
> > Jernej
> > 
> > 
> > 
> 
> 






More information about the U-Boot mailing list