Subject: Re: [PATCH 2/6] dt-bindings: net: marvell,dfx-server: Convert to yaml

From: Rob Herring <[email-masked]>
Date: Wed, 23 Nov 2022 16:10:23 -0600

On Thu, Nov 17, 2022 at 10:55:53PM +0100, Miquel Raynal wrote:
> Even though this description is not used anywhere upstream (no matching
> driver), while on this file I decided I would try a conversion to yaml
> in order to clarify the prestera family description.
> 
> I cannot keep the nodename dfx-server@xxxx so I switched to dfx-bus@xxxx
> which matches simple-bus.yaml. Otherwise I took the example context from
> the only user of this compatible: armada-xp-98dx3236.dtsi, which is a
> rather old and not perfect DT.
> 
> Signed-off-by: Miquel Raynal <[email-masked]>
> ---
> I am fine dropping this file entirely as well, if judged useless.
> ---
>  .../bindings/net/marvell,dfx-server.yaml      | 60 +++++++++++++++++++
>  .../bindings/net/marvell,prestera.txt         | 18 ------
>  2 files changed, 60 insertions(+), 18 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/marvell,dfx-server.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/marvell,dfx-server.yaml b/Documentation/devicetree/bindings/net/marvell,dfx-server.yaml
> new file mode 100644
> index 000000000000..72151a78396f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/marvell,dfx-server.yaml
> @@ -0,0 +1,60 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/marvell,dfx-server.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell Prestera DFX server
> +
> +maintainers:
> +  - Miquel Raynal <[email-masked]>
> +
> +select:
> +  properties:
> +    compatible:
> +      contains:
> +        const: marvell,dfx-server
> +  required:
> +    - compatible
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: marvell,dfx-server
> +      - const: simple-bus
> +
> +  reg: true

How many entries?

> +
> +  ranges: true
> +
> +  '#address-cells':
> +    const: 1
> +
> +  '#size-cells':
> +    const: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - ranges
> +
> +# The DFX server may expose clocks described as subnodes
> +additionalProperties: true

addtionalProperties:
  type: object

So that only nodes can be added.

> +
> +examples:
> +  - |
> +
> +    #define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
> +    bus@0 {
> +        reg = <0 0>;
> +        #address-cells = <2>;
> +        #size-cells = <1>;
> +
> +        dfx-bus@ac000000 {
> +            compatible = "marvell,dfx-server", "simple-bus";
> +            #address-cells = <1>;
> +            #size-cells = <1>;
> +            ranges = <0 MBUS_ID(0x08, 0x00) 0 0x100000>;
> +            reg = <MBUS_ID(0x08, 0x00) 0 0x100000>;
> +        };
> +    };