[PATCH] dt-bindings: nvmem: mediatek: Convert binding to YAML

Allen-KH Cheng posted 1 patch 2 years, 5 months ago
.../devicetree/bindings/nvmem/mtk-efuse.txt   | 43 ------------
.../devicetree/bindings/nvmem/mtk-efuse.yaml  | 69 +++++++++++++++++++
2 files changed, 69 insertions(+), 43 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
create mode 100644 Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml
[PATCH] dt-bindings: nvmem: mediatek: Convert binding to YAML
Posted by Allen-KH Cheng 2 years, 5 months ago
Convert Mediatek EFUSE devicetree binding to YAML.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 .../devicetree/bindings/nvmem/mtk-efuse.txt   | 43 ------------
 .../devicetree/bindings/nvmem/mtk-efuse.yaml  | 69 +++++++++++++++++++
 2 files changed, 69 insertions(+), 43 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
 create mode 100644 Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml

diff --git a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt b/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
deleted file mode 100644
index 39d529599444..000000000000
--- a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-= Mediatek MTK-EFUSE device tree bindings =
-
-This binding is intended to represent MTK-EFUSE which is found in most Mediatek SOCs.
-
-Required properties:
-- compatible: should be
-	      "mediatek,mt7622-efuse", "mediatek,efuse": for MT7622
-	      "mediatek,mt7623-efuse", "mediatek,efuse": for MT7623
-	      "mediatek,mt8173-efuse" or "mediatek,efuse": for MT8173
-	      "mediatek,mt8192-efuse", "mediatek,efuse": for MT8192
-	      "mediatek,mt8195-efuse", "mediatek,efuse": for MT8195
-	      "mediatek,mt8516-efuse", "mediatek,efuse": for MT8516
-- reg: Should contain registers location and length
-- bits: contain the bits range by offset and size
-
-= Data cells =
-Are child nodes of MTK-EFUSE, bindings of which as described in
-bindings/nvmem/nvmem.txt
-
-Example:
-
-	efuse: efuse@10206000 {
-		compatible = "mediatek,mt8173-efuse";
-		reg	   = <0 0x10206000 0 0x1000>;
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		/* Data cells */
-		thermal_calibration: calib@528 {
-			reg = <0x528 0xc>;
-		};
-	};
-
-= Data consumers =
-Are device nodes which consume nvmem data cells.
-
-For example:
-
-	thermal {
-		...
-		nvmem-cells = <&thermal_calibration>;
-		nvmem-cell-names = "calibration";
-	};
diff --git a/Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml b/Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml
new file mode 100644
index 000000000000..307c05f69cb9
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/nvmem/mtk-efuse.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mediatek eFuse device tree bindings
+
+maintainers:
+  - Lala Lin <lala.lin@mediatek.com>
+  - Allen-KH Cheng <allen-kh.cheng@mediatek.com>
+
+allOf:
+  - $ref: "nvmem.yaml#"
+
+properties:
+  compatible:
+    oneOf:
+      - const: mediatek,efuse
+      - const: mediatek,mt8173-efuse
+      - items:
+          - enum:
+              - mediatek,mt7622-efuse
+              - mediatek,mt7623-efuse
+              - mediatek,mt8183-efuse
+              - mediatek,mt8192-efuse
+              - mediatek,mt8195-efuse
+              - mediatek,mt8516-efuse
+          - const: mediatek,efuse
+
+  reg:
+    maxItems: 1
+
+patternProperties:
+  "^.*@[0-9a-f]+$":
+    type: object
+
+    properties:
+      reg:
+        maxItems: 1
+        description:
+          Offset and size in bytes within the storage device.
+
+    required:
+      - reg
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+
+    efuse: efuse@10206000 {
+            compatible = "mediatek,mt8173-efuse";
+            reg = <0x10206000 0x1000>;
+            #address-cells = <1>;
+            #size-cells = <1>;
+
+            /* Data cells */
+            thermal_calibration: calib@528 {
+                reg = <0x528 0xc>;
+            };
+    };
+...
-- 
2.18.0
Re: [PATCH] dt-bindings: nvmem: mediatek: Convert binding to YAML
Posted by Krzysztof Kozlowski 2 years, 5 months ago
On 22/04/2022 14:38, Allen-KH Cheng wrote:
> Convert Mediatek EFUSE devicetree binding to YAML.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
>  .../devicetree/bindings/nvmem/mtk-efuse.txt   | 43 ------------
>  .../devicetree/bindings/nvmem/mtk-efuse.yaml  | 69 +++++++++++++++++++

