[U-Boot] [RFC PATCH 0/12] RFC: dm: Add I2C support

Tom Rini trini at ti.com
Fri Oct 24 17:03:01 CEST 2014


On Sun, Oct 12, 2014 at 11:39:26PM -0600, Simon Glass wrote:

> (Note this is RFC since the uclass interface needs discussion and also
> because only sandbox is implemented so far. But I thought it best to get
> this out there as soon as I wrote it as it may influence the PMIC library,
> etc.)
> 
> This series is an initial attempt to add I2C support to driver model. It
> has become apparent that this is a high priority as it is widely used. It
> follows along to some extent from the SPI conversion.
> 
> Several changes are made from the original I2C implementations.
> 
> Firstly It is not necessary to specify the chip address with every call,
> since each chip knows its own address - it is stored in struct dm_i2c_chip
> which is attached to each chip on the I2C bus. However, this information
> *is* passed to the driver since I presume most drivers need it and it would
> be cumbersome to look up in every call.
> 
> Secondly there is no concept of a 'current' I2C bus so all associated logic
> is removed. With driver model i2c_set_bus_num() and i2c_get_bus_num() are
> not available. Since the chip device specifies both the bus and the chip
> address, there is no need for this concept. It also causes problems when
> one driver changes the current bus and forgets to change it back.
> 
> Thirdly initialisation is handled by driver model's normal probe() method
> on each device so there should be no need for i2c_init_all(), i2c_init(),
> i2c_init_board(), i2c_board_late_init() and board_i2c_init().
> 
> I2C muxes are not yet supported. To support these we will need to maintain
> state of the current mux settings to avoid resetting every mux every time.
> Probably we need to add a sandbox I2C mux driver to permit testing of this.
> This can probably be done later.
> 
> Platform data is not yet supported either, only device tree. The
> U_BOOT_I2C_MKENT_COMPLETE() and U_BOOT_I2C_ADAP_COMPLETE() macros are not
> used. Also struct i2c_adapter is not defined anymore. This will need to be
> addressed, perhaps as part of converting over a board that does not use
> device tree.
> 
> This series is available at u-boot-dm/i2c-working.

Nothing jumped out at me.  Heiko?

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141024/ede72dd0/attachment-0001.pgp>


More information about the U-Boot mailing list