]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
can: mcp251xfd: add workaround for errata 5
authorGregor Herburger <gregor.herburger@ew.tq-group.com>
Wed, 1 Oct 2025 09:10:03 +0000 (14:40 +0530)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 12 Nov 2025 18:30:07 +0000 (19:30 +0100)
commitc902835fc6eb7e13dbffc404210eed59293425c8
tree79632477b2b6a3b78c44e1f83d5db9b163a714f7
parentf5982a679a16a673a0fc374c1d9d77111cd86740
can: mcp251xfd: add workaround for errata 5

According to Errata DS80000789E 5 writing IOCON register using one SPI
write command clears LAT0/LAT1.

Errata Fix/Work Around suggests to write registers with single byte write
instructions. However, it seems that every write to the second byte
causes the overwrite of LAT0/LAT1.

Never write byte 2 of IOCON register to avoid clearing of LAT0/LAT1.

Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
Tested-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20251001091006.4003841-4-viken.dadhaniya@oss.qualcomm.com
[mkl: add missing MCP251XFD_REG_IOCON_GPIO_MASK]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/spi/mcp251xfd/mcp251xfd-regmap.c
drivers/net/can/spi/mcp251xfd/mcp251xfd.h