diff options
author | Tom Rini <trini@konsulko.com> | 2020-03-17 11:33:59 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-03-17 11:33:59 -0400 |
commit | b180e32ea39d03021655a31a19d527529a2eb980 (patch) | |
tree | 518505ebb4914d2e54f1ef898ad9ecb651355718 /include | |
parent | 552c3d4c2d3a98658158fdb7213515d631f5e181 (diff) | |
parent | 80e8b8add057d2c947394d9d57fc2dcc7ff886d1 (diff) |
Merge tag '20200316-for-next' of https://gitlab.denx.de/u-boot/custodians/u-boot-i2c into next
i2c: for next
- i2c-gpio: make it possible to run deblock sequence on driver probe
- i2c-gpio: add clock stretching support
- updates the Designware I2C driver for high speed mode,
fix a bug and add some improvements.
- add DM support for memory based bootcounter driver
Diffstat (limited to 'include')
-rw-r--r-- | include/i2c.h | 18 | ||||
-rw-r--r-- | include/i2c_eeprom.h | 2 |
2 files changed, 18 insertions, 2 deletions
diff --git a/include/i2c.h b/include/i2c.h index 0faf8542e2..059200115a 100644 --- a/include/i2c.h +++ b/include/i2c.h @@ -331,6 +331,24 @@ uint i2c_get_chip_addr_offset_mask(struct udevice *dev); int i2c_deblock(struct udevice *bus); /** + * i2c_deblock_gpio_loop() - recover a bus from an unknown state by toggling SDA/SCL + * + * This is the inner logic used for toggling I2C SDA/SCL lines as GPIOs + * for deblocking the I2C bus. + * + * @sda_pin: SDA GPIO + * @scl_pin: SCL GPIO + * @scl_count: Number of SCL clock cycles generated to deblock SDA + * @start_count:Number of I2C start conditions sent after deblocking SDA + * @delay: Delay between SCL clock line changes + * @return 0 if OK, -ve on error + */ +struct gpio_desc; +int i2c_deblock_gpio_loop(struct gpio_desc *sda_pin, struct gpio_desc *scl_pin, + unsigned int scl_count, unsigned int start_count, + unsigned int delay); + +/** * struct dm_i2c_ops - driver operations for I2C uclass * * Drivers should support these operations unless otherwise noted. These diff --git a/include/i2c_eeprom.h b/include/i2c_eeprom.h index b96254ae79..cd620d519f 100644 --- a/include/i2c_eeprom.h +++ b/include/i2c_eeprom.h @@ -16,8 +16,6 @@ struct i2c_eeprom_ops { struct i2c_eeprom { /* The EEPROM's page size in byte */ unsigned long pagesize; - /* The EEPROM's page width in bits (pagesize = 2^pagewidth) */ - unsigned pagewidth; /* The EEPROM's capacity in bytes */ unsigned long size; }; |