diff mbox series

[1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one

Message ID 20221102225943.157344-1-marex@denx.de
State Changes Requested, archived
Headers show
Series [1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 3 warnings, 75 lines checked
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Marek Vasut Nov. 2, 2022, 10:59 p.m. UTC
Convert the m41t80 text schema to YAML schema.
No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: linux-rtc@vger.kernel.org
To: devicetree@vger.kernel.org
---
 .../devicetree/bindings/rtc/rtc-m41t80.txt    | 39 ----------
 .../devicetree/bindings/rtc/rtc-m41t80.yaml   | 75 +++++++++++++++++++
 2 files changed, 75 insertions(+), 39 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/rtc/rtc-m41t80.txt
 create mode 100644 Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml

Comments

Krzysztof Kozlowski Nov. 3, 2022, 1:40 p.m. UTC | #1
On 02/11/2022 18:59, Marek Vasut wrote:
> Convert the m41t80 text schema to YAML schema.
> No functional change.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alessandro Zummo <a.zummo@towertech.it>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: linux-rtc@vger.kernel.org
> To: devicetree@vger.kernel.org
> ---
>  .../devicetree/bindings/rtc/rtc-m41t80.txt    | 39 ----------
>  .../devicetree/bindings/rtc/rtc-m41t80.yaml   | 75 +++++++++++++++++++
>  2 files changed, 75 insertions(+), 39 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/rtc/rtc-m41t80.txt
>  create mode 100644 Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
> 
> diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.txt b/Documentation/devicetree/bindings/rtc/rtc-m41t80.txt
> deleted file mode 100644
> index cdd196b1e9bdb..0000000000000
> --- a/Documentation/devicetree/bindings/rtc/rtc-m41t80.txt
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -ST M41T80 family of RTC and compatible
> -
> -Required properties:
> -- compatible: should be one of:
> -	"st,m41t62",
> -	"st,m41t65",
> -	"st,m41t80",
> -	"st,m41t81",
> -	"st,m41t81s",
> -	"st,m41t82",
> -	"st,m41t83",
> -	"st,m41t84",
> -	"st,m41t85",
> -	"st,m41t87",
> -	"microcrystal,rv4162",
> -- reg: I2C bus address of the device
> -
> -Optional properties:
> -- interrupts: rtc alarm interrupt.
> -- clock-output-names: From common clock binding to override the default output
> -                      clock name
> -- wakeup-source: Enables wake up of host system on alarm
> -
> -Optional child node:
> -- clock: Provide this if the square wave pin is used as boot-enabled fixed clock.
> -
> -Example:
> -	rtc@68 {
> -		compatible = "st,m41t80";
> -		reg = <0x68>;
> -		interrupt-parent = <&UIC0>;
> -		interrupts = <0x9 0x8>;
> -
> -		clock {
> -			compatible = "fixed-clock";
> -			#clock-cells = <0>;
> -			clock-frequency = <32768>;
> -		};
> -	};
> diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
> new file mode 100644
> index 0000000000000..7f31a22caec9b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml

Filename based on compatibles (more or less), so could be:
st,m41t80.yaml
or:
st,m41txx.yaml

The "rtc" name can be skipped as it is implied from subsystem folder,
unless st,m41txx is a name of some SoC?


> @@ -0,0 +1,75 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/rtc-m41t80.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ST M41T80 family of RTC and compatible
> +
> +maintainers:
> +  - Alexandre Belloni <alexandre.belloni@bootlin.com>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - st,m41t62
> +      - st,m41t65
> +      - st,m41t80
> +      - st,m41t81
> +      - st,m41t81s
> +      - st,m41t82
> +      - st,m41t83
> +      - st,m41t84
> +      - st,m41t85
> +      - st,m41t87
> +      - microcrystal,rv4162
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  "#clock-cells":
> +    const: 1

Hm, why do you have it?

> +
> +  clock-output-names:
> +    description: From common clock binding to override the default output clock name.

You need maxItems

> +
> +  wakeup-source:
> +    description: Enables wake up of host system on alarm.

Skip the property - it comes from rtc.yaml.

> +
> +  clock:
> +    type: object
> +    $ref: /schemas/clock/fixed-clock.yaml#
> +    properties:
> +      clock-frequency:
> +        const: 32768
> +

Best regards,
Krzysztof
Marek Vasut Nov. 3, 2022, 4:44 p.m. UTC | #2
On 11/3/22 14:40, Krzysztof Kozlowski wrote:

[...]

>> diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
>> new file mode 100644
>> index 0000000000000..7f31a22caec9b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
> 
> Filename based on compatibles (more or less), so could be:
> st,m41t80.yaml
> or:
> st,m41txx.yaml
> 
> The "rtc" name can be skipped as it is implied from subsystem folder,
> unless st,m41txx is a name of some SoC?

[...]

>> +  reg:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  "#clock-cells":
>> +    const: 1
> 
> Hm, why do you have it?

Because of the following warning:

$ make dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
   LINT    Documentation/devicetree/bindings
   DTEX    Documentation/devicetree/bindings/rtc/rtc-m41t80.example.dts
   CHKDT   Documentation/devicetree/bindings/processed-schema.json
Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml: properties: 
'#clock-cells' is a dependency of 'clock-output-names'

>> +
>> +  clock-output-names:
>> +    description: From common clock binding to override the default output clock name.
> 
> You need maxItems

Done

>> +
>> +  wakeup-source:
>> +    description: Enables wake up of host system on alarm.
> 
> Skip the property - it comes from rtc.yaml.

Done
Marek Vasut Nov. 3, 2022, 4:48 p.m. UTC | #3
On 11/3/22 14:40, Krzysztof Kozlowski wrote:

[...]

>> diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
>> new file mode 100644
>> index 0000000000000..7f31a22caec9b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
> 
> Filename based on compatibles (more or less), so could be:
> st,m41t80.yaml
> or:
> st,m41txx.yaml
> 
> The "rtc" name can be skipped as it is implied from subsystem folder,
> unless st,m41txx is a name of some SoC?

It's dedicated I2C RTC, a discrete soic8 chip with optional coin cell 
battery.

We cannot really call it m41txx because there are other m41txx chips 
with different register layouts and thus different RTC drivers:

next$ ls -1 drivers/rtc/*m41t*
drivers/rtc/rtc-m41t80.c
drivers/rtc/rtc-m41t93.c
drivers/rtc/rtc-m41t94.c

The m41t80 is a sane choice, the m41t80 was the first supported, the 
other chips are just compatible to it.

Whether I should drop the rtc- prefix or not, I will defer that 
preference to Alexandre .

[...]
Krzysztof Kozlowski Nov. 3, 2022, 5:13 p.m. UTC | #4
On 03/11/2022 12:44, Marek Vasut wrote:
> On 11/3/22 14:40, Krzysztof Kozlowski wrote:
> 
> [...]
> 
>>> diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
>>> new file mode 100644
>>> index 0000000000000..7f31a22caec9b
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
>>
>> Filename based on compatibles (more or less), so could be:
>> st,m41t80.yaml
>> or:
>> st,m41txx.yaml
>>
>> The "rtc" name can be skipped as it is implied from subsystem folder,
>> unless st,m41txx is a name of some SoC?
> 
> [...]
> 
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  interrupts:
>>> +    maxItems: 1
>>> +
>>> +  "#clock-cells":
>>> +    const: 1
>>
>> Hm, why do you have it?
> 
> Because of the following warning:
> 
> $ make dt_binding_check 
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
>    LINT    Documentation/devicetree/bindings
>    DTEX    Documentation/devicetree/bindings/rtc/rtc-m41t80.example.dts
>    CHKDT   Documentation/devicetree/bindings/processed-schema.json
> Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml: properties: 
> '#clock-cells' is a dependency of 'clock-output-names'

So mention any changes from pure conversion in commit msg.

Best regards,
Krzysztof
Krzysztof Kozlowski Nov. 3, 2022, 5:13 p.m. UTC | #5
On 03/11/2022 12:48, Marek Vasut wrote:
> On 11/3/22 14:40, Krzysztof Kozlowski wrote:
> 
> [...]
> 
>>> diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
>>> new file mode 100644
>>> index 0000000000000..7f31a22caec9b
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
>>
>> Filename based on compatibles (more or less), so could be:
>> st,m41t80.yaml
>> or:
>> st,m41txx.yaml
>>
>> The "rtc" name can be skipped as it is implied from subsystem folder,
>> unless st,m41txx is a name of some SoC?
> 
> It's dedicated I2C RTC, a discrete soic8 chip with optional coin cell 
> battery.
> 
> We cannot really call it m41txx because there are other m41txx chips 
> with different register layouts and thus different RTC drivers:
> 
> next$ ls -1 drivers/rtc/*m41t*
> drivers/rtc/rtc-m41t80.c
> drivers/rtc/rtc-m41t93.c
> drivers/rtc/rtc-m41t94.c
> 
> The m41t80 is a sane choice, the m41t80 was the first supported, the 
> other chips are just compatible to it.
> 
> Whether I should drop the rtc- prefix or not, I will defer that 
> preference to Alexandre .

so st,m41t80.yaml

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.txt b/Documentation/devicetree/bindings/rtc/rtc-m41t80.txt
deleted file mode 100644
index cdd196b1e9bdb..0000000000000
--- a/Documentation/devicetree/bindings/rtc/rtc-m41t80.txt
+++ /dev/null
@@ -1,39 +0,0 @@ 
-ST M41T80 family of RTC and compatible
-
-Required properties:
-- compatible: should be one of:
-	"st,m41t62",
-	"st,m41t65",
-	"st,m41t80",
-	"st,m41t81",
-	"st,m41t81s",
-	"st,m41t82",
-	"st,m41t83",
-	"st,m41t84",
-	"st,m41t85",
-	"st,m41t87",
-	"microcrystal,rv4162",
-- reg: I2C bus address of the device
-
-Optional properties:
-- interrupts: rtc alarm interrupt.
-- clock-output-names: From common clock binding to override the default output
-                      clock name
-- wakeup-source: Enables wake up of host system on alarm
-
-Optional child node:
-- clock: Provide this if the square wave pin is used as boot-enabled fixed clock.
-
-Example:
-	rtc@68 {
-		compatible = "st,m41t80";
-		reg = <0x68>;
-		interrupt-parent = <&UIC0>;
-		interrupts = <0x9 0x8>;
-
-		clock {
-			compatible = "fixed-clock";
-			#clock-cells = <0>;
-			clock-frequency = <32768>;
-		};
-	};
diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
new file mode 100644
index 0000000000000..7f31a22caec9b
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
@@ -0,0 +1,75 @@ 
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/rtc-m41t80.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ST M41T80 family of RTC and compatible
+
+maintainers:
+  - Alexandre Belloni <alexandre.belloni@bootlin.com>
+
+properties:
+  compatible:
+    enum:
+      - st,m41t62
+      - st,m41t65
+      - st,m41t80
+      - st,m41t81
+      - st,m41t81s
+      - st,m41t82
+      - st,m41t83
+      - st,m41t84
+      - st,m41t85
+      - st,m41t87
+      - microcrystal,rv4162
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  "#clock-cells":
+    const: 1
+
+  clock-output-names:
+    description: From common clock binding to override the default output clock name.
+
+  wakeup-source:
+    description: Enables wake up of host system on alarm.
+
+  clock:
+    type: object
+    $ref: /schemas/clock/fixed-clock.yaml#
+    properties:
+      clock-frequency:
+        const: 32768
+
+allOf:
+  - $ref: rtc.yaml
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+
+examples:
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+      rtc@68 {
+        compatible = "st,m41t80";
+        reg = <0x68>;
+        interrupt-parent = <&UIC0>;
+        interrupts = <0x9 0x8>;
+
+        clock {
+          compatible = "fixed-clock";
+          #clock-cells = <0>;
+          clock-frequency = <32768>;
+        };
+      };
+    };