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

Simon Glass sjg at chromium.org
Mon Jan 20 20:21:28 CET 2025


Hi,

On Mon, 20 Jan 2025 at 09:42, Jernej Škrabec <jernej.skrabec at gmail.com> wrote:
>
> 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.

Shouldn't this be in the devicetree?
[..]
Regards,
Simon


More information about the U-Boot mailing list