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]

 



Hi Rob,

On Fri, Sep 30, 2022 at 7:43 PM Rob Herring <robh@xxxxxxxxxx> wrote:
>
> 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.

Yes, this has to be removed :)

>
> >  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.

Understood.

>
> > +  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.

I see, I thought referring to this was enough since 'compatible' and
$nodename are defined in soc.yaml 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

Ok, since this is only for Broadcom platforms, I will move this
information to the soc.yaml schema and completely drop this patch in
v4.

Thanks for reviewing, Rob.

Best regards,
    Sergio Paracuellos

>
> Rob




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

  Powered by Linux