diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2019-11-21 19:25:56 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2019-12-02 14:22:42 +0100 |
commit | 1d067ee045c0f2e34d94a8cae7f34bf5355251c4 (patch) | |
tree | 116cb2625adfeb74f9c7d582ab1ff791c909c402 | |
parent | 545640fd4f033db8ddf50add8ad0d8f8730fa6f7 (diff) |
can: mcp25xxfd: allow using clko as start of frame
The current implementation uses the clko pin always as a clock out.
Implement the binding documentation and use the pin as a start of frame
indication when microchip,clock-out-div is set to 0.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
-rw-r--r-- | drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c index 3b228a9033e0..5bda9d8a6e7e 100644 --- a/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c +++ b/drivers/net/can/spi/mcp25xxfd/mcp25xxfd_gpio.c @@ -188,6 +188,12 @@ static int mcp25xxfd_gpio_setup_regs(struct mcp25xxfd_priv *priv) priv->regs.iocon &= ~(MCP25XXFD_IOCON_XSTBYEN); } + /* handle sof / clko */ + if (priv->config.clock_odiv == 0) + priv->regs.iocon |= MCP25XXFD_IOCON_SOF; + else + priv->regs.iocon &= ~MCP25XXFD_IOCON_SOF; + /* update the iocon register */ return mcp25xxfd_cmd_write_regs(priv->spi, MCP25XXFD_IOCON, &priv->regs.iocon, sizeof(u32)); |