Re: AXP803 I2C support / AXP devicetree-bindings

From: Icenowy Zheng
Date: Tue Nov 07 2017 - 03:20:51 EST



ä 2017å11æ7æ GMT+08:00 äå11:13:23, Chen-Yu Tsai <wens@xxxxxxxx> åå:
On Tue, Nov 7, 2017 at 6:39 AM, Martin Blumenstingl
<martin.blumenstingl@xxxxxxxxxxxxxx> wrote:
Hello,

recently I discovered that there are some X-Powers AXP chips that
support both, Allwinner's own "RSB" as well as the I2C ("TWSI" in the
datasheet) busses.

one chip that supports both interfaces is the AXP803
the datasheet is linked in the public PINE64 wiki: [1] (direct link:
[0])

All the RSB based PMICs support both modes. They start in I2C mode
when cold booted.

I think it starts at a vendor-customized mode. In all PMICs sold
with Allwinner SoCs the mode is predefined to RSB.

In fact many registers in AXPs are vendor-customizable, see
the datasheets.



currently the "x-powers,axp803" binding is "RSB" bus specific as it's
currently only listed in drivers/mfd/axp20x-rsb.c

was there a discussion about supporting both, the "RSB" and I2C bus
for one chip (for example the AXP803) in the past (I couldn't find
anything online)?

No. None of the boards actually use I2C instead of RSB. RSB mode is
initialized by the boot loader. There is no easy way for the kernel to
switch it back.

what about the device-tree bindings in this case?

We can deal with it if someone actually comes up with a practical
case needing it. Otherwise things go untested, which is not what
we want.

ChenYu



Regards
Martin


[0]
http://files.pine64.org/doc/datasheet/pine64/AXP803_Datasheet_V1.0.pdf
[1]
http://wiki.pine64.org/index.php/PINE_A64_Main_Page#Datasheets_for_Components_and_Peripherals