alistair23-linux/drivers/i2c/busses
Loic Poulain e517526195 i2c: Add Qualcomm CCI I2C driver
This commit adds I2C bus support for the Camera Control Interface
(CCI) I2C controller found on the Qualcomm SoC processors. This I2C
controller supports two masters and they are registered to the core.

CCI versions supported in the driver are msm8916, msm8996 and sdm845.

This is a rework of the patch posted by Vinod:
https://patchwork.kernel.org/patch/10569961/

With additional fixes + most of the comments addressed.

Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Tested-by: Robert Foss <robert.foss@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
[wsa: removed err msg after platform_get_irq]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2020-04-18 23:38:20 +02:00
..
i2c-acorn.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i2c-ali15x3.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-ali1535.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-ali1563.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
i2c-altera.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-amd-mp2-pci.c drivers: Add generic helper to match any device 2019-07-30 13:07:42 +02:00
i2c-amd-mp2-plat.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-amd-mp2.h i2c: Add drivers for the AMD PCIe MP2 I2C controller 2019-03-25 15:21:17 +01:00
i2c-amd756-s4882.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-amd756.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-amd8111.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
i2c-aspeed.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-at91-core.c Merge branch 'i2c/for-current' into i2c/for-5.6 2020-01-15 18:31:37 +01:00
i2c-at91-master.c i2c: at91: implement i2c bus recovery 2020-02-26 11:06:41 +01:00
i2c-at91-slave.c i2c: at91: added slave mode support 2019-03-24 22:41:51 +01:00
i2c-at91.h i2c: at91: implement i2c bus recovery 2020-02-26 11:06:41 +01:00
i2c-au1550.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-axxia.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-bcm-iproc.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-bcm-kona.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-bcm2835.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-brcmstb.c i2c: brcmstb: Support BCM2711 HDMI BSC controllers 2020-03-10 11:08:53 +01:00
i2c-cadence.c i2c: cadence: Added slave support 2020-04-15 18:25:39 +02:00
i2c-cbus-gpio.c i2c: cbus-gpio: Switch to use GPIO descriptors 2019-02-08 22:18:51 +01:00
i2c-cht-wc.c i2c: cht-wc: convert to use i2c_new_client_device() 2020-01-15 20:39:07 +01:00
i2c-cpm.c Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2019-07-15 21:10:39 -07:00
i2c-cros-ec-tunnel.c i2c: cros-ec-tunnel: Fix ACPI identifier 2020-01-31 09:01:25 +01:00
i2c-davinci.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-designware-baytrail.c i2c: designware: Fix spelling typos in the comments 2020-03-21 19:53:08 +01:00
i2c-designware-common.c i2c: designware: Fix spelling typos in the comments 2020-03-21 19:53:08 +01:00
i2c-designware-core.h i2c: designware: Discard i2c_dw_read_comp_param() function 2020-03-21 19:32:24 +01:00
i2c-designware-master.c i2c: designware: Calculate SCL timing parameter for High Speed Mode 2020-04-15 13:13:39 +02:00
i2c-designware-pcidrv.c Linux 5.6-rc7 2020-03-26 12:09:58 +01:00
i2c-designware-platdrv.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-designware-slave.c i2c: designware: Fix spelling typos in the comments 2020-03-21 19:53:08 +01:00
i2c-digicolor.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-diolan-u2c.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-dln2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
i2c-efm32.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-eg20t.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
i2c-elektor.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-emev2.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-exynos5.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-fsi.c i2c: fsi: Add of_put_node() before break 2019-09-03 20:33:43 +02:00
i2c-gpio.c i2c: gpio: suppress error on probe defer 2020-03-10 12:31:55 +01:00
i2c-highlander.c Merge branch 'i2c/for-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2020-02-07 12:54:13 -08:00
i2c-hix5hd2.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-hydra.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-i801.c i2c: i801: Use GPIO_LOOKUP() helper macro 2020-04-15 12:57:01 +02:00
i2c-ibm_iic.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
i2c-ibm_iic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
i2c-icy.c i2c: icy: convert to i2c_new_scanned_device 2019-11-28 17:15:48 +01:00
i2c-img-scb.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-imx-lpi2c.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-imx.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-iop3xx.c i2c: iop3xx: Fix memory leak in probe error path 2020-01-15 20:31:27 +01:00
i2c-iop3xx.h Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2019-07-15 21:10:39 -07:00
i2c-isch.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
i2c-ismt.c i2c: ismt: Remove call to memset after dmam_alloc_coherent 2019-08-01 14:48:55 +02:00
i2c-jz4780.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-kempld.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 294 2019-06-05 17:36:38 +02:00
i2c-lpc2k.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-meson.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-mlxcpld.c i2c: mlxcpld: Fix wrong initialization order in probe 2019-05-27 21:24:58 +02:00
i2c-mpc.c i2c: mpc: always determine I2C clock prescaler at runtime 2018-01-15 19:19:55 +01:00
i2c-mt65xx.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-mt7621.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-mv64xxx.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-mxs.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-nforce2-s4985.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-nforce2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-nomadik.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-nvidia-gpu.c i2c: nvidia-gpu: Handle timeout correctly in gpu_i2c_check_status() 2020-03-24 22:40:55 +01:00
i2c-ocores.c i2c: ocores: convert to use i2c_new_client_device() 2020-01-15 20:39:26 +01:00
i2c-octeon-core.c i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-core.h i2c: octeon: Prevent error message on bus error 2018-03-02 11:11:15 +01:00
i2c-octeon-platdrv.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-omap.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-opal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
i2c-owl.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-parport.c i2c: convert SMBus alert setup function to return an ERRPTR 2020-03-10 12:19:52 +01:00
i2c-pasemi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
i2c-pca-isa.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-pca-platform.c i2c: busses: convert to devm_platform_get_and_ioremap_resource 2020-04-15 12:12:52 +02:00
i2c-piix4.c i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets 2020-04-15 12:22:52 +02:00
i2c-pmcmsp.c Merge branch 'i2c/for-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2020-02-07 12:54:13 -08:00
i2c-pnx.c i2c: pnx: Use proper printk format for resource_size_t 2020-01-15 21:10:40 +01:00
i2c-powermac.c i2c: powermac: correct comment about custom handling 2020-03-10 10:18:57 +01:00
i2c-puv3.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i2c-pxa-pci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 462 2019-06-19 17:09:10 +02:00
i2c-pxa.c i2c: pxa: remove unused i2c-slave APIs 2019-11-11 21:38:09 +01:00
i2c-qcom-cci.c i2c: Add Qualcomm CCI I2C driver 2020-04-18 23:38:20 +02:00
i2c-qcom-geni.c i2c: qcom-geni: Drop of_platform.h include 2020-03-13 15:20:39 +01:00
i2c-qup.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-rcar.c i2c: busses: convert to devm_platform_get_and_ioremap_resource 2020-04-15 12:12:52 +02:00
i2c-riic.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-rk3x.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-robotfuzz-osif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
i2c-s3c2410.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-scmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
i2c-sh7760.c
i2c-sh_mobile.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-sibyte.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-simtec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 235 2019-06-19 17:09:07 +02:00
i2c-sirf.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-sis96x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-sis630.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-sis5595.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-sprd.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-st.c Merge branch 'i2c/for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2020-04-02 15:54:13 -07:00
i2c-stm32.c i2c: stm32f7: report dma error during probe 2019-11-11 21:37:59 +01:00
i2c-stm32.h i2c: stm32: Use the correct style for SPDX License Identifier 2019-08-14 14:56:54 +02:00
i2c-stm32f4.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-stm32f7.c i2c: i2c-stm32f7: improve nack debug message 2020-04-15 12:58:19 +02:00
i2c-stu300.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-sun6i-p2wi.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-synquacer.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-taos-evm.c i2c: taos-evm: convert to use i2c_new_client_device() 2020-01-15 20:39:41 +01:00
i2c-tegra-bpmp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
i2c-tegra.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-thunderx-pcidrv.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-tiny-usb.c i2c: tiny-usb: Correct I2C fault codes. 2020-01-06 15:40:43 +01:00
i2c-uniphier-f.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-uniphier.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-versatile.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i2c-via.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-viapro.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
i2c-viperboard.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
i2c-wmt.c i2c: drivers: Use generic definitions for bus frequencies 2020-03-24 22:36:59 +01:00
i2c-xgene-slimpro.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
i2c-xiic.c i2c: xiic: fix indentation issue 2020-01-29 21:53:51 +01:00
i2c-xlp9xx.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-xlr.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
i2c-zx2967.c i2c: busses: convert to devm_platform_ioremap_resource 2020-04-15 12:09:09 +02:00
Kconfig i2c: Add Qualcomm CCI I2C driver 2020-04-18 23:38:20 +02:00
Makefile i2c: Add Qualcomm CCI I2C driver 2020-04-18 23:38:20 +02:00
scx200_acb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00