linux/Documentation/devicetree/bindings
Grygorii Strashko 7ef97e9a31 i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery
Having a board where the I2C bus locks up occasionally made it clear
that the bus recovery in the i2c-davinci driver will only work on
some boards, because on regular boards, this will only toggle GPIO
lines that aren't muxed to the actual pins.

The I2C controller on SoCs like da850 (and da830), Keystone 2 has the
built-in capability to bit-bang its lines by using the ICPFUNC registers
of the i2c controller.
Implement the suggested procedure by toggling SCL and checking SDA using
the ICPFUNC registers of the I2C controller when present. Allow platforms
to indicate the presence of the ICPFUNC registers with a has_pfunc platform
data flag and add optional DT property "ti,has-pfunc" to indicate
the same in DT.

Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Tested-by: Michael Lawnick <michael.lawnick@nokia.com>
Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Mike Looijmans <milo-software@users.sourceforge.net>
[grygorii.strashko@ti.com: combined patches from Ben Gardiner and
Mike Looijmans and reimplemented ICPFUNC bus recovery using I2C
bus recovery infrastructure]
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-04-10 17:57:28 +02:00
..
arc
arm ARM: SoC 64-bit changes and additions 2015-02-17 09:47:46 -08:00
ata DeviceTree changes for 3.20: 2015-02-12 08:58:43 -08:00
bus dt: bindings: update mvebu-mbus DT binding with new compatible properties 2015-01-09 10:54:28 -06:00
c6x Documentation: devicetree: Fix double words in Doumentation/devicetree 2015-01-28 15:13:11 -07:00
clock The clock framework changes for 3.20 contain the usual driver additions, 2015-02-21 12:30:30 -08:00
cpufreq
crypto crypto: sahara - add support for i.MX53 2014-12-03 22:30:18 +08:00
devfreq/event PM / devfreq: event: Add documentation for exynos-ppmu devfreq-event driver 2015-01-30 17:56:42 +09:00
dma Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2015-02-18 08:49:20 -08:00
drm drm/msm/hdmi: rework hdmi configurations, using dt_match[] 2015-02-01 15:32:46 -05:00
extcon
fb
fpga doc: add bindings document for altera fpga manager 2015-01-13 13:58:01 -06:00
fuse Documentation: DT bindings: add more Tegra chip compatible strings 2015-02-03 20:37:31 -06:00
gpio Documentation changes for 3.20 2015-02-11 13:03:11 -08:00
gpu Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-02-16 15:48:00 -08:00
hid
hsi
hwmon hwmon: (ltc2978) device tree bindings documentation 2014-11-30 20:13:12 -08:00
hwrng hwrng: atmel - Add TRNG DT binding doc 2014-11-20 22:39:41 +08:00
i2c i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery 2015-04-10 17:57:28 +02:00
iio Staging drivers patches for 3.20-rc1 2015-02-15 11:30:39 -08:00
input Input: ti_am335x_tsc - read charge delay from DT 2015-02-03 11:50:38 -08:00
interrupt-controller irqchip: Devicetree: document Conexant Digicolor irq binding 2015-01-26 11:38:23 +01:00
iommu ARM: SoC DT updates 2015-02-17 09:36:52 -08:00
leds DT: leds: Add led-sources property 2015-01-29 14:53:07 -08:00
lpddr2
mailbox mailbox: Add Altera mailbox driver 2015-02-06 10:58:27 +05:30
media ARM: SoC DT updates 2015-02-17 09:36:52 -08:00
memory-controllers ARM: shmobile: Add DT bindings for Renesas memory controllers 2015-01-15 08:53:50 +09:00
metag
mfd Changes to existing drivers: 2015-02-18 09:05:48 -08:00
mipi
mips MIPS: OCTEON: irq: add CIB and other fixes 2015-02-20 15:33:40 +01:00
misc ARM: SoC DT updates 2015-02-17 09:36:52 -08:00
mmc The clock framework changes for 3.20 contain the usual driver additions, 2015-02-21 12:30:30 -08:00
mtd MTD updates for 3.20-rc1 2015-02-18 08:01:44 -08:00
net amd-xgbe-phy: PHY KX/KR mode differences 2015-02-25 16:57:42 -05:00
nios2 nios2: Device tree support 2014-12-08 12:56:01 +08:00
nvec
panel drm/panel: simple: Add AVIC TM070DDH03 panel support 2015-01-28 08:45:39 +01:00
pci DeviceTree changes for 3.20: 2015-02-12 08:58:43 -08:00
phy phy: miphy365x: Pass sysconfig register offsets via syscfg dt property. 2015-01-30 18:12:05 +05:30
pinctrl DeviceTree changes for 3.20: 2015-02-12 08:58:43 -08:00
power ARM: SoC DT updates 2015-02-17 09:36:52 -08:00
power_supply power: reset: imx-snvs-poweroff: add power off driver for i.mx6 2014-11-23 14:57:11 +08:00
powerpc Char / Misc patches for 3.20-rc1 2015-02-15 10:48:44 -08:00
pps
pwm pwm: Changes for v3.20-rc1 2015-02-18 09:00:53 -08:00
regmap
regulator Merge remote-tracking branches 'regulator/topic/max8649', 'regulator/topic/mode', 'regulator/topic/mt6397', 'regulator/topic/pfuze100' and 'regulator/topic/qcom-rpm' into regulator-next 2015-02-08 11:16:27 +08:00
reserved-memory
reset
rng
rtc rtc: armada38x: add the device tree binding documentation 2015-02-13 21:21:43 -08:00
security/tpm tpm/tpm_i2c_stm_st33/dts/st33zp24-i2c: Rename st33zp24 dts documentation 2015-01-17 15:04:05 +01:00
serial serial: 8250_dw: Fix get_mctrl behaviour 2015-03-07 03:06:51 +01:00
serio Input: serio - add support for Alwinner A10/A20 PS/2 controller 2015-01-26 23:10:13 -08:00
soc dt/bindings: b/qman: Add phandle to the portals 2015-01-29 22:57:44 -06:00
sound ARM: SoC DT updates 2015-02-17 09:36:52 -08:00
spi DeviceTree changes for 3.20: 2015-02-12 08:58:43 -08:00
spmi
staging/iio/adc First round of IIO new drivers, cleanups and functionality for the 3.20 cycle take 2 2015-01-21 10:13:37 +08:00
thermal Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal 2015-02-19 17:51:22 -08:00
timer Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-02-16 15:26:10 -08:00
ufs
usb ARM: SoC driver updates 2015-02-17 09:38:59 -08:00
video ARM: SoC DT updates 2015-02-17 09:36:52 -08:00
virtio
w1
watchdog dt: watchdog: Add DT binding documentation for jz4740 watchdog timer 2015-02-17 21:33:58 +01:00
x86
xillybus
ABI.txt
btmrvl.txt Bluetooth: btmrvl: add DT-bindings for gpio-gap 2014-11-19 16:22:42 +01:00
chosen.txt of: Add bindings for chosen node, stdout-path 2014-12-03 23:12:35 +00:00
eeprom.txt
graph.txt Documentation: of: fix typo in graph bindings 2015-01-13 13:55:22 -06:00
marvell.txt
open-pic.txt
resource-names.txt
submitting-patches.txt Documentation: DT: document compatible string existence requirement 2015-02-03 20:43:50 -06:00
unittest.txt of: unitest: Add I2C overlay unit tests. 2015-02-04 10:43:14 -06:00
vendor-prefixes.txt ARM: SoC DT updates 2015-02-17 09:36:52 -08:00
xilinx.txt