[U-Boot] [PATCH v3 0/3] i2c: sunxi: Support every i2c controller on each supported platform

Hans de Goede hdegoede at redhat.com
Sun Apr 5 10:44:16 CEST 2015


Hi,

On 05-04-15 09:51, Paul Kocialkowski wrote:
> Changes since v2:
> * I2C/TWI busses enable for Cubietruck as well
>
> Changes since v1:
> * Kconfig option to enable I2C/TWI controllers 1-4 (when applicable)
> * Following patch to enable exposed busses on a few community-supported
>    single-board-computers
>
> This series adds support for every i2c controller found on
> sun4i/sun5i/sun6i/sun7i/sun8i platforms and shouldn't break support for Marvell
> platforms (orion5x, kirkwood, armada xp) the driver was originally written for.
>
> Regarding sunxi, I double-checked that this doesn't conflict with
> VIDEO_LCD_PANEL_I2C.
>
> I would be interested in having this tested on sun8i (A23), since I changed TWI0
> muxing (to PH2-PH3 instead of PB0-PB1), according to the user manual and what
> is being done on the upstream Linux kernel. I2C was either not working before,
> or it was being muxed correctly by the bootrom, probably to communicate with the
> AXP, which luckily made it work in U-Boot too, since the I/O base address was
> already correct.
>
> My use case here is that I'm writing a slave-side bitbang i2c implementation
> (with an Arduino) for a school project, using a Cubieboard2 as master and
> U-Boot as POC. However, only TWI1 was available through the expansion pins,
> hence the need for this series.
>

Thanks for your work on this, may I request one more change ? For sunxi I would
like to also see a CONFIG_I2C0_ENABLE, the reason for this is that on sun6i / sun8i
we do not really use i2c0 as we use p2wi resp. rsb to talk to the axp pmic there.

This way we will not end up messing with the muxing of the PH14/15 (sun6i) resp.
PH2/3 (sun8i) which may be used in some other fashion.

This also means making a small change to the first patch to also make registering
of twsi0 #ifdef CONFIG_I2C_MVTWSI_BASE0 .

Can you please make the default for CONFIG_I2C0_ENABLE y on sun4i / sun5i / sun7i and n
on others?

Also I'm not entirely convinced that patch 3/3 is a good idea, on the olimex boards
which have a i2c eeprom enabling the attached i2c controller makes sense, but on the
other boards the i2c pins are really just gpio pins, any daughter board can be connected
including one which uses them differently. I believe that in the defconfig the i2c
controllers should thus be left off. It is after all a default config, users with
a daughter board which they want to use in u-boot can easily change the config after
running make foo_defconfig.

Regards,

Hans




More information about the U-Boot mailing list