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