On 13/07/2024 14:12, Stanislav Jakubek wrote: > Convert the Spreadtrum eFuse bindings to DT schema. Since they are very > similar, both of the existing Spreadtrum txt bindings were merged into > one common binding document, named after the only in-tree user, SC2731. > > Signed-off-by: Stanislav Jakubek <stano.jakubek@xxxxxxxxx> > --- > .../bindings/nvmem/sc27xx-efuse.txt | 52 ----------- > .../bindings/nvmem/sprd,sc2731-efuse.yaml | 88 +++++++++++++++++++ > .../devicetree/bindings/nvmem/sprd-efuse.txt | 39 -------- > 3 files changed, 88 insertions(+), 91 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt > create mode 100644 Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml > delete mode 100644 Documentation/devicetree/bindings/nvmem/sprd-efuse.txt > > diff --git a/Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt b/Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt > deleted file mode 100644 > index 586c08286aa9..000000000000 > --- a/Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt > +++ /dev/null > @@ -1,52 +0,0 @@ > -= Spreadtrum SC27XX PMIC eFuse device tree bindings = > - > -Required properties: > -- compatible: Should be one of the following. > - "sprd,sc2720-efuse" > - "sprd,sc2721-efuse" > - "sprd,sc2723-efuse" > - "sprd,sc2730-efuse" > - "sprd,sc2731-efuse" > -- reg: Specify the address offset of efuse controller. > -- hwlocks: Reference to a phandle of a hwlock provider node. > - > -= Data cells = > -Are child nodes of eFuse, bindings of which as described in > -bindings/nvmem/nvmem.txt > - > -Example: > - > - sc2731_pmic: pmic@0 { > - compatible = "sprd,sc2731"; > - reg = <0>; > - spi-max-frequency = <26000000>; > - interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; > - interrupt-controller; > - #interrupt-cells = <2>; > - #address-cells = <1>; > - #size-cells = <0>; > - > - efuse@380 { > - compatible = "sprd,sc2731-efuse"; > - reg = <0x380>; > - #address-cells = <1>; > - #size-cells = <1>; > - hwlocks = <&hwlock 12>; > - > - /* Data cells */ > - thermal_calib: calib@10 { > - reg = <0x10 0x2>; > - }; > - }; > - }; > - > -= Data consumers = > -Are device nodes which consume nvmem data cells. > - > -Example: > - > - thermal { > - ... > - nvmem-cells = <&thermal_calib>; > - nvmem-cell-names = "calibration"; > - }; > diff --git a/Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml b/Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml > new file mode 100644 > index 000000000000..98d1400991d7 > --- /dev/null > +++ b/Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml > @@ -0,0 +1,88 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/nvmem/sprd,sc2731-efuse.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Spreadtrum eFuse > + > +maintainers: > + - Orson Zhai <orsonzhai@xxxxxxxxx> > + - Baolin Wang <baolin.wang7@xxxxxxxxx> > + - Chunyan Zhang <zhang.lyra@xxxxxxxxx> > + > +properties: > + compatible: > + enum: > + - sprd,sc2720-efuse > + - sprd,sc2721-efuse > + - sprd,sc2723-efuse > + - sprd,sc2730-efuse > + - sprd,sc2731-efuse > + - sprd,ums312-efuse > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + const: enable > + > + hwlocks: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - hwlocks > + > +allOf: > + - $ref: nvmem.yaml# > + - $ref: nvmem-deprecated-cells.yaml# > + - if: > + properties: > + compatible: > + contains: > + const: sprd,ums312-efuse > + then: > + required: > + - clocks > + - clock-names > + else: > + properties: > + clocks: false > + clock-names: false Half of the binding is this "if:", so I would say they are not that similar. I think it would be easier to read them if these were split into two bindings. Best regards, Krzysztof