[PATCH] dt-bindings: timer: Update TI timer to yaml and add compatible for am6

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Fri Apr 8 01:32:36 PDT 2022


On 08/04/2022 10:12, Tony Lindgren wrote:
> Let's update the TI timer binding to use yaml. And add compatible for
> ti,am654-timer for TI am64, am65 and j72 SoCs. As the timer hardware is
> the same between am64, am65 and j72 we use the compatible name for the
> earliest SoC with this timer.
> 
> As this binding is specific to the TI dual-mode timers also known
> as dm-timers, let's use ti,timer-dm.yaml naming for the new file.

Thank you for your patch. There is something to discuss/improve.

> ---
>  .../bindings/timer/ti,timer-dm.yaml           | 105 ++++++++++++++++++
>  .../devicetree/bindings/timer/ti,timer.txt    |  44 --------

pwm-omap-dmtimer.txt references old path.


>  2 files changed, 105 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/timer/ti,timer-dm.yaml
>  delete mode 100644 Documentation/devicetree/bindings/timer/ti,timer.txt
> 
> diff --git a/Documentation/devicetree/bindings/timer/ti,timer-dm.yaml b/Documentation/devicetree/bindings/timer/ti,timer-dm.yaml
> new file mode 100644
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/ti,timer-dm.yaml
> @@ -0,0 +1,105 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/ti,timer-dm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Binding for TI dual-mode timer

"TI dual-mode timer"

> +
> +maintainers:
> +  - Tony Lindgren <tony at atomide.com>
> +
> +description: |
> +  The TI dual-mode timer is a general purpose timer with PWM capabilities.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - ti,omap2420-timer
> +      - ti,omap3430-timer
> +      - ti,omap4430-timer
> +      - ti,omap5430-timer
> +      - ti,am335x-timer
> +      - ti,am335x-timer-1ms
> +      - ti,am654-timer

How about ordering the entries by name (so amxxx before omapxxx)?

> +
> +  reg:
> +    minItems: 1
> +    maxItems: 2
> +    description: Timer IO register range

This was maxItems:1 in old binding, so please mention briefly in commit
msg why the change is needed. If only some versions need it, then add
allOf:if:then: constraints.

> +
> +  '#address-cells':
> +    enum: [ 1, 2 ]
> +
> +  '#size-cells':
> +    enum: [ 1, 2 ]

The same. Are these changes to the binding an effect of new compatible?
If yes, better to split it into two patches. One for old binding
(passing dtbs_check on old compatibles) and one for new compatible with
new properties.

> +
> +  clocks:
> +    description:
> +      The functional clock for the timer. Some SoCs like omap24xx also have a
> +      separate interface clock, and some clocks may be only defined for the
> +      interconnect target module parent.
> +    minItems: 1
> +    maxItems: 2

The same - not mentioned in commit msg.

> +
> +  clock-names:
> +    description:
> +      Timer clock names like "fck", "timer_sys_ck".
> +    oneOf:
> +      - enum: [ ick, fck ]
> +      - items:
> +          - const: fck
> +          - enum: [ ick, timer_sys_ck ]

Are the combinations depending on compatible? If so, you need allOf:if:then:

> +
> +  interrupts:
> +    description:
> +      Interrupt if available. The timer PWM features may be usable
> +      in a limited way even without interrupts.
> +    maxItems: 1
> +
> +  ti,timer-alwon:
> +    description:
> +      Timer is always enabled when the SoC is powered. Note that some SoCs like
> +      am335x can suspend to PM coprocessor RTC only mode and in that case the
> +      SoC power is cut including timers.
> +    type: boolean
> +
> +  ti,timer-dsp:
> +    description:
> +      Timer is routable to the DSP in addition to the operating system.
> +    type: boolean
> +
> +  ti,timer-pwm:
> +    description:
> +      Timer has been wired for PWM capability.
> +    type: boolean
> +
> +  ti,timer-secure:
> +    description:
> +      Timer access has been limited to secure mode only.
> +    type: boolean
> +
> +  ti,hwmods:
> +    description:
> +      Name of the HWMOD associated with timer. This is for legacy
> +      omap2/3 platforms only.
> +    $ref: /schemas/types.yaml#/definitions/string
> +    deprecated: true
> +
> +required:
> +  - compatible
> +  - reg

Missing interrupts - they were required. Aren't anymore?

> +
> +additionalProperties: false
> +


Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list