Same comments as usual, so "vendor,device-name", e.g. "mediatek,efuse"
if this is going to match all possible future MediaTek chips or
"mediatek,mt7622-efuse"


Folks in MediaTek: it would be useful if we did not have to repeat same
review to all of you for every patch. If you keep forcing the reviewers
to repeat the same and the same, eventually they become grumpier and
grumpier. :)

>  2 files changed, 69 insertions(+), 43 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
>  create mode 100644 Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml
> 
> diff --git a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt b/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
> deleted file mode 100644
> index 39d529599444..000000000000
> --- a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -= Mediatek MTK-EFUSE device tree bindings =
> -
> -This binding is intended to represent MTK-EFUSE which is found in most Mediatek SOCs.
> -
> -Required properties:
> -- compatible: should be
> -	      "mediatek,mt7622-efuse", "mediatek,efuse": for MT7622
> -	      "mediatek,mt7623-efuse", "mediatek,efuse": for MT7623
> -	      "mediatek,mt8173-efuse" or "mediatek,efuse": for MT8173
> -	      "mediatek,mt8192-efuse", "mediatek,efuse": for MT8192
> -	      "mediatek,mt8195-efuse", "mediatek,efuse": for MT8195
> -	      "mediatek,mt8516-efuse", "mediatek,efuse": for MT8516
> -- reg: Should contain registers location and length
> -- bits: contain the bits range by offset and size
> -
> -= Data cells =
> -Are child nodes of MTK-EFUSE, bindings of which as described in
> -bindings/nvmem/nvmem.txt
> -
> -Example:
> -
> -	efuse: efuse@10206000 {
> -		compatible = "mediatek,mt8173-efuse";
> -		reg	   = <0 0x10206000 0 0x1000>;
> -		#address-cells = <1>;
> -		#size-cells = <1>;
> -
> -		/* Data cells */
> -		thermal_calibration: calib@528 {
> -			reg = <0x528 0xc>;
> -		};
> -	};
> -
> -= Data consumers =
> -Are device nodes which consume nvmem data cells.
> -
> -For example:
> -
> -	thermal {
> -		...
> -		nvmem-cells = <&thermal_calibration>;
> -		nvmem-cell-names = "calibration";
> -	};
> diff --git a/Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml b/Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml
> new file mode 100644
> index 000000000000..307c05f69cb9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/nvmem/mtk-efuse.yaml
> @@ -0,0 +1,69 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/nvmem/mtk-efuse.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Mediatek eFuse device tree bindings

s/device tree bindings//

Folks in MediaTek: it would be useful if we did not have to repeat same
review to all of you for every patch.

> +
> +maintainers:
> +  - Lala Lin <lala.lin@mediatek.com>
> +  - Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> +
> +allOf:
> +  - $ref: "nvmem.yaml#"
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - const: mediatek,efuse

1. Please add a comment for which compatible this is valid. Such generic
compatibles should not be used standalone. The binding was accepted
(without DT review), so it's done, but let's not spread it over new DTS.

Actually I would prefer to deprecate it in second patch.

2. Same comments as usual - this is enum.
Folks in MediaTek: it would be useful if we did not have to repeat same
review to all of you for every patch.

> +      - const: mediatek,mt8173-efuse
> +      - items:
> +          - enum:
> +              - mediatek,mt7622-efuse
> +              - mediatek,mt7623-efuse
> +              - mediatek,mt8183-efuse
> +              - mediatek,mt8192-efuse
> +              - mediatek,mt8195-efuse
> +              - mediatek,mt8516-efuse
> +          - const: mediatek,efuse
> +
> +  reg:
> +    maxItems: 1
> +
> +patternProperties:
> +  "^.*@[0-9a-f]+$":
> +    type: object

No need, it comes from nvmem.yaml.
> +
> +    properties:
> +      reg:
> +        maxItems: 1
> +        description:
> +          Offset and size in bytes within the storage device.
> +
> +    required:
> +      - reg
> +
> +    additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +

Unneeded blank line.

> +    efuse: efuse@10206000 {
> +            compatible = "mediatek,mt8173-efuse";
> +            reg = <0x10206000 0x1000>;
> +            #address-cells = <1>;
> +            #size-cells = <1>;
> +
> +            /* Data cells */
> +            thermal_calibration: calib@528 {
> +                reg = <0x528 0xc>;
> +            };
> +    };
> +...


Best regards,
Krzysztof