On 4/29/2022 9:46 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. > Yes, the fixed-partitions.yaml would have to be changed to allow extension. Well. >> 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? > Not really, I don't understand why do you need it The main idea is keeping original Sercomm firmware behavior: 1. If dynamic partition map found then use offsets and mtd sizes stored in partition map. It's provided by "sercomm,sc-partitions" compatible. 2. If dynamic partition map doesn't exist or broken then default values (from dts) are used. It's provided by "fixed-partitions" compatible. > and it does not > include our previous talks. At the time, I didn't realize how important is it. Understanding began to come after dozens of experiments and checking the similar Linux patches. >> 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: > It still misses vendor prefix and we agreed you don't need it, didn't we? Do you mean "sercomm" vendor prefix? If so then we agreed that I include it in a separate patch: Link: https://lore.kernel.org/linux-mtd/1b391399-984b-7a63-3265-62ef09caec39@xxxxxxxxx/ I'm going to send it in v3: --- dt-bindings: Add Sercomm (Suzhou) Corporation vendor prefix Update Documentation/devicetree/bindings/vendor-prefixes.yaml to include "sercomm" as a vendor prefix for "Sercomm (Suzhou) Corporation". Company website: Link: https://www.sercomm.com/ Signed-off-by: Mikhail Zhilkin <csharper2005@xxxxxxxxx> --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 01430973ecec..65ff22364fb3 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -1082,6 +1082,8 @@ patternProperties: description: Sensirion AG "^sensortek,.*": description: Sensortek Technology Corporation + "^sercomm,.*": + description: Sercomm (Suzhou) Corporation "^sff,.*": description: Small Form Factor Committee "^sgd,.*": -- 2.25.1 > Best regards, > Krzysztof -- Best regards, Mikhail