[PATCH v3 0/2] can: mcp251xfd: add XSTBYEN transceiver standby control
From: Viken Dadhaniya
Date: Sat Mar 21 2026 - 09:50:51 EST
The MCP251xFD provides a dedicated transceiver standby control function
via the INT0/GPIO0/XSTBY pin, controlled by the XSTBYEN bit in IOCON.
When enabled, the hardware automatically drives the pin low while the
controller is active and high when it enters Sleep mode, allowing
automatic standby control of an external CAN transceiver without
software intervention.
This series adds driver support for the XSTBYEN-based transceiver
standby control feature.
Tested on QCS6490 RB3 Gen2 with a PCAN-USB FD adapter: the transceiver is
active in normal mode, CAN communication works correctly, and the pin is
automatically managed across sleep and wake transitions.
---
v2 -> v3:
- Dropped device Tree change from this series.
- Configure xstbyen pin before bringing the controller into normal mode.
- Add a check in mcp251xfd_gpio_request() to ensure that GPIO0 cannot be
used when xstbyen is enabled.
v2 Link: https://lore.kernel.org/all/20260316131950.859748-1-viken.dadhaniya@xxxxxxxxxxxxxxxx/
v1 -> v2:
- Drop the gpio-hog approach as suggested by Dmitry.
- Enable hardware‑managed transceiver standby control via the appropriate
Device Tree property.
v1 Link: https://lore.kernel.org/all/20260108125200.2803112-1-viken.dadhaniya@xxxxxxxxxxxxxxxx/
---
Viken Dadhaniya (2):
dt-bindings: can: mcp251xfd: add microchip,xstbyen property
can: mcp251xfd: add support for XSTBYEN transceiver standby control
.../bindings/net/can/microchip,mcp251xfd.yaml | 8 ++++
.../net/can/spi/mcp251xfd/mcp251xfd-core.c | 37 +++++++++++++++++++
drivers/net/can/spi/mcp251xfd/mcp251xfd.h | 1 +
3 files changed, 46 insertions(+)
--
2.34.1