OpenCloudOS-Kernel/drivers/i2c/busses
Guoying Zhang d64d45cb95 i2c: sirf: tune the divider to make i2c bus freq more accurate
In prima2 and atlas7, due to some hardware design issue. we
need to adjust the divider ratio a little according to i2c
bus frequency ranges.
Since i2c is open drain interface that allows the slave to
stall the transaction by holding the SCL line at '0', the RTL
implementation is waiting for SCL feedback from the pin after
setting it to High-Z ('1'). This wait adds to the high-time
interval counter few cycles of the input synchronization
(depending on the SCL_FILTER_REG field), and also the time it
takes for the board pull-up resistor to rise the SCL line.
For slow SCL settings these additions are negligible, but they
start to affect the speed when clock is set to faster frequencies.
This patch is based on the actual tests, and it makes SCL more
accurate.

Signed-off-by: Guoying Zhang <Guoying.Zhang@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 22:48:45 +02:00
..
Kconfig i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver 2015-10-23 21:55:46 +02:00
Makefile i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver 2015-10-23 21:55:46 +02:00
i2c-acorn.c i2c: acorn: is tristate and should use module.h 2014-01-24 18:21:11 +01:00
i2c-ali15x3.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1535.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-ali1563.c i2c: ali1563: fix checkpatch.pl issues 2014-05-22 10:09:21 +02:00
i2c-amd756-s4882.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-amd756.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-amd8111.c i2c: remove DEFINE_PCI_DEVICE_TABLE macro 2014-03-13 09:44:59 +01:00
i2c-at91.c i2c: at91: fix write transfers by clearing pending interrupt first 2015-10-22 15:14:41 +02:00
i2c-au1550.c i2c: au1550: relax bus timings a bit 2015-10-20 17:43:13 +02:00
i2c-axxia.c i2c: axxia: Add bus recovery functionality 2015-06-03 00:40:16 +09:00
i2c-bcm-iproc.c i2c: iproc: Add suspend/resume support 2015-06-03 03:04:53 +09:00
i2c-bcm-kona.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-bcm2835.c i2c: busses: i2c-bcm2835: limits cdiv to allowed values 2015-06-23 19:55:19 +02:00
i2c-bfin-twi.c i2c: Fix typo in i2c-bfin-twi.c 2015-07-31 13:32:31 +02:00
i2c-brcmstb.c i2c: brcmstb: Add Broadcom settop SoC i2c controller driver 2015-06-10 22:02:57 +09:00
i2c-cadence.c i2c: cadence: set THIS_MODULE to the owner of the adapter 2015-08-10 08:37:38 +02:00
i2c-cbus-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-cpm.c i2c: cpm: make use of the new infrastructure for quirks 2015-03-13 15:10:54 +01:00
i2c-cros-ec-tunnel.c mfd: cros_ec: Use a zero-length array for command data 2015-06-15 13:18:19 +01:00
i2c-davinci.c i2c: davinci: Optimize clock generation on Keystone SoC 2015-10-20 17:05:16 +02:00
i2c-designware-baytrail.c i2c: designware-baytrail: baytrail_i2c_acquire() might sleep 2015-03-07 01:08:26 +01:00
i2c-designware-core.c i2c: designware: Move common probe code into i2c_dw_probe() 2015-10-15 14:09:37 +02:00
i2c-designware-core.h i2c: designware: Move common probe code into i2c_dw_probe() 2015-10-15 14:09:37 +02:00
i2c-designware-pcidrv.c i2c: designware: Move common probe code into i2c_dw_probe() 2015-10-15 14:09:37 +02:00
i2c-designware-platdrv.c i2c: designware: reverts "i2c: designware: Add support for AMD I2C controller" 2015-10-23 21:55:44 +02:00
i2c-digicolor.c i2c: digicolor: remove duplicate include 2015-04-23 19:35:32 +02:00
i2c-diolan-u2c.c i2c: remove unnecessary OOM messages 2014-06-02 19:24:33 +02:00
i2c-dln2.c i2c: dln2: set the device tree node of the adapter 2015-03-27 16:56:21 +01:00
i2c-efm32.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-eg20t.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-elektor.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-emev2.c i2c: emev2: add driver 2015-08-10 08:37:29 +02:00
i2c-exynos5.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-gpio.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-highlander.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-hix5hd2.c i2c: hix5hd2: Fix modalias to make module auto-loading work 2015-05-12 18:09:33 +02:00
i2c-hydra.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-i801.c i2c: i801: Add support for Intel Broxton 2015-10-23 22:11:58 +02:00
i2c-ibm_iic.c i2c: ibm-iic: Fix module autoload for OF platform driver 2015-10-20 18:14:01 +02:00
i2c-ibm_iic.h
i2c-img-scb.c i2c: img-scb: verify support for requested bit rate 2015-10-10 08:40:11 +01:00
i2c-imx.c i2c: imx: Use -ENXIO as error in the NACK case 2015-10-23 22:25:33 +02:00
i2c-iop3xx.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-iop3xx.h i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-isch.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-ismt.c i2c: ismt: issue a warning when fail to request MSI 2015-10-20 16:51:42 +02:00
i2c-jz4780.c i2c: jz4780: Fix return value if probe fails 2015-07-09 22:17:31 +02:00
i2c-kempld.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-lpc2k.c i2c: lpc2k: add driver 2015-08-24 14:05:18 +02:00
i2c-meson.c i2c: meson: Fix module autoload for OF platform driver 2015-10-20 18:14:36 +02:00
i2c-mpc.c i2c: mpc: Fix ISR return value 2015-03-27 16:53:41 +01:00
i2c-mt65xx.c i2c: mediatek: add i2c resume support 2015-10-23 21:58:32 +02:00
i2c-mv64xxx.c i2c: mv64xxx: rework offload support to fix several problems 2014-12-17 19:26:03 +01:00
i2c-mxs.c i2c: constify platform_device_id 2015-05-12 18:27:48 +02:00
i2c-nforce2-s4985.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-nforce2.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-nomadik.c i2c: nomadik: match status to return type of read_i2c 2015-03-15 10:51:13 +01:00
i2c-ocores.c i2c: ocores: support big-endian register layout 2015-10-20 17:47:45 +02:00
i2c-octeon.c i2c: octeon: remove unused signal handling 2015-06-17 14:50:03 +02:00
i2c-omap.c i2c: omap: fix cleanup regression 2015-08-10 08:37:33 +02:00
i2c-opal.c i2c: opal: Update quirk flags to do write-then-anything 2015-03-14 12:08:21 +01:00
i2c-parport-light.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-parport.c i2c: parport: start using pr_fmt 2015-08-10 08:37:28 +02:00
i2c-parport.h i2c: parport: Add VCT-jig adapter 2015-08-10 08:37:34 +02:00
i2c-pasemi.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pca-isa.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-pca-platform.c i2c: pca-platform: fix broken email address 2015-04-23 19:35:30 +02:00
i2c-piix4.c i2c-piix4: Use Macro for AMD CZ SMBus device ID 2015-06-16 08:58:06 +02:00
i2c-pmcmsp.c i2c: pmcmsp: make use of the new infrastructure for quirks 2015-03-13 15:10:58 +01:00
i2c-pnx.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-powermac.c i2c: powermac: make use of the new infrastructure for quirks 2015-03-13 15:10:57 +01:00
i2c-puv3.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-pxa-pci.c i2c: remove DEFINE_PCI_DEVICE_TABLE macro 2014-03-13 09:44:59 +01:00
i2c-pxa.c i2c: pxa: Use devm_ variants in probe function 2015-08-10 08:37:31 +02:00
i2c-qup.c i2c: qup: make use of the new infrastructure for quirks 2015-03-13 15:10:53 +01:00
i2c-rcar.c i2c: rcar: Remove obsolete platform data support 2015-10-20 18:10:25 +02:00
i2c-riic.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-rk3x.c i2c: rk3x: Fix module autoload for OF platform driver 2015-10-20 18:15:03 +02:00
i2c-robotfuzz-osif.c i2c: Add bus driver for for OSIF USB i2c device. 2014-01-13 13:56:56 +01:00
i2c-s3c2410.c Merge branch 'i2c/for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-06-25 18:42:39 -07:00
i2c-scmi.c i2c: delete non-required instances of include <linux/init.h> 2014-01-24 18:24:31 +01:00
i2c-sh7760.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-sh_mobile.c i2c: sh_mobile: add support for r8a7795 (R-Car H3) 2015-10-20 18:10:20 +02:00
i2c-sibyte.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-simtec.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
i2c-sirf.c i2c: sirf: tune the divider to make i2c bus freq more accurate 2015-10-23 22:48:45 +02:00
i2c-sis96x.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis630.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-sis5595.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-st.c i2c: st: add include for pinctrl 2015-04-23 19:35:33 +02:00
i2c-stu300.c i2c: stu300: Fix module autoload for OF platform driver 2015-10-20 18:15:39 +02:00
i2c-sun6i-p2wi.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-taos-evm.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-tegra.c i2c: tegra: drop duplicated code for assigning algo 2015-10-20 17:38:19 +02:00
i2c-tiny-usb.c i2c: i2c-tiny-usb: Remove RobotFuzz USB vendor:product ID 2014-01-13 13:56:52 +01:00
i2c-uniphier-f.c i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver 2015-10-23 21:55:46 +02:00
i2c-uniphier.c i2c: uniphier: add UniPhier FIFO-less I2C driver 2015-10-23 21:55:45 +02:00
i2c-versatile.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
i2c-via.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viapro.c i2c: remove FSF address 2014-11-07 18:35:33 +01:00
i2c-viperboard.c i2c: viperboard: clean up inconsistent indenting 2015-08-10 08:37:38 +02:00
i2c-wmt.c i2c: wmt: match return type of wait_for_completion_timeout 2015-03-15 10:29:53 +01:00
i2c-xgene-slimpro.c i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code 2015-08-24 14:23:31 +02:00
i2c-xiic.c i2c: xiic: Do not continue in case of errors in Rx 2015-08-10 08:37:33 +02:00
i2c-xlp9xx.c i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller 2015-04-10 18:59:49 +02:00
i2c-xlr.c i2c: busses: drop owner assignment from platform_drivers 2014-10-20 16:20:37 +02:00
scx200_acb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00