Re: [PATCH 2/4] dt-bindings: net: can: Make interrupt attributes optional for MCAN

From: Marc Kleine-Budde
Date: Thu Apr 20 2023 - 06:01:39 EST


On 19.04.2023 17:33:21, Judith Mendez wrote:
> For MCAN, remove interrupt and interrupt names from the required
> section.
>
> On AM62x SoC, MCANs on MCU domain do not have hardware interrupt
> routed to A53 Linux, instead they will use software interrupt
> by hrtimer. Make interrupt attributes optional in MCAN node
> by removing from required section.
>
> Signed-off-by: Judith Mendez <jm@xxxxxx>

This series basically adds polling support to the driver, which is
needed due to HW limitations.

The proposed logic in the driver is to use polling if
platform_get_irq_byname() fails (due to whatever reason) use polling
with a hard-coded interval.

In the kernel I've found the following properties that describe the
polling interval:

bindings/input/input.yaml:

| poll-interval:
| description: Poll interval time in milliseconds.
| $ref: /schemas/types.yaml#/definitions/uint32


bindings/thermal/thermal-zones.yaml:

| polling-delay:
| $ref: /schemas/types.yaml#/definitions/uint32
| description:
| The maximum number of milliseconds to wait between polls when
| checking this thermal zone. Setting this to 0 disables the polling
| timers setup by the thermal framework and assumes that the thermal
| sensors in this zone support interrupts.

bindings/regulator/dlg,da9121.yaml

| dlg,irq-polling-delay-passive-ms:
| minimum: 1000
| maximum: 10000
| description: |
| Specify the polling period, measured in milliseconds, between interrupt status
| update checks. Range 1000-10000 ms.

From my point of view the poll-interval from the input subsystem looks
good. Any objections to use it to specify the polling interval for
IRQ-less devices, too?

> ---
> Documentation/devicetree/bindings/net/can/bosch,m_can.yaml | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> index 67879aab623b..43f1aa9addc0 100644
> --- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> +++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml
> @@ -122,8 +122,6 @@ required:
> - compatible
> - reg
> - reg-names
> - - interrupts
> - - interrupt-names
> - clocks
> - clock-names
> - bosch,mram-cfg
> --
> 2.17.1
>
>

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 |

Attachment: signature.asc
Description: PGP signature