Hi Andre, On Mon, 20 Jan 2025 at 17:06, Andre Przywara <[email protected]> wrote: > > On Mon, 20 Jan 2025 12:21:28 -0700 > Simon Glass <[email protected]> wrote: > > Hi Simon, > > > On Mon, 20 Jan 2025 at 09:42, Jernej Škrabec <[email protected]> > > 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 <[email protected]> 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 <[email protected]> > > > > > > > > > > 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? > > It is, and the DM based I2C driver used in U-Boot proper does this > properly, and works fine. But this here is for the SPL, where we don't > have DT support. We need just minimal support to adjust the regulator > for the DRAMs. So far there is one fixed address used by each PMIC, so > this is simply hardcoded, based on which PMIC is selected. The patch I > am now proposing (snippet above) just moves that hardcoding into > Kconfig.
I suppose you could use of-platdata? Regards, SImon

