mirror-linux/drivers/i2c
Luca Ceresoli a076a860ac media: i2c: add I2C Address Translator (ATR) support
An ATR is a device that looks similar to an i2c-mux: it has an I2C
slave "upstream" port and N master "downstream" ports, and forwards
transactions from upstream to the appropriate downstream port. But it
is different in that the forwarded transaction has a different slave
address. The address used on the upstream bus is called the "alias"
and is (potentially) different from the physical slave address of the
downstream chip.

Add a helper file (just like i2c-mux.c for a mux or switch) to allow
implementing ATR features in a device driver. The helper takes care of
adapter creation/destruction and translates addresses at each transaction.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-07-14 13:11:44 +02:00
..
algos i2c: algo: bit: allow getsda to be NULL 2023-01-23 23:15:49 +01:00
busses Part 2 of I2C patches for 6.5 2023-07-08 12:28:00 -07:00
muxes i2c: Convert to platform remove callback returning void 2023-06-05 09:47:37 +02:00
Kconfig media: i2c: add I2C Address Translator (ATR) support 2023-07-14 13:11:44 +02:00
Makefile media: i2c: add I2C Address Translator (ATR) support 2023-07-14 13:11:44 +02:00
i2c-atr.c media: i2c: add I2C Address Translator (ATR) support 2023-07-14 13:11:44 +02:00
i2c-boardinfo.c
i2c-core-acpi.c i2c: add fwnode APIs 2023-01-17 09:29:59 +01:00
i2c-core-base.c i2c: Add i2c_get_match_data() 2023-06-09 17:30:47 +02:00
i2c-core-of.c Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
i2c-core-slave.c
i2c-core-smbus.c
i2c-core.h
i2c-dev.c Merge 6.3-rc5 into driver-core-next 2023-04-03 09:33:30 +02:00
i2c-mux.c
i2c-slave-eeprom.c i2c: Convert drivers to new .probe() callback 2023-03-09 21:59:30 +01:00
i2c-slave-testunit.c i2c: Convert drivers to new .probe() callback 2023-03-09 21:59:30 +01:00
i2c-smbus.c i2c: Convert drivers to new .probe() callback 2023-03-09 21:59:30 +01:00
i2c-stub.c