Re: [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx

From: Krzysztof Kozlowski
Date: Thu Jun 01 2023 - 02:37:14 EST


On 01/06/2023 07:33, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@xxxxxxxxxxx>

You already sent v1. This patchset is attached to the previous thread
making it more complicated for me to process. This buries it deep in the
mailbox and might interfere with applying entire sets.

Is this the next version, so v3? You already had at least two versions
before, so this cannot be v1.

> ---
>
> Notes:
> v0 -> v1:
>
> - fixed compatible - now it specifies three boards
> - ts7250
> - bk3
> - edb9302
> - fixed identation in example
> - dropped labels
>
> .../devicetree/bindings/arm/ep93xx.yaml | 107 ++++++++++++++++++
> .../dt-bindings/clock/cirrus,ep93xx-clock.h | 53 +++++++++
> 2 files changed, 160 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
> create mode 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
>
> diff --git a/Documentation/devicetree/bindings/arm/ep93xx.yaml b/Documentation/devicetree/bindings/arm/ep93xx.yaml
> new file mode 100644
> index 000000000000..bcf9754d0763
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/ep93xx.yaml
> @@ -0,0 +1,107 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/ep93xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic EP93xx device tree bindings

No improvements.

> +
> +description: |+

no improvements. Do not need '|+' unless you need to preserve formatting.


> + The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
> +
> +maintainers:
> + - Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx>
> + - Nikita Shubin <nikita.shubin@xxxxxxxxxxx>
> +
> +properties:
> + $nodename:
> + const: '/'
> + compatible:
> + oneOf:
> + - description: The TS-7250 is a compact, full-featured Single Board Computer (SBC)
> + based upon the Cirrus EP9302 ARM9 CPU
> + items:
> + - const: technologic,ts7250
> + - const: cirrus,ep9301
> +
> + - description: The Liebherr BK3 is a derivate from ts7250 board
> + items:
> + - const: liebherr,bk3
> + - const: cirrus,ep9301
> +
> + - description: EDB302 is an evaluation board by Cirrus Logic,
> + based on a Cirrus Logic EP9302 CPU
> + items:
> + - const: cirrus,edb9302
> + - const: cirrus,ep9301
> +
> + soc:
> + type: object
> + patternProperties:
> + "^.*syscon@80930000$":
> + type: object
> + properties:
> + compatible:
> + items:
> + - const: cirrus,ep9301-syscon
> + - const: syscon
> + - const: simple-mfd
> + ep9301-reboot:
> + type: object
> + properties:
> + compatible:
> + const: cirrus,ep9301-reboot
> + required:
> + - compatible
> + - reg
> + - ep9301-reboot
> +
> + "^.*timer@80810000$":
> + type: object
> + properties:
> + compatible:
> + const: cirrus,ep9301-timer
> +
> + required:
> + - syscon@80930000
> + - timer@80810000

I don't understand what are you putting here. Why addresses are in
bindings (they should not be), why some nodes are documented in
top-level compatible. Drop all this.

Open existing files and look how it is done there.

> +
> +required:
> + - compatible
> + - soc> +
> +additionalProperties: true
> +
> +examples:
> + - |
> + / {
> + compatible = "technologic,ts7250", "cirrus,ep9301";
> + model = "TS-7250 SBC";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + soc {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> + compatible = "simple-bus";
> +
> + syscon@80930000 {
> + compatible = "cirrus,ep9301-syscon",
> + "syscon", "simple-mfd";
> + reg = <0x80930000 0x1000>;
> +
> + ep9301-reboot {
> + compatible = "cirrus,ep9301-reboot";
> + };
> + };
> +
> + timer@80810000 {
> + compatible = "cirrus,ep9301-timer";
> + reg = <0x80810000 0x100>;
> + interrupt-parent = <&vic1>;
> + interrupts = <19>;
> + };
> + };
> + };

Drop all this. There is no existing binding like that.

> +
> +...
> diff --git a/include/dt-bindings/clock/cirrus,ep93xx-clock.h b/include/dt-bindings/clock/cirrus,ep93xx-clock.h

Not related to top level compatible.

> new file mode 100644
> index 000000000000..6a8cf33d811b
> --- /dev/null
> +++ b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
> @@ -0,0 +1,53 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */

Dual license.

> +#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
> +#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
> +
> +#define EP93XX_CLK_XTALI 0
> +


Best regards,
Krzysztof