All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/19] i2c: designware_ic2: Improvements to timing and general cleanup
@ 2020-01-03 22:26 Simon Glass
  2020-01-03 22:26 ` [PATCH v2 01/19] i2c: designware_i2c: Add more registers Simon Glass
                   ` (18 more replies)
  0 siblings, 19 replies; 45+ messages in thread
From: Simon Glass @ 2020-01-03 22:26 UTC (permalink / raw)
  To: u-boot

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 v2:
- Fix 'previde' typo
- Add a few more clean-up patches for i2c

Simon Glass (19):
  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/i2c-designware.txt                    |  73 +++++
 drivers/i2c/ast_i2c.c                         |   2 +-
 drivers/i2c/ast_i2c.h                         |   2 -
 drivers/i2c/designware_i2c.c                  | 265 ++++++++++++++----
 drivers/i2c/designware_i2c.h                  |  50 ++--
 drivers/i2c/designware_i2c_pci.c              |   4 +-
 drivers/i2c/exynos_hs_i2c.c                   |   4 +-
 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                     |   4 +-
 drivers/i2c/sandbox_i2c.c                     |   3 +-
 drivers/i2c/stm32f7_i2c.c                     |  43 ++-
 include/i2c.h                                 |  26 ++
 24 files changed, 410 insertions(+), 145 deletions(-)
 create mode 100644 doc/device-tree-bindings/i2c/i2c-designware.txt

-- 
2.24.1.735.g03f4e72817-goog

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2020-01-16  7:08 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-03 22:26 [PATCH v2 00/19] i2c: designware_ic2: Improvements to timing and general cleanup Simon Glass
2020-01-03 22:26 ` [PATCH v2 01/19] i2c: designware_i2c: Add more registers Simon Glass
2020-01-08  2:27   ` pt
2020-01-16  6:40   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 02/19] i2c: designware_i2c: Don't allow changing IC_CLK Simon Glass
2020-01-16  6:41   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 03/19] i2c: designware_i2c: Include clk.h in the header file Simon Glass
2020-01-06 10:24   ` pt
2020-01-16  6:41   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 04/19] i2c: designware_i2c: Rename 'max' speed to 'high' speed Simon Glass
2020-01-06 10:24   ` pt
2020-01-16  6:42   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 05/19] i2c: designware_i2c: Use an enum for selected speed mode Simon Glass
2020-01-06 10:25   ` pt
2020-01-16  6:43   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 06/19] i2c: designware_i2c: Use an accurate bus clock instead of MHz Simon Glass
2020-01-16  6:45   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 07/19] i2c: designware_i2c: Bring in the binding file Simon Glass
2020-01-16  6:47   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 08/19] i2c: designware_i2c: Read device-tree properties Simon Glass
2020-01-16  6:48   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 09/19] i2c: designware_i2c: Drop scl_sda_cfg parameter Simon Glass
2020-01-16  6:50   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 10/19] i2c: designware_i2c: Put hold config in a struct Simon Glass
2020-01-16  6:52   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 11/19] i2c: designware_i2c: Rewrite timing calculation Simon Glass
2020-01-16  6:58   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 12/19] i2c: designware_i2c: Add spike supression Simon Glass
2020-01-16  7:00   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 13/19] i2c: Add enums for i2c speed and address size Simon Glass
2020-01-16  7:01   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 14/19] i2c: ast_i2c: Update to use standard enums for speed Simon Glass
2020-01-16  7:02   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 15/19] i2c: designware_i2c: " Simon Glass
2020-01-16  7:03   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 16/19] i2c: kona_i2c: " Simon Glass
2020-01-16  7:04   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 17/19] i2c: omap: " Simon Glass
2020-01-16  7:04   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 18/19] i2c: stm32: " Simon Glass
2020-01-07 15:02   ` Patrick DELAUNAY
2020-01-16  7:05   ` Heiko Schocher
2020-01-03 22:26 ` [PATCH v2 19/19] i2c: Update drivers to use enum " Simon Glass
2020-01-06 10:10   ` pt
2020-01-16  7:08   ` Heiko Schocher

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.