Re: [PATCH 1/1] dt-bindings: rtc: convert hym8563 bindings to json-schema

From: Johan Jonker
Date: Thu Oct 27 2022 - 12:30:02 EST




On 10/27/22 18:26, Sebastian Reichel wrote:
> Hi,
>
> On Thu, Oct 27, 2022 at 06:11:19PM +0200, Johan Jonker wrote:
>> On 10/25/22 00:05, Sebastian Reichel wrote:
>>> On Mon, Oct 24, 2022 at 01:50:49PM -0500, Rob Herring wrote:
>>>> On Fri, Oct 21, 2022 at 07:59:26PM -0400, Krzysztof Kozlowski wrote:
>>>>> On 21/10/2022 13:06, Sebastian Reichel wrote:
>>>>>> Convert RTC binding for Haoyu Microelectronics HYM8563 to Device Tree
>>>>>> Schema format.
>>>>>>
>>>>>> Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>
>>>>>> ---
>>>>>> .../devicetree/bindings/rtc/haoyu,hym8563.txt | 30 ----------
>>>>>> .../bindings/rtc/haoyu,hym8563.yaml | 55 +++++++++++++++++++
>>>>>> 2 files changed, 55 insertions(+), 30 deletions(-)
>>>>>> delete mode 100644 Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt
>>>>>> create mode 100644 Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt b/Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt
>>>>>> deleted file mode 100644
>>>>>> index a8934fe2ab4c..000000000000
>>>>>> --- a/Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt
>>>>>> +++ /dev/null
>>>>>> @@ -1,30 +0,0 @@
>>>>>> -Haoyu Microelectronics HYM8563 Real Time Clock
>>>>>> -
>>>>>> -The HYM8563 provides basic rtc and alarm functionality
>>>>>> -as well as a clock output of up to 32kHz.
>>>>>> -
>>>>>> -Required properties:
>>>>>> -- compatible: should be: "haoyu,hym8563"
>>>>>> -- reg: i2c address
>>>>>> -- #clock-cells: the value should be 0
>>>>>> -
>>>>>> -Optional properties:
>>>>>> -- clock-output-names: From common clock binding
>>>>>> -- interrupts: rtc alarm/event interrupt
>>>>>> -
>>>>>> -Example:
>>>>>> -
>>>>>> -hym8563: hym8563@51 {
>>>>>> - compatible = "haoyu,hym8563";
>>>>>> - reg = <0x51>;
>>>>>> -
>>>>>> - interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
>>>>>> -
>>>>>> - #clock-cells = <0>;
>>>>>> -};
>>>>>> -
>>>>>> -device {
>>>>>> -...
>>>>>> - clocks = <&hym8563>;
>>>>>> -...
>>>>>> -};
>>>>>> diff --git a/Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml b/Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml
>>>>>> new file mode 100644
>>>>>> index 000000000000..b0b6126b12dd
>>>>>> --- /dev/null
>>>>>> +++ b/Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml
>>>>>> @@ -0,0 +1,55 @@
>>>>>> +# SPDX-License-Identifier: GPL-2.0
>>>>>
>>>>> Dual license please. I don't think you copied any content from original
>>>>> bindings... unless the example?
>>>>>
>>>>>> +%YAML 1.2
>>>>>> +---
>>>>>> +$id: http://devicetree.org/schemas/rtc/haoyu,hym8563.yaml#
>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>>> +
>>>>>> +title: Haoyu Microelectronics HYM8563 RTC
>>>>>> +
>>>>>> +maintainers:
>>>>>> + - Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
>>>>>> +
>>>>>> +properties:
>>>>>> + compatible:
>>>>>> + const: haoyu,hym8563
>>>>>> +
>>>>>> + reg:
>>>>>> + maxItems: 1
>>>>>> +
>>>>>> + interrupts:
>>>>>> + maxItems: 1
>>>>>> +
>>>>>> + "#clock-cells":
>>>>>> + const: 0
>>>>>> +
>>>>>> + clock-output-names:
>>>>>> + description: From common clock binding to override the default output clock name.
>>>>>
>>>>> You need maxItems for this.
>>>>>
>>>>>> +
>>>>>> + wakeup-source:
>>>>>> + description: Enables wake up of host system on alarm.
>>>>>> +
>>>>>> +allOf:
>>>>>> + - $ref: rtc.yaml
>>>>>> +
>>>>>> +unevaluatedProperties: false
>>>>>> +
>>>>>
>>
>>>>> Would be great if you could also correct DTS using these bindings (see
>>>>> warning from Rob).
>>>>
>>>> It looked to me like 'clock-frequency' should be added to the schema.
>>>
>>> I've sent PATCHv2, which removes clock-frequency from all hym8563
>>> users. My reasoning is, that the old txt binding does not describe
>>> it and the current Linux driver does not handle it as far as I can
>>> see.
>>
>> Didn't note you were doing a conversion as well...
>> From my abandonment patch serie
>>
>> clock-frequency:
>> enum: [1, 32, 1024, 32768]
>>
>> The data sheet shows that it can generate 4 different frequencies.
>> Rockchip mostly uses 32768, but that doesn't mean someone else is
>> not alowed to set what he/she prefers.
>
> As far as I can tell 32768 has been cargo copied by everyone, but
> the driver is not parsing this at all and I would expect the clock
> API to be used for requesting a specific frequency.

DT and Linux driver support are 2 different things.
What Linux currently doesn't support might be needed elsewhere.

Johan

>
> -- Sebastian