u-boot/drivers/i2c
Lukasz Majewski b52a3fa08b i2c: ti: Update method to calculate psc, sscl and ssch I2C parameters
This patch updates the way in which psc, sscl and ssch I2C parameters are
calculated to be in sync with v4.9 Linux kernel
SHA1: 69973b830859bc6529a7a0468ba0d80ee5117826
in the ./drivers/i2c/busses/i2c-omap.c

The previous method was causing several issues:
- The internal I2C frequency (after prescaler) was far above recommended
one (7 - 12 MHz [*]) - the current approach brings better noise suppression
(as stated in Linux commit: SHA1: 84bf2c868f3ca996e5bb)

- The values calculated (psc, sscl and ssch) were far from optimal, which
caused on the test platform (AM57xx) the I2C0 SCL signal low time (Fast
Mode) of ~1.0us (the standard requires > 1.3 us).

[*] for AM57xx TRM SPRUHZ6G, Table 24,7
"HS I2C Register Values for Maximum I2C Bit Rates in I2C F/S, I2C HS Modes"

Signed-off-by: Lukasz Majewski <lukma@denx.de>
2017-03-28 06:27:42 +02:00
..
muxes dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
adi_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
at91_i2c.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
at91_i2c.h i2c: atmel: add i2c driver 2016-08-15 22:12:00 +02:00
cros_ec_ldo.c i2c: Drop redundant platform data setting in drivers 2016-08-12 06:41:41 +02:00
cros_ec_tunnel.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
davinci_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
davinci_i2c.h i2c, davinci: convert driver to new mutlibus/mutliadapter framework 2014-04-17 17:24:38 -04:00
designware_i2c.c i2c: designware: Avoid overwriting the cmd_data register 2016-10-24 18:15:47 +02:00
designware_i2c.h i2c: designware_i2c: Add ic_enable_status to ic_regs struct 2016-04-25 07:31:04 +02:00
exynos_hs_i2c.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
fsl_i2c.c fsl_i2c.c: Fix warning on gcc-6.x 2017-02-17 14:15:12 -05:00
fti2c010.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
fti2c010.h drivers/i2c: Update fti2c010.[ch], i2c_core.c to use SPDX identifiers 2013-07-25 08:51:42 -04:00
i2c_core.c drivers: i2c: mxc: Add early init 2016-06-10 13:44:58 -07:00
i2c-cdns.c i2c: i2c-cdns: No need for dedicated probe function 2017-01-18 06:39:01 +01:00
i2c-emul-uclass.c dm: i2c: Add I2C emulation driver for sandbox 2014-12-11 13:18:42 -07:00
i2c-gpio.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
i2c-uclass-compat.c i2c: i2c-uclass-compat: avoid any BSS usage 2016-08-08 13:33:00 -04:00
i2c-uclass.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
i2c-uniphier-f.c i2c: uniphier-f: use readl_poll_timeout() to poll registers 2017-01-29 20:59:08 +09:00
i2c-uniphier.c i2c: uniphier(-f): remove unneeded #include <dm/root.h> 2017-01-29 20:59:08 +09:00
ihs_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
imx_lpi2c.c i2c: lpi2c: add lpi2c driver for i.MX7ULP 2017-03-17 09:27:08 +01:00
intel_i2c.c x86: i2c: Fix cast of address to 32-bit value 2016-10-11 11:55:33 +08:00
Kconfig i2c: lpi2c: add lpi2c driver for i.MX7ULP 2017-03-17 09:27:08 +01:00
kona_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
lpc32xx_i2c.c i2c: lpc32xx: Force consistent bus numbering 2017-03-28 06:27:20 +02:00
Makefile i2c: lpi2c: add lpi2c driver for i.MX7ULP 2017-03-17 09:27:08 +01:00
mv_i2c.c i2c: mv_i2c.c: Correct address endianness 2016-12-19 09:32:00 +01:00
mv_i2c.h i2c: mv_i2c.c: Enable runtime speed selection (standard vs fast mode) 2016-09-26 10:42:37 +02:00
mvtwsi.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
mxc_i2c.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
mxs_i2c.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
omap24xx_i2c.c i2c: ti: Update method to calculate psc, sscl and ssch I2C parameters 2017-03-28 06:27:42 +02:00
omap24xx_i2c.h i2c: ti: Update SCLH and SCLL to be in sync with v4.9 Linux kernel 2017-03-28 06:27:33 +02:00
pca9564_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
ppc4xx_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
rcar_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
rk_i2c.c rockchip: i2c: fix >32 byte writes 2016-09-13 06:57:27 +02:00
s3c24x0_i2c.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
s3c24x0_i2c.h samsung: i2c: Split the high-speed I2C code into a new driver 2016-12-05 13:27:54 +01:00
sandbox_i2c.c dm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev() 2016-07-27 14:15:07 -06:00
sh_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
sh_sh7734_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
soft_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
tegra186_bpmp_i2c.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
tegra_i2c.c i2c: tegra: only use new clock/reset APIs 2016-09-27 09:11:03 -07:00
tsi108_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
zynq_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00