Searched hist:"2 fd5cf35" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/i2c/busses/ |
H A D | i2c-xiic.c | 2fd5cf35 Thu Feb 02 03:41:32 CST 2023 Raviteja Narayanam <raviteja.narayanam@xilinx.com> i2c: xiic: Switch to Xiic standard mode for i2c-read
Xilinx I2C IP has two modes of operation, both of which implement I2C transactions. The only difference from sw perspective is the programming sequence for these modes. Dynamic mode -> Simple to program, less number of steps in sequence. Standard mode -> Gives flexibility, more number of steps in sequence.
In dynamic mode, during the i2c-read transactions, if there is a delay(> 200us) between the register writes (address & byte count), read transaction fails. On a system with load, this scenario is occurring frequently. To avoid this, switch to standard mode if there is a read request.
Added a quirk to identify the IP version effected by this and follow the standard mode.
Signed-off-by: Raviteja Narayanam <raviteja.narayanam@xilinx.com> Signed-off-by: Manikanta Guntupalli <manikanta.guntupalli@amd.com> Acked-by: Michal Simek <michal.simek@amd.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
|