#
3ab16f4f |
|
19-Sep-2018 |
Andres Oportus <andresoportus@google.com> |
[ddk][i2c] Refactor the I2C protocol This change is similar to "[gpio] Refactor the GPIO protocol" but for I2C channels: https://fuchsia-review.googlesource.com/c/zircon/+/199400 After this change an instance of the ZX_PROTOCOL_I2C protocol now represents a single I2C channel. The protocol remains the same, except the "uint32_t index" has been removed from all the protocol functions. For devices that have only one I2C channel assigned to them, the driver can simply call device_get_protocol() to access the I2C protocol for the channel. To support multiple channel, a new API in the platform bus called pdev_get_protocol() allows accessing the I2C channels protocols by index. ZX-2621 #comment Refactor the I2C protocol removing index. Test: Boot and I2C transactions work on astro and NXP IMX8 Change-Id: I55d08aa3d82024f6977646425fd3d75a378f2740
|
#
ea3daa68 |
|
06-Sep-2018 |
Andres Oportus <andresoportus@google.com> |
[ddk][i2c] Add arbitrary number of RWs support to I2C protocol Augment the I2C protocol transact function to allow more than 2 write and/or read operations in one transaction. Rename the old transact to write_read. Test: Astro light sensor (uses I2C based interface) readings work Change-Id: I3c83025b7ca697551638ed9824cb7547e37afc4b
|
#
3d0477f4 |
|
11-Mar-2018 |
Mike Voydanoff <voydanoff@google.com> |
[ddk][i2c] Phase 2 of i2c protocol clean-up - Remove i2c_channel_t. Now the i2c protocol ops use a uint32_t index to specify the i2c channel - Remove i2c_set_bitrate() from the high level i2c protocol. None of our drivers actually implement this, and if they did this would be something set by the platform board driver, not the client. - Remove the "actual" parameter from i2c_complete_cb. i2c read transfers either return the amount requested or fail, so this parameter is not needed. Change-Id: I2dc2499ba1218d9bfd3501a43982279a3c534157
|
#
2d321c39 |
|
14-Nov-2017 |
Mike Voydanoff <voydanoff@google.com> |
[gauss] Refactor gauss platform bus driver Move platform bus support driver for gauss to system/dev/board/gauss. Also move gauss i2c test driver to system/dev/board/gauss. Amlogic A113 specific code remains in system/dev/soc/aml-a113, which is now a static library. Later we may move code (i2c, gpio, etc) that works for other Amlogic SOCs may get broken out into separate libraries. Change-Id: If2133824563be3086a8ea41064e5955d6ae4d609
|