i3c: ast2600: enable IBI support
authorJeremy Kerr <jk@codeconstruct.com.au>
Thu, 30 Mar 2023 07:50:36 +0000 (15:50 +0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 28 Apr 2023 06:49:50 +0000 (08:49 +0200)
commitf2539c20791eb474ae083f60a572f207ffbc3a67
tree45363ac6ff022476bfe5cf886b264afca932bf02
parentf3a3553a51e64379dbb2e980f0024f7a28b74977
i3c: ast2600: enable IBI support

The ast2600 i3c hardware is capable of IBIs, but we need a workaround
for a hardware issue with the I3C state machine handling IBI payloads
of specific lengths when PEC is not enabled. To avoid this, we need to
unconditionally enable PECs, at the consquence of losing a byte of data
when the device does not send a PEC.

Enable IBIs on the ast2600 platform, including an implementation of the
PEC workaround, which prints a warning when triggered.

Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/ba923b96d6d129024c975e8a0472c5b2fcb3af32.1680161823.git.jk@codeconstruct.com.au
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/ast2600-i3c-master.c