Add the boolean property 'microchip,xstbyen' to enable the dedicated
transceiver standby control function on the INT0/GPIO0/XSTBY pin of
the MCP251xFD family.
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
v2 -> v3:
- No change.
v2 Link: https://lore.kernel.org/all/20260316131950.859748-2-viken.dadhaniya@oss.qualcomm.com/
v1 -> v2:
- Drop the gpio-hog approach as suggested by Dmitry.
- Add the microchip,xstbyen property to enable transceiver standby control.
v1 Link: https://lore.kernel.org/all/20260108125200.2803112-2-viken.dadhaniya@oss.qualcomm.com/
---
.../devicetree/bindings/net/can/microchip,mcp251xfd.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml
index 2d13638ebc6a..28e494262cd9 100644
--- a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml
+++ b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml
@@ -44,6 +44,14 @@ properties:
signals a pending RX interrupt.
maxItems: 1
+ microchip,xstbyen:
+ type: boolean
+ description:
+ If present, configure the INT0/GPIO0/XSTBY pin as transceiver standby
+ control. The pin is driven low when the controller is active and high
+ when it enters Sleep mode, allowing automatic standby control of an
+ external CAN transceiver connected to this pin.
+
spi-max-frequency:
description:
Must be half or less of "clocks" frequency.
--
2.34.1
On Sat, Mar 21, 2026 at 07:20:30PM +0530, Viken Dadhaniya wrote: > Add the boolean property 'microchip,xstbyen' to enable the dedicated > transceiver standby control function on the INT0/GPIO0/XSTBY pin of > the MCP251xFD family. > > Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com> > --- > v2 -> v3: > > - No change. > > v2 Link: https://lore.kernel.org/all/20260316131950.859748-2-viken.dadhaniya@oss.qualcomm.com/ > > v1 -> v2: > > - Drop the gpio-hog approach as suggested by Dmitry. > - Add the microchip,xstbyen property to enable transceiver standby control. > > v1 Link: https://lore.kernel.org/all/20260108125200.2803112-2-viken.dadhaniya@oss.qualcomm.com/ > --- > .../devicetree/bindings/net/can/microchip,mcp251xfd.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > index 2d13638ebc6a..28e494262cd9 100644 > --- a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > +++ b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > @@ -44,6 +44,14 @@ properties: > signals a pending RX interrupt. > maxItems: 1 > > + microchip,xstbyen: > + type: boolean > + description: > + If present, configure the INT0/GPIO0/XSTBY pin as transceiver standby > + control. The pin is driven low when the controller is active and high > + when it enters Sleep mode, allowing automatic standby control of an > + external CAN transceiver connected to this pin. What I don't understand from this patch is why a property for this is required. Why can't this mode be implied from the lack of rx-int-gpios or interrupts? > + > spi-max-frequency: > description: > Must be half or less of "clocks" frequency. > -- > 2.34.1 >
On 23.03.2026 19:30:00, Conor Dooley wrote: > > diff --git a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > > index 2d13638ebc6a..28e494262cd9 100644 > > --- a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > > +++ b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > > @@ -44,6 +44,14 @@ properties: > > signals a pending RX interrupt. > > maxItems: 1 > > > > + microchip,xstbyen: > > + type: boolean > > + description: > > + If present, configure the INT0/GPIO0/XSTBY pin as transceiver standby > > + control. The pin is driven low when the controller is active and high > > + when it enters Sleep mode, allowing automatic standby control of an > > + external CAN transceiver connected to this pin. > > What I don't understand from this patch is why a property for this is > required. > Why can't this mode be implied from the lack of rx-int-gpios or > interrupts? The mcp251xfd has 2 GPIO pins. "rx-int-gpios" is for the other pin: INT1/GPIO1. Also by default I don't want the controller to drive a pin in a certain direction. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
On Mon, Mar 23, 2026 at 09:37:24PM +0100, Marc Kleine-Budde wrote: > On 23.03.2026 19:30:00, Conor Dooley wrote: > > > diff --git a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > > > index 2d13638ebc6a..28e494262cd9 100644 > > > --- a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > > > +++ b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > > > @@ -44,6 +44,14 @@ properties: > > > signals a pending RX interrupt. > > > maxItems: 1 > > > > > > + microchip,xstbyen: > > > + type: boolean > > > + description: > > > + If present, configure the INT0/GPIO0/XSTBY pin as transceiver standby > > > + control. The pin is driven low when the controller is active and high > > > + when it enters Sleep mode, allowing automatic standby control of an > > > + external CAN transceiver connected to this pin. > > > > What I don't understand from this patch is why a property for this is > > required. > > Why can't this mode be implied from the lack of rx-int-gpios or > > interrupts? > > The mcp251xfd has 2 GPIO pins. "rx-int-gpios" is for the other pin: > INT1/GPIO1. Also by default I don't want the controller to drive a pin > in a certain direction. Oke. Acked-by: Conor Dooley <conor.dooley@microchip.com>
Hi Marc, Could you please let me know if the driver change looks acceptable to be merged? Once merged, I will proceed with posting the device-tree change. Thanks Viken On 3/24/2026 3:00 AM, Conor Dooley wrote: > On Mon, Mar 23, 2026 at 09:37:24PM +0100, Marc Kleine-Budde wrote: >> On 23.03.2026 19:30:00, Conor Dooley wrote: >>>> diff --git a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml >>>> index 2d13638ebc6a..28e494262cd9 100644 >>>> --- a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml >>>> +++ b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml >>>> @@ -44,6 +44,14 @@ properties: >>>> signals a pending RX interrupt. >>>> maxItems: 1 >>>> >>>> + microchip,xstbyen: >>>> + type: boolean >>>> + description: >>>> + If present, configure the INT0/GPIO0/XSTBY pin as transceiver standby >>>> + control. The pin is driven low when the controller is active and high >>>> + when it enters Sleep mode, allowing automatic standby control of an >>>> + external CAN transceiver connected to this pin. >>> >>> What I don't understand from this patch is why a property for this is >>> required. >>> Why can't this mode be implied from the lack of rx-int-gpios or >>> interrupts? >> >> The mcp251xfd has 2 GPIO pins. "rx-int-gpios" is for the other pin: >> INT1/GPIO1. Also by default I don't want the controller to drive a pin >> in a certain direction. > > Oke. > Acked-by: Conor Dooley <conor.dooley@microchip.com>
On 31.03.2026 12:15:26, Viken Dadhaniya wrote: > Could you please let me know if the driver change looks acceptable to be merged? > Once merged, I will proceed with posting the device-tree change. Applied to linux-can-next. It will be included in my next PR. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
On 21.03.2026 19:20:30, Viken Dadhaniya wrote: > Add the boolean property 'microchip,xstbyen' to enable the dedicated > transceiver standby control function on the INT0/GPIO0/XSTBY pin of > the MCP251xFD family. > > Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com> This series looks good to me, I think we need an Acked by the DT people. regards, Marc > --- > v2 -> v3: > > - No change. > > v2 Link: https://lore.kernel.org/all/20260316131950.859748-2-viken.dadhaniya@oss.qualcomm.com/ > > v1 -> v2: > > - Drop the gpio-hog approach as suggested by Dmitry. > - Add the microchip,xstbyen property to enable transceiver standby control. > > v1 Link: https://lore.kernel.org/all/20260108125200.2803112-2-viken.dadhaniya@oss.qualcomm.com/ > --- > .../devicetree/bindings/net/can/microchip,mcp251xfd.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > index 2d13638ebc6a..28e494262cd9 100644 > --- a/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > +++ b/Documentation/devicetree/bindings/net/can/microchip,mcp251xfd.yaml > @@ -44,6 +44,14 @@ properties: > signals a pending RX interrupt. > maxItems: 1 > > + microchip,xstbyen: > + type: boolean > + description: > + If present, configure the INT0/GPIO0/XSTBY pin as transceiver standby > + control. The pin is driven low when the controller is active and high > + when it enters Sleep mode, allowing automatic standby control of an > + external CAN transceiver connected to this pin. > + > spi-max-frequency: > description: > Must be half or less of "clocks" frequency. > -- > 2.34.1 > > > -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung Nürnberg | Phone: +49-5121-206917-129 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
© 2016 - 2026 Red Hat, Inc.