
On Sat, 18 Jan 2025 08:21:31 +0100 Jernej Škrabec jernej.skrabec@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@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?
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?
Cheers, Andre
Reviewed-by: Jernej Skrabec jernej.skrabec@gmail.com
Best regards, Jernej