devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one
@ 2022-11-02 22:59 Marek Vasut
  2022-11-02 22:59 ` [PATCH 2/2] dt-bindings: rtc: m41t80: Mark the clock: subnode as deprecated Marek Vasut
  2022-11-03 13:40 ` [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Krzysztof Kozlowski
  0 siblings, 2 replies; 8+ messages in thread
From: Marek Vasut @ 2022-11-02 22:59 UTC (permalink / raw)
  To: devicetree
  Cc: Marek Vasut, Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

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
@@ -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>;
+        };
+      };
+    };
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/2] dt-bindings: rtc: m41t80: Mark the clock: subnode as deprecated
  2022-11-02 22:59 [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Marek Vasut
@ 2022-11-02 22:59 ` Marek Vasut
  2022-11-03 13:41   ` Krzysztof Kozlowski
  2022-11-03 13:40 ` [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Krzysztof Kozlowski
  1 sibling, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2022-11-02 22:59 UTC (permalink / raw)
  To: devicetree
  Cc: Marek Vasut, Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

The clock {} subnode seems like it is describing an always-on clock
generated by the PMIC. This should rather be modeled by consumer of
the clock taking phandle to the RTC node itself, since it already
does have clock-cells and all. Since there are no users of the clock
subnode in tree anyway, mark it as deprecated to avoid proliferation
of this approach.

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
---
 Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
index 7f31a22caec9b..ffe1e09f2c56e 100644
--- a/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
+++ b/Documentation/devicetree/bindings/rtc/rtc-m41t80.yaml
@@ -42,6 +42,7 @@ properties:
   clock:
     type: object
     $ref: /schemas/clock/fixed-clock.yaml#
+    deprecated: true
     properties:
       clock-frequency:
         const: 32768
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one
  2022-11-02 22:59 [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Marek Vasut
  2022-11-02 22:59 ` [PATCH 2/2] dt-bindings: rtc: m41t80: Mark the clock: subnode as deprecated Marek Vasut
@ 2022-11-03 13:40 ` Krzysztof Kozlowski
  2022-11-03 16:44   ` Marek Vasut
  2022-11-03 16:48   ` Marek Vasut
  1 sibling, 2 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-03 13:40 UTC (permalink / raw)
  To: Marek Vasut, devicetree
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/2] dt-bindings: rtc: m41t80: Mark the clock: subnode as deprecated
  2022-11-02 22:59 ` [PATCH 2/2] dt-bindings: rtc: m41t80: Mark the clock: subnode as deprecated Marek Vasut
@ 2022-11-03 13:41   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-03 13:41 UTC (permalink / raw)
  To: Marek Vasut, devicetree
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

On 02/11/2022 18:59, Marek Vasut wrote:
> The clock {} subnode seems like it is describing an always-on clock
> generated by the PMIC. This should rather be modeled by consumer of
> the clock taking phandle to the RTC node itself, since it already
> does have clock-cells and all. Since there are no users of the clock
> subnode in tree anyway, mark it as deprecated to avoid proliferation
> of this approach.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one
  2022-11-03 13:40 ` [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Krzysztof Kozlowski
@ 2022-11-03 16:44   ` Marek Vasut
  2022-11-03 17:13     ` Krzysztof Kozlowski
  2022-11-03 16:48   ` Marek Vasut
  1 sibling, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2022-11-03 16:44 UTC (permalink / raw)
  To: Krzysztof Kozlowski, devicetree
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one
  2022-11-03 13:40 ` [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Krzysztof Kozlowski
  2022-11-03 16:44   ` Marek Vasut
@ 2022-11-03 16:48   ` Marek Vasut
  2022-11-03 17:13     ` Krzysztof Kozlowski
  1 sibling, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2022-11-03 16:48 UTC (permalink / raw)
  To: Krzysztof Kozlowski, devicetree
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

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 .

[...]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one
  2022-11-03 16:44   ` Marek Vasut
@ 2022-11-03 17:13     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-03 17:13 UTC (permalink / raw)
  To: Marek Vasut, devicetree
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one
  2022-11-03 16:48   ` Marek Vasut
@ 2022-11-03 17:13     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-03 17:13 UTC (permalink / raw)
  To: Marek Vasut, devicetree
  Cc: Alessandro Zummo, Alexandre Belloni, Rob Herring,
	Krzysztof Kozlowski, linux-rtc

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-11-03 17:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-02 22:59 [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Marek Vasut
2022-11-02 22:59 ` [PATCH 2/2] dt-bindings: rtc: m41t80: Mark the clock: subnode as deprecated Marek Vasut
2022-11-03 13:41   ` Krzysztof Kozlowski
2022-11-03 13:40 ` [PATCH 1/2] dt-bindings: rtc: m41t80: Convert text schema to YAML one Krzysztof Kozlowski
2022-11-03 16:44   ` Marek Vasut
2022-11-03 17:13     ` Krzysztof Kozlowski
2022-11-03 16:48   ` Marek Vasut
2022-11-03 17:13     ` Krzysztof Kozlowski

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).