On Mon, Sep 20, 2021 at 06:06:51PM +0300, Serge Semin wrote:Yeah right
Hello ApurvaYes, as mentioned there's patches doing this. But the above is fine.
On Mon, Sep 20, 2021 at 07:57:12PM +0530, Apurva Nandan wrote:
Convert spi-nand.txt binding to YAML format with an added example.Thanks for the bindings conversion patch. There are several comments
Signed-off-by: Apurva Nandan <a-nandan@xxxxxx>
---
.../devicetree/bindings/mtd/spi-nand.txt | 5 --
.../devicetree/bindings/mtd/spi-nand.yaml | 62 +++++++++++++++++++
2 files changed, 62 insertions(+), 5 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mtd/spi-nand.txt
create mode 100644 Documentation/devicetree/bindings/mtd/spi-nand.yaml
below. But before addressing them it would be better to also get a
response from Rob.
diff --git a/Documentation/devicetree/bindings/mtd/spi-nand.txt b/Documentation/devicetree/bindings/mtd/spi-nand.txtSince it's an SPI-client device there are more than these properties
deleted file mode 100644
index 8b51f3b6d55c..000000000000
--- a/Documentation/devicetree/bindings/mtd/spi-nand.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-SPI NAND flash
-
-Required properties:
-- compatible: should be "spi-nand"
-- reg: should encode the chip-select line used to access the NAND chip
diff --git a/Documentation/devicetree/bindings/mtd/spi-nand.yaml b/Documentation/devicetree/bindings/mtd/spi-nand.yaml
new file mode 100644
index 000000000000..601beba8d971
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/spi-nand.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/spi-nand.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SPI NAND flash
+
+maintainers:
+ - Apurva Nandan <a-nandan@xxxxxx>
+
+allOf:
+ - $ref: "mtd.yaml#"
+
+properties:
+ compatible:
+ const: spi-nand
+
+ reg:
+ maxItems: 1
+
+ spi-max-frequency: true
+ spi-rx-bus-width: true
+ spi-tx-bus-width: true
+ rx-sample-delay-ns: true
could be set for it. See the SPI-controller bindings schema:
Documentation/devicetree/bindings/spi/spi-controller.yaml
So there is two possible ways to make it more generic:
1) Detach the spi-client part from the spi-controller.yaml bindings
into a dedicated DT-schema file and refer to that new scheme from
here.
There's some value in defining here which properties are valid.
Yeah, we have SPI NANDs >4GB, and "'#address-cells': true" allows those sizes.2) Forget about these controller-specific properties and let theNo SPI nand devices >4GB?
parental SPI-controller bindings parsing them. Of course there must be
at least one of the next properties declared for it to work:
{unevaluatedProperties, additionalProperties}.
It's up to Rob to decided which approach is better though...
+Aren't they always equal to 1?
+ '#address-cells': true
+ '#size-cells': true
That should probably all be in mtd.yaml. The question here is whether+I'd suggest to elaborate the way the partition sub-nodes looks
+additionalProperties:
+ type: object
like, for instance, the node names, supported compatible names,
labels, etc.
partitions are always under a 'partitions' node. Maybe this is new
enough that only the new way has to be supported. Though if mtd.yaml
supported both forms, allowing both all the time is okay IMO.
Rob