Re: [PATCH v3 3/3] dt-bindings: mips: brcm: convert CPU bindings for BMIPS architecture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 29, 2022 at 09:20:04AM +0200, Sergio Paracuellos wrote:
> Convert the yaml binding for available CPUs in BMIPS architecture.
> 
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> ---
>  .../bindings/mips/brcm/brcm,bmips-cpus.yaml   | 102 ++++++++++++++++++
>  .../bindings/mips/brcm/brcm,bmips.txt         |   8 --

Ah, here it is.

>  2 files changed, 102 insertions(+), 8 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/mips/brcm/brcm,bmips-cpus.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mips/brcm/brcm,bmips.txt
> 
> diff --git a/Documentation/devicetree/bindings/mips/brcm/brcm,bmips-cpus.yaml b/Documentation/devicetree/bindings/mips/brcm/brcm,bmips-cpus.yaml
> new file mode 100644
> index 000000000000..60aa7df9a543
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mips/brcm/brcm,bmips-cpus.yaml
> @@ -0,0 +1,102 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mips/brcm/brcm,bmips-cpus.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MIPS CPUs bindings
> +
> +maintainers:
> +  - Hauke Mehrtens <hauke@xxxxxxxxxx>
> +  - Rafał Miłecki <zajec5@xxxxxxxxx>
> +
> +description: |

Don't need '|' if no formatting to preserve.

> +  The device tree allows to describe the layout of BMIPS CPUs.
> +
> +patternProperties:
> +  "^/":
> +    type: object
> +    $ref: "/schemas/mips/brcm/soc.yaml#"

This is doesn't do anything.

Your schema is never applied either as 'select' defaults to false if 
there's not 'compaatible' or '$nodename' in the schema.

> +
> +properties:
> +  cpus:
> +    type: object
> +    additionalProperties: true
> +    properties:
> +      '#address-cells':
> +        const: 1
> +
> +      '#size-cells':
> +        const: 0
> +
> +      mips-hpt-frequency:
> +        description: This is common to all CPUs in the system so it lives
> +          under the "cpus" node.
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +
> +    patternProperties:
> +      "^cpu@[0-9]$":
> +        type: object
> +        $ref: "/schemas/mips/cpus.yaml#"
> +
> +    required:
> +      - '#address-cells'
> +      - '#size-cells'
> +
> +    allOf:
> +      - if:
> +          properties:
> +            compatible:
> +              contains:
> +                enum:
> +                  - "brcm,bcm3368"
> +                  - "brcm,bcm3384"
> +                  - "brcm,bcm33843"
> +                  - "brcm,bcm3384-viper"
> +                  - "brcm,bcm33843-viper"
> +                  - "brcm,bcm6328"
> +                  - "brcm,bcm6358"
> +                  - "brcm,bcm6362"
> +                  - "brcm,bcm6368"
> +                  - "brcm,bcm63168"
> +                  - "brcm,bcm63268"
> +                  - "brcm,bcm7125"
> +                  - "brcm,bcm7346"
> +                  - "brcm,bcm7358"
> +                  - "brcm,bcm7360"
> +                  - "brcm,bcm7362"
> +                  - "brcm,bcm7420"
> +                  - "brcm,bcm7425"
> +        then:
> +          required:
> +            - mips-hpt-frequency

Other than this property, the cpus.yaml schema in dtschema covers all 
this.

You allow mips-hpt-frequency on any platform including non-MIPS if this 
schema actually got applied. Is this intended for all MIPS platforms or 
just for Broadcom platforms? The former is hard to support as how do we 
express which platforms are MIPS in schemas. In the latter case, 
brcm/soc.yaml could have something like this:

properties:
  cpus:
    $ref: /schemas/cpus.yaml#
    unevaluatedProperties: false

    properties:
      mips-hpt-frequency:
        ...

    required:
      - mips-hpt-frequency

Rob



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux