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 {
next prev parent 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.