[PATCH v3 00/23] i2c: designware_ic2: Improvements to timing and general cleanup
Heiko Schocher
hs at denx.de
Wed Jan 29 07:00:46 CET 2020
Hello Simon,
Am 23.01.2020 um 19:48 schrieb Simon Glass:
> This series updates the Designware I2C driver to support reading its
> timing from the device tree and handling it in units of nanoseconds
> instead of clock cycles.
>
> A new function converts from nanoseconds to the units used by the I2C
> controller and makes sure that the requested bus speed is not exceeded.
> This is more accurate than the existing method.
>
> The series includes a few smaller clean-ups in the same driver.
>
> In addition the v2 series adds enums for i2c speed and updates drivers to
> use them.
>
> There is currently an existing configuration method used just for a few
> x86 boards (Baytrail). This method is retained but it should be removed in
> favour of using the device tree. I have not done this in this series since
> I am not sure of the timings to use.
>
> Changes in v3:
> - Fix the address of comp_param1 by adding a gap
> - Drop note about moving to driver model
> - Use ARRAY_SIZE() for i2c_specs bounds check
> - Add new patch with support for fast-plus speed
> - Add new patch to move dw_i2c_speed_config to header
> - Add new patch to separate out the speed calculation
> - Add new patch to do more in the probe() method
>
> Changes in v2:
> - Fix 'previde' typo
> - Add a few more clean-up patches for i2c
>
> Simon Glass (23):
> i2c: designware_i2c: Add more registers
> i2c: designware_i2c: Don't allow changing IC_CLK
> i2c: designware_i2c: Include clk.h in the header file
> i2c: designware_i2c: Rename 'max' speed to 'high' speed
> i2c: designware_i2c: Use an enum for selected speed mode
> i2c: designware_i2c: Use an accurate bus clock instead of MHz
> i2c: designware_i2c: Bring in the binding file
> i2c: designware_i2c: Read device-tree properties
> i2c: designware_i2c: Drop scl_sda_cfg parameter
> i2c: designware_i2c: Put hold config in a struct
> i2c: designware_i2c: Rewrite timing calculation
> i2c: designware_i2c: Add spike supression
> i2c: Add enums for i2c speed and address size
> i2c: ast_i2c: Update to use standard enums for speed
> i2c: designware_i2c: Update to use standard enums for speed
> i2c: kona_i2c: Update to use standard enums for speed
> i2c: omap: Update to use standard enums for speed
> i2c: stm32: Update to use standard enums for speed
> i2c: Update drivers to use enum for speed
> i2c: designware_i2c: Add support for fast-plus speed
> i2c: designware_i2c: Move dw_i2c_speed_config to header
> i2c: designware_i2c: Separate out the speed calculation
> i2c: designware_i2c: Do more in the probe() method
>
> .../i2c/i2c-designware.txt | 73 +++++
> drivers/i2c/ast_i2c.c | 2 +-
> drivers/i2c/ast_i2c.h | 2 -
> drivers/i2c/designware_i2c.c | 300 ++++++++++++++----
> drivers/i2c/designware_i2c.h | 73 ++++-
> drivers/i2c/designware_i2c_pci.c | 4 +-
> drivers/i2c/exynos_hs_i2c.c | 5 +-
> drivers/i2c/fsl_i2c.c | 3 +-
> drivers/i2c/i2c-cdns.c | 2 +-
> drivers/i2c/i2c-uclass.c | 12 +-
> drivers/i2c/i2c-uniphier-f.c | 2 +-
> drivers/i2c/i2c-uniphier.c | 2 +-
> drivers/i2c/imx_lpi2c.c | 8 +-
> drivers/i2c/kona_i2c.c | 28 +-
> drivers/i2c/mv_i2c.c | 4 +-
> drivers/i2c/mvtwsi.c | 5 +-
> drivers/i2c/omap24xx_i2c.c | 5 +-
> drivers/i2c/omap24xx_i2c.h | 4 -
> drivers/i2c/rcar_i2c.c | 2 +-
> drivers/i2c/rcar_iic.c | 2 +-
> drivers/i2c/s3c24x0_i2c.c | 5 +-
> drivers/i2c/sandbox_i2c.c | 3 +-
> drivers/i2c/stm32f7_i2c.c | 43 +--
> include/i2c.h | 26 ++
> 24 files changed, 454 insertions(+), 161 deletions(-)
> create mode 100644 doc/device-tree-bindings/i2c/i2c-designware.txt
Applied the hole series to u-boot-i2c master.
Thanks!
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs at denx.de
More information about the U-Boot
mailing list