Re: [PATCH v5 2/6] dt: bindings: add mt7621-clk device tree binding documentation

From: Rob Herring
Date: Thu Dec 31 2020 - 17:40:13 EST


On Sun, Dec 20, 2020 at 10:37:20AM +0100, Sergio Paracuellos wrote:
> Adds device tree binding documentation for clocks in the
> MT7621 SOC.
>
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> ---
> .../bindings/clock/mediatek,mt7621-clk.yaml | 52 +++++++++++++++++++
> 1 file changed, 52 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/mediatek,mt7621-clk.yaml
>
> diff --git a/Documentation/devicetree/bindings/clock/mediatek,mt7621-clk.yaml b/Documentation/devicetree/bindings/clock/mediatek,mt7621-clk.yaml
> new file mode 100644
> index 000000000000..f58d01bdc82c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/mediatek,mt7621-clk.yaml
> @@ -0,0 +1,52 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/mediatek,mt7621-clk.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MT7621 Clock Device Tree Bindings
> +
> +maintainers:
> + - Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> +
> +description: |
> + The MT7621 has a PLL controller from where the cpu clock is provided
> + as well as derived clocks for the bus and the peripherals. It also
> + can gate SoC device clocks.
> +
> + Each clock is assigned an identifier and client nodes use this identifier
> + to specify the clock which they consume.
> +
> + All these identifiers could be found in:
> + [1]: <include/dt-bindings/clock/mt7621-clk.h>.
> +
> +properties:
> + compatible:
> + const: mediatek,mt7621-clk
> +
> + "#clock-cells":
> + description:
> + The first cell indicates the clock number, see [1] for available
> + clocks.
> + const: 1
> +
> + clock-output-names:
> + maxItems: 8
> +
> +required:
> + - compatible
> + - '#clock-cells'
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/mt7621-clk.h>
> +
> + pll {
> + compatible = "mediatek,mt7621-clk";
> + #clock-cells = <1>;
> + clock-output-names = "xtal", "cpu", "bus",
> + "50m", "125m", "150m",
> + "250m", "270m";

How do you access this h/w. There's nothing defined like 'reg' or
a parent node or...

The suggestion on v4 was to get rid of the child node by merging it with
the parent like this:

+ sysc: sysc@0 {
+ compatible = "mediatek,mt7621-sysc", "syscon";
+ reg = <0x0 0x100>;
+ #clock-cells = <1>;
+ clock-output-names = "xtal", "cpu", "bus",
+ "50m", "125m", "150m",
+ "250m", "270m";
+ };

Whether you need child nodes or not really depends on what all is in the
'mt7621-sysc' h/w block.

Rob