dt-bindings: mtd: convert IBM NDFC binding to YAML
Subsystems (2)
PATCH v3 1/1 dt-bindings: mtd: convert IBM NDFC binding to YAML
The NDFC NAND flash controller was only described in a legacy text file, so dtbs_check reported "failed to match any schema with compatible:
['ibm,ndfc']" for the ndfc nodes of the bluestone, canyonlands, eiger, glacier, sequoia and warp device trees.
Convert the binding to the YAML format so those nodes match the generic nand-controller-legacy schema. Describe the node's reg, ccr and bank-settings properties, along with its "nand" chip node which carries the legacy partition layout.
---
v3: fix wrong regex
v2: fix reg value
.../devicetree/bindings/mtd/ibm,ndfc.txt | 39 -------- .../devicetree/bindings/mtd/ibm,ndfc.yaml | 88 +++++++++++++++++++ 2 files changed, 88 insertions(+), 39 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mtd/ibm,ndfc.txt create mode 100644 Documentation/devicetree/bindings/mtd/ibm,ndfc.yaml
Documentation/devicetree/bindings/mtd/ibm,ndfc.txt deleted +0 -39
@@ -1,39 +0,0 @@ -AMCC NDFC (NanD Flash Controller) - -Required properties: -- compatible : "ibm,ndfc". -- reg : should specify chip select and size used for the chip (0x2000). - -Optional properties: -- ccr : NDFC config and control register value (default 0). -- bank-settings : NDFC bank configuration register value (default 0). - -Notes: -- partition(s) - follows the OF MTD standard for partitions - -Example: - -ndfc@1,0 { - compatible = "ibm,ndfc"; - reg = <0x00000001 0x00000000 0x00002000>; - ccr = <0x00001000>; - bank-settings = <0x80002222>; - #address-cells = <1>; - #size-cells = <1>; - - nand { - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "kernel"; - reg = <0x00000000 0x00200000>; - }; - partition@200000 { - label = "root"; - reg = <0x00200000 0x03E00000>; - }; - }; -}; - -
Documentation/devicetree/bindings/mtd/ibm,ndfc.yaml new file +88 -0
88 lines not on this page · raw message
Signature · 1 line
2.55.0
[email protected]
AI reviewThank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Medium] dt-bindings: mtd: ibm,ndfc schema rejects modern partitions --
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dt-bindings: mtd: ibm,ndfc schema rejects modern partitions
--
commit f1a26fcb68368a1ab8dd195e7a927c46335d8315
Author: Rosen Penev <[email protected]>
dt-bindings: mtd: convert IBM NDFC binding to YAML
The NDFC NAND flash controller was only described in a legacy text file, so dtbs_check reported "failed to match any schema". This commit converts the binding to the YAML format.
Quoted 5 lines
Documentation/devicetree/bindings/mtd/ibm,ndfc.yaml new file +0
-0
[ ... ]
Quoted 10 lines
Documentation/devicetree/bindings/mtd/ibm,ndfc.yaml new file +10
-0+ bank-settings: + description: NDFC bank configuration register value. + $ref: /schemas/types.yaml#/definitions/uint32 + + nand: + type: object + description: NAND chip attached to the controller. + + properties: + "#address-cells":
Documentation/devicetree/bindings/mtd/ibm,ndfc.yaml line 51
Quoted 10 lines
Documentation/devicetree/bindings/mtd/ibm,ndfc.yaml new file +10
-0+ const: 1 + "#size-cells": + const: 1 + + patternProperties: + "^partition@[0-9a-f]+$": + $ref: /schemas/mtd/partitions/partition.yaml#/$defs/partition-node + deprecated: true + + unevaluatedProperties: false
[Severity: Medium]
Does this strict definition of the nand child node prevent device trees from using modern partition layouts?
Because unevaluatedProperties is set to false without a reference to /schemas/mtd/mtd.yaml# or /schemas/mtd/nand-chip.yaml#, the schema will reject modern generic MTD properties.
For example, if a device tree author updates their DTS files by replacing deprecated direct partition@ nodes with the modern partitions subnode (using compatible = "fixed-partitions"), dt_binding_check will fail.
Additionally, the node name nand (without a unit address) does not match the
^nand@[a-f0-9]$ regex in the inherited nand-controller-legacy.yaml.
Could this be updated to allow the correct modern alternatives?
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1