Thread (17 messages) 17 messages, 3 authors, 2017-07-14

Re: [PATCH v11 3/4] i2c: aspeed: added driver for Aspeed I2C

From: Brendan Higgins <hidden>
Date: 2017-06-27 08:29:12
Also in: linux-i2c, lkml, openbmc

On Fri, Jun 23, 2017 at 11:43 AM, Wolfram Sang [off-list ref] wrote:
On Tue, Jun 20, 2017 at 02:15:15PM -0700, Brendan Higgins wrote:
quoted
Added initial master support for Aspeed I2C controller. Supports
fourteen busses present in AST24XX and AST25XX BMC SoCs by Aspeed.

Signed-off-by: Brendan Higgins <redacted>
Applied to for-next, thanks for all the hard work!
Thanks for the patience!
One question however which can be solved incrementally if needed:
quoted
+     if (command & ASPEED_I2CD_SDA_LINE_STS) {
+             /* Bus is idle: no recovery needed. */
+             if (command & ASPEED_I2CD_SCL_LINE_STS)
+                     goto out;
+             dev_dbg(bus->dev, "SCL hung (state %x), attempting recovery\n",
+                     command);
+
+             reinit_completion(&bus->cmd_complete);
+             writel(ASPEED_I2CD_M_STOP_CMD, bus->base + ASPEED_I2C_CMD_REG);
If SCL is stuck low, how do you want to send a STOP?
Fair point. I should probably drop that in the future and just do a
reset, and even then, doing a
reset is probably just wishful thinking. If a slave is holding down
SCL, we are pretty screwed.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help