* [PATCH v2 0/2] Add SEAMA partition types
@ 2023-07-05 10:17 Linus Walleij
2023-07-05 10:17 ` [PATCH v2 1/2] dt-bindings: mtd: Add SEAMA partition bindings Linus Walleij
2023-07-05 10:17 ` [PATCH v2 2/2] ARM: dts: bcm5301x: Add SEAMA compatibles Linus Walleij
0 siblings, 2 replies; 5+ messages in thread
From: Linus Walleij @ 2023-07-05 10:17 UTC (permalink / raw)
To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
Rob Herring, Krzysztof Kozlowski, Florian Fainelli,
Hauke Mehrtens, Rafał Miłecki,
Broadcom internal kernel review list
Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel,
Linus Walleij
This type of firmware partition appear in some devices in
NAND flash, so we need to be able to tag the partitions
with the appropriate type.
The origin of the "SEAttle iMAge" is unknown.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Changes in v2:
- Make the binding clearly childless
- Link to v1: https://lore.kernel.org/r/20230506-seama-partitions-v1-0-5806af1e4ac7@linaro.org
---
Linus Walleij (2):
dt-bindings: mtd: Add SEAMA partition bindings
ARM: dts: bcm5301x: Add SEAMA compatibles
.../bindings/mtd/partitions/partitions.yaml | 1 +
.../devicetree/bindings/mtd/partitions/seama.yaml | 50 ++++++++++++++++++++++
arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 1 +
arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 1 +
4 files changed, 53 insertions(+)
---
base-commit: 035cd1416934ef7ae5374272d3c9e378c3d7049c
change-id: 20230506-seama-partitions-b620117b9985
Best regards,
--
Linus Walleij <linus.walleij@linaro.org>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v2 1/2] dt-bindings: mtd: Add SEAMA partition bindings 2023-07-05 10:17 [PATCH v2 0/2] Add SEAMA partition types Linus Walleij @ 2023-07-05 10:17 ` Linus Walleij 2023-07-05 19:51 ` Rob Herring 2023-07-05 10:17 ` [PATCH v2 2/2] ARM: dts: bcm5301x: Add SEAMA compatibles Linus Walleij 1 sibling, 1 reply; 5+ messages in thread From: Linus Walleij @ 2023-07-05 10:17 UTC (permalink / raw) To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, Rob Herring, Krzysztof Kozlowski, Florian Fainelli, Hauke Mehrtens, Rafał Miłecki, Broadcom internal kernel review list Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, Linus Walleij This types of NAND partitions appear in OpenWrt and U-Boot. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- ChangeLog v1->v2: - Fix up the binding to be childless --- .../bindings/mtd/partitions/partitions.yaml | 1 + .../devicetree/bindings/mtd/partitions/seama.yaml | 50 ++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml index 2edc65e0e361..9bd0a8d800da 100644 --- a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml +++ b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml @@ -21,6 +21,7 @@ oneOf: - $ref: linksys,ns-partitions.yaml - $ref: qcom,smem-part.yaml - $ref: redboot-fis.yaml + - $ref: seama.yaml properties: compatible: true diff --git a/Documentation/devicetree/bindings/mtd/partitions/seama.yaml b/Documentation/devicetree/bindings/mtd/partitions/seama.yaml new file mode 100644 index 000000000000..5ed7764bba69 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/partitions/seama.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mtd/partitions/seama.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Seattle Image Partitions + +description: The SEAttle iMAge (SEAMA) partition is a type of partition + used for NAND flash devices. This type of flash image is found in some + D-Link routers such as DIR-645, DIR-842, DIR-859, DIR-860L, DIR-885L, + DIR890L and DCH-M225, as well as in WD and NEC routers on the ath79 + (MIPS), Broadcom BCM53xx, and RAMIPS platforms. This partition type + does not have children defined in the device tree, they need to be + detected by software. + +allOf: + - $ref: partition.yaml# + +maintainers: + - Linus Walleij <linus.walleij@linaro.org> + +select: false + +properties: + compatible: + const: seama + + '#address-cells': false + + '#size-cells': false + +required: + - compatible + +additionalProperties: false + +examples: + - | + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + compatible = "seama"; + reg = <0x0 0x800000>; + label = "firmware"; + }; + }; -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: mtd: Add SEAMA partition bindings 2023-07-05 10:17 ` [PATCH v2 1/2] dt-bindings: mtd: Add SEAMA partition bindings Linus Walleij @ 2023-07-05 19:51 ` Rob Herring 2023-07-07 17:34 ` Linus Walleij 0 siblings, 1 reply; 5+ messages in thread From: Rob Herring @ 2023-07-05 19:51 UTC (permalink / raw) To: Linus Walleij Cc: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, Krzysztof Kozlowski, Florian Fainelli, Hauke Mehrtens, Rafał Miłecki, Broadcom internal kernel review list, linux-mtd, devicetree, linux-kernel, linux-arm-kernel On Wed, Jul 05, 2023 at 12:17:46PM +0200, Linus Walleij wrote: > This types of NAND partitions appear in OpenWrt and > U-Boot. > > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > --- > ChangeLog v1->v2: > - Fix up the binding to be childless > --- > .../bindings/mtd/partitions/partitions.yaml | 1 + > .../devicetree/bindings/mtd/partitions/seama.yaml | 50 ++++++++++++++++++++++ > 2 files changed, 51 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml > index 2edc65e0e361..9bd0a8d800da 100644 > --- a/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml > +++ b/Documentation/devicetree/bindings/mtd/partitions/partitions.yaml > @@ -21,6 +21,7 @@ oneOf: > - $ref: linksys,ns-partitions.yaml > - $ref: qcom,smem-part.yaml > - $ref: redboot-fis.yaml > + - $ref: seama.yaml I think this is in the wrong place. These should be device level partitioning schemas, not an individual partition type. (Though nesting is possible) > > properties: > compatible: true > diff --git a/Documentation/devicetree/bindings/mtd/partitions/seama.yaml b/Documentation/devicetree/bindings/mtd/partitions/seama.yaml > new file mode 100644 > index 000000000000..5ed7764bba69 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mtd/partitions/seama.yaml > @@ -0,0 +1,50 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mtd/partitions/seama.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Seattle Image Partitions > + > +description: The SEAttle iMAge (SEAMA) partition is a type of partition > + used for NAND flash devices. This type of flash image is found in some > + D-Link routers such as DIR-645, DIR-842, DIR-859, DIR-860L, DIR-885L, > + DIR890L and DCH-M225, as well as in WD and NEC routers on the ath79 > + (MIPS), Broadcom BCM53xx, and RAMIPS platforms. This partition type > + does not have children defined in the device tree, they need to be > + detected by software. > + > +allOf: > + - $ref: partition.yaml# > + > +maintainers: > + - Linus Walleij <linus.walleij@linaro.org> > + > +select: false Remove this and your example will fail. You need unevaluatedProperties. There's a problem in partitions.yaml. It never gets applied, so this schema never gets applied. The default 'select' is generated based on $nodename or compatible, but it has neither. This needs some more thought on how to fix given the variable way partitions can be combined. Probably at a minimum, all the 'select: false' need to be removed. > + > +properties: > + compatible: > + const: seama > + > + '#address-cells': false > + > + '#size-cells': false > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + partition@0 { > + compatible = "seama"; > + reg = <0x0 0x800000>; > + label = "firmware"; > + }; > + }; > > -- > 2.34.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: mtd: Add SEAMA partition bindings 2023-07-05 19:51 ` Rob Herring @ 2023-07-07 17:34 ` Linus Walleij 0 siblings, 0 replies; 5+ messages in thread From: Linus Walleij @ 2023-07-07 17:34 UTC (permalink / raw) To: Rob Herring Cc: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, Krzysztof Kozlowski, Florian Fainelli, Hauke Mehrtens, Rafał Miłecki, Broadcom internal kernel review list, linux-mtd, devicetree, linux-kernel, linux-arm-kernel On Wed, Jul 5, 2023 at 9:51 PM Rob Herring <robh@kernel.org> wrote: > On Wed, Jul 05, 2023 at 12:17:46PM +0200, Linus Walleij wrote: > > - $ref: redboot-fis.yaml > > + - $ref: seama.yaml > > I think this is in the wrong place. These should be device level > partitioning schemas, not an individual partition type. (Though nesting > is possible) OK it wasn't there in v1, then Krzysztof said it should be there (if I understood correctly) and I will remove it again then. > > +select: false > > Remove this and your example will fail. You need unevaluatedProperties. OK > There's a problem in partitions.yaml. It never gets applied, so this > schema never gets applied. The default 'select' is generated based on > $nodename or compatible, but it has neither. This needs some more > thought on how to fix given the variable way partitions can be combined. > Probably at a minimum, all the 'select: false' need to be removed. I don't think I can fix this problem, I'm not that good with schema. I don't even understand the thinking around the existing partitions.yaml. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] ARM: dts: bcm5301x: Add SEAMA compatibles 2023-07-05 10:17 [PATCH v2 0/2] Add SEAMA partition types Linus Walleij 2023-07-05 10:17 ` [PATCH v2 1/2] dt-bindings: mtd: Add SEAMA partition bindings Linus Walleij @ 2023-07-05 10:17 ` Linus Walleij 1 sibling, 0 replies; 5+ messages in thread From: Linus Walleij @ 2023-07-05 10:17 UTC (permalink / raw) To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, Rob Herring, Krzysztof Kozlowski, Florian Fainelli, Hauke Mehrtens, Rafał Miłecki, Broadcom internal kernel review list Cc: linux-mtd, devicetree, linux-kernel, linux-arm-kernel, Linus Walleij This adds SEAMA compatibles to the firmware partition of these two D-Link devices. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 1 + arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts index 555fbe41dd8f..cf3000b07eea 100644 --- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts +++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts @@ -33,6 +33,7 @@ partitions { #size-cells = <1>; partition@0 { + compatible = "seama"; label = "firmware"; reg = <0x00000000 0x08000000>; }; diff --git a/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts index d945a20b06e0..3551f855ff20 100644 --- a/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts +++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts @@ -149,6 +149,7 @@ partitions { * partitions: this device uses SEAMA. */ firmware@0 { + compatible = "seama"; label = "firmware"; reg = <0x00000000 0x08000000>; }; -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-07-07 17:34 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-07-05 10:17 [PATCH v2 0/2] Add SEAMA partition types Linus Walleij 2023-07-05 10:17 ` [PATCH v2 1/2] dt-bindings: mtd: Add SEAMA partition bindings Linus Walleij 2023-07-05 19:51 ` Rob Herring 2023-07-07 17:34 ` Linus Walleij 2023-07-05 10:17 ` [PATCH v2 2/2] ARM: dts: bcm5301x: Add SEAMA compatibles Linus Walleij
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).