Lines Matching +full:has +full:- +full:transaction +full:- +full:translator
1 .. SPDX-License-Identifier: GPL-2.0
11 -----------
13 An I2C Address Translator (ATR) is a device with an I2C slave parent
21 An ATR looks similar to an i2c-mux except:
22 - the address on the parent and child busses can be different
23 - there is normally no need to select the child port; the alias used on the
27 The kernel i2c-atr provides a helper to implement an ATR within a driver.
41 .-----. |
42 .-----. | |---+---- B
43 | CPU |--A--| ATR |
44 `-----' | |---+---- C
45 `-----' |
53 in the transaction and based on the alias table.
66 Transaction:
68 - Slave X driver requests a transaction (on adapter B), slave address 0x10
69 - ATR driver finds slave X is on bus B and has alias 0x20, rewrites
71 - Physical I2C transaction on bus A, slave address 0x20
72 - ATR chip detects transaction on address 0x20, finds it in table,
73 propagates transaction on bus B with address translated to 0x10,
75 - Slave X chip (on bus B) detects transaction at its own physical
77 - ATR chip stops clock stretching and forwards reply on bus A,
79 - ATR driver receives the reply, rewrites messages with address 0x10
81 - Slave X driver gets back the msgs[], with reply and address 0x10
94 -------------------------------------
96 .. kernel-doc:: include/linux/i2c-atr.h