aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/Kconfig
diff options
context:
space:
mode:
authorAdamski, Krzysztof (Nokia - PL/Wroclaw) <krzysztof.adamski@nokia.com>2019-08-19 09:07:07 +0000
committerWolfram Sang <wsa@the-dreams.de>2019-08-29 21:07:30 +0200
commitf0b576801d83cecab29888010017333babd61ede (patch)
tree259f8024e5d19951b01f334cbc60f67aa47f02b1 /drivers/i2c/busses/Kconfig
parenti2c: icy: Add LTC2990 present on 2019 board revision (diff)
downloadlinux-dev-f0b576801d83cecab29888010017333babd61ede.tar.xz
linux-dev-f0b576801d83cecab29888010017333babd61ede.zip
i2c: axxia: support slave mode
This device contains both master and slave controllers which can be enabled simultaneously. Both controllers share the same SDA/SCL lines and interrupt source but has separate control and status registers. Controllers also works in loopback mode - slave device can communicate with its own master controller internally. The controller can handle up to two addresses, both of which may be 10 bit. Most of the logic (sending (N)ACK, handling repeated start or switching between write/read) is handled automatically which makes working with this controller quite easy. For simplicity, this patch adds basic support, limiting to only one slave address. Support for the 2nd device may be added in the future. Note that synchronize_irq() is used to ensure any running slave interrupt is finished to make sure slave i2c_client structure can be safely used by i2c_slave_event. Signed-off-by: Krzysztof Adamski <krzysztof.adamski@nokia.com> Reviewed-by: Alexander Sverdlin <alexander.sverdlin@nokia.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c/busses/Kconfig')
-rw-r--r--drivers/i2c/busses/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index ee7f415a625a..d3023e5379ea 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -429,6 +429,7 @@ config I2C_AXXIA
tristate "Axxia I2C controller"
depends on ARCH_AXXIA || COMPILE_TEST
default ARCH_AXXIA
+ select I2C_SLAVE
help
Say yes if you want to support the I2C bus on Axxia platforms.