diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2019-11-21 19:25:56 +0100 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2020-02-12 11:06:10 +0100 |
commit | 1463a8c37ec021accdc5a7eddfb04e34099c3178 (patch) | |
tree | d3e779b9a9e11ea32bec67e3227627fa6654793a /drivers | |
parent | 7e70e3cd082c7b876c8d50f9ac56f28f44bcfced (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>
Diffstat (limited to 'drivers')
-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)); |