Hi, Krzysztof, On 4/10/2022 11:18 AM, Krzysztof Kozlowski wrote: > I am sorry, but you changed now a lot in the bindings and it looks > entirely different. Things previously being correct now are wrong, so > rather start from your old bindings... Looks like I'm a bit confused... I use dual "compatible" in my real dts and I realized that: 1. Therefore I have to use dual "compatible" in example too: compatible = "sercomm,sc-partitions", "fixed-partitions"; 2. When I'm trying to reuse "fixed-partitions" compatible from fixed-partitions.yaml in my new .yaml I get "too long" errors. Real dts: Link: https://github.com/openwrt/openwrt/blob/edcc1a9a734bb3fcdc9242025290d3f173e71b78/target/linux/ramips/dts/mt7621_beeline_smartbox-giga.dts#L79 So, I currently found another solution - to extend fixed-partitions.yaml with "sercomm,sc-partitions". Is It ok from your side? Can I use this code in v3? diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml index ea4cace6a955..9eebe39a57fb 100644 --- a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml +++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml @@ -19,7 +19,11 @@ maintainers: properties: compatible: - const: fixed-partitions + oneOf: + - const: fixed-partitions + - items: + - const: sercomm,sc-partitions + - const: fixed-partitions "#address-cells": true @@ -27,7 +31,18 @@ properties: patternProperties: "@[0-9a-f]+$": - $ref: "partition.yaml#" + allOf: + - $ref: "partition.yaml#" + - if: + properties: + compatible: + contains: + const: sercomm,sc-partitions + then: + properties: + scpart-id: + description: Partition id in Sercomm partition map + $ref: /schemas/types.yaml#/definitions/uint32 required: - "#address-cells" @@ -119,3 +134,29 @@ examples: }; }; }; + - | + partitions { + compatible = "sercomm,sc-partitions", "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x100000>; + scpart-id=<0>; + read-only; + }; + + partition@100000 { + label = "dynamic partition map"; + reg = <0x100000 0x100000>; + scpart-id = <1>; + }; + + partition@200000 { + label = "Factory"; + reg = <0x200000 0x100000>; + scpart-id = <2>; + read-only; + }; + }; -- 2.25.1 >> + >> +additionalProperties: true > This is wrong, why it became true? You're right. Got it > Best regards, > Krzysztof -- Best regards, Mikhail