[PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property

Viken Dadhaniya posted 2 patches 1 week, 6 days ago
[PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property
Posted by Viken Dadhaniya 1 week, 6 days ago
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
Re: [PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property
Posted by Conor Dooley 1 week, 4 days ago
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
> 
Re: [PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property
Posted by Marc Kleine-Budde 1 week, 4 days ago
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   |
Re: [PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property
Posted by Conor Dooley 1 week, 4 days ago
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>
Re: [PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property
Posted by Viken Dadhaniya 3 days, 17 hours ago
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>
Re: [PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property
Posted by Marc Kleine-Budde 3 days, 17 hours ago
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   |
Re: [PATCH v3 1/2] dt-bindings: can: mcp251xfd: add microchip,xstbyen property
Posted by Marc Kleine-Budde 1 week, 4 days ago
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   |