All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Matthew Gerlach <matthew.gerlach@altera.com>
Cc: krzk+dt@kernel.org, conor+dt@kernel.org, mturquette@baylibre.com,
	sboyd@kernel.org, dinguyen@kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-clk@vger.kernel.org
Subject: Re: [PATCH v2] dt-bindings: clock: socfpga: convert to yaml
Date: Wed, 23 Apr 2025 15:07:28 -0500	[thread overview]
Message-ID: <20250423200728.GA954453-robh@kernel.org> (raw)
In-Reply-To: <20250423150318.27101-1-matthew.gerlach@altera.com>

On Wed, Apr 23, 2025 at 08:03:18AM -0700, Matthew Gerlach wrote:
> Convert the clock device tree bindings to yaml for the Altera SoCFPGA
> Cyclone5, Arria5, and Arria10 chip families. Since the clock nodes are
> subnodes to Altera SOCFPGA Clock Manager, the yaml was added to
> socfpga-clk-manager.yaml.
> 
> Signed-off-by: Matthew Gerlach <matthew.gerlach@altera.com>
> ---
> v2:
>  - Fix node name regexs.
>  - Remove redundant type for clocks.
>  - Put repeated properties under '$defs'.
>  - Move reg property after compatible.
> ---
>  .../arm/altera/socfpga-clk-manager.yaml       | 129 +++++++++++++++++-
>  .../bindings/clock/altr_socfpga.txt           |  30 ----
>  2 files changed, 128 insertions(+), 31 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/clock/altr_socfpga.txt
> 
> diff --git a/Documentation/devicetree/bindings/arm/altera/socfpga-clk-manager.yaml b/Documentation/devicetree/bindings/arm/altera/socfpga-clk-manager.yaml
> index 572381306681..6f09458f22a4 100644
> --- a/Documentation/devicetree/bindings/arm/altera/socfpga-clk-manager.yaml
> +++ b/Documentation/devicetree/bindings/arm/altera/socfpga-clk-manager.yaml
> @@ -9,20 +9,147 @@ title: Altera SOCFPGA Clock Manager
>  maintainers:
>    - Dinh Nguyen <dinguyen@kernel.org>
>  
> -description: test
> +description:
> +  This binding describes the Altera SOCFGPA Clock Manager and its associated
> +  tree of clocks, pll's, and clock gates for the Cyclone5, Arria5 and Arria10
> +  chip families.
>  
>  properties:
>    compatible:
>      items:
>        - const: altr,clk-mgr
> +
>    reg:
>      maxItems: 1
>  
> +  clocks:
> +    type: object
> +    additionalProperties: false
> +
> +    properties:
> +      "#address-cells":
> +        const: 1
> +
> +      "#size-cells":
> +        const: 0
> +
> +    patternProperties:
> +      "^osc[0-9]$":
> +        type: object
> +
> +      "^[a-z0-9,_]+(clk|pll|clk_gate|clk_divided)(@[a-f0-9]+)?$":
> +        type: object
> +        additionalProperties: false

Add another level to $defs and move the reference here:

           $ref: '#/$defs/clock-props'
           unevaluatedProperties: false

You can also move 'reg' and '#clock-cells' into $defs/clock-props.

> +
> +        properties:
> +
> +          compatible:
> +            enum:
> +              - altr,socfpga-pll-clock
> +              - altr,socfpga-perip-clk
> +              - altr,socfpga-gate-clk
> +              - altr,socfpga-a10-pll-clock
> +              - altr,socfpga-a10-perip-clk
> +              - altr,socfpga-a10-gate-clk
> +              - fixed-clock
> +
> +          reg:
> +            maxItems: 1
> +
> +          clocks:
> +            description: one or more phandles to input clock
> +            minItems: 1
> +            maxItems: 5
> +
> +          "#address-cells":
> +            const: 1
> +
> +          "#clock-cells":
> +            const: 0
> +
> +          "#size-cells":
> +            const: 0
> +

> +          clk-gate:
> +            $ref: '#/$defs/clk-gate'
> +            unevaluatedProperties: false
> +
> +          div-reg:
> +            $ref: '#/$defs/div-reg'
> +            unevaluatedProperties: false
> +
> +          fixed-divider:
> +            $ref: '#/$defs/fixed-divider'
> +            unevaluatedProperties: false

And then drop all these. Same in the child node below.

> +
> +        patternProperties:
> +          "^[a-z0-9,_]+(clk|pll)(@[a-f0-9]+)?$":
> +            type: object
> +            additionalProperties: false
> +
> +            properties:
> +              compatible:
> +                enum:
> +                  - altr,socfpga-perip-clk
> +                  - altr,socfpga-gate-clk
> +                  - altr,socfpga-a10-perip-clk
> +                  - altr,socfpga-a10-gate-clk
> +
> +              reg:
> +                maxItems: 1
> +
> +              "#clock-cells":
> +                const: 0
> +
> +              clocks:
> +                description: one or more phandles to input clock
> +                minItems: 1
> +                maxItems: 4
> +
> +              clk-gate:
> +                $ref: '#/$defs/clk-gate'
> +                unevaluatedProperties: false
> +
> +              div-reg:
> +                $ref: '#/$defs/div-reg'
> +                unevaluatedProperties: false
> +
> +              fixed-divider:
> +                $ref: '#/$defs/fixed-divider'
> +                unevaluatedProperties: false
> +
> +            required:
> +              - compatible
> +              - clocks
> +              - "#clock-cells"
> +
> +        required:
> +          - compatible
> +          - "#clock-cells"
> +
>  required:
>    - compatible
> +  - reg
>  
>  additionalProperties: false
>  
> +$defs:
> +  clk-gate:
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    items:
> +      - description: gating register offset
> +      - description: bit index
> +
> +  div-reg:
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    items:
> +      - description: divider register offset
> +      - description: bit shift
> +      - description: bit width
> +
> +  fixed-divider:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +
>  examples:
>    - |
>      clkmgr@ffd04000 {

  reply	other threads:[~2025-04-23 20:07 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-23 15:03 [PATCH v2] dt-bindings: clock: socfpga: convert to yaml Matthew Gerlach
2025-04-23 20:07 ` Rob Herring [this message]
2025-04-23 21:43   ` Gerlach, Matthew

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250423200728.GA954453-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dinguyen@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew.gerlach@altera.com \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.