Re: [PATCH] dt-bindings: rtc: convert at91sam9 bindings to json-schema

From: Sergiu.Moga
Date: Thu Feb 17 2022 - 07:05:22 EST


Hello,

On 15.02.2022 19:23, Krzysztof Kozlowski wrote:
> On 15/02/2022 15:46, Sergiu Moga wrote:
>> Convert RTC binding for Atmel/Microchip SoCs to Device Tree Schema
>> format.
>>
>> Signed-off-by: Sergiu Moga <sergiu.moga@xxxxxxxxxxxxx>
>> ---
>> .../bindings/rtc/atmel,at91sam9-rtc.txt | 25 --------
>> .../bindings/rtc/atmel,at91sam9-rtc.yaml | 61 +++++++++++++++++++
>> 2 files changed, 61 insertions(+), 25 deletions(-)
>> delete mode 100644 Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt
>> create mode 100644 Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt b/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt
>> deleted file mode 100644
>> index 3f0e2a5950eb..000000000000
>> --- a/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt
>> +++ /dev/null
>> @@ -1,25 +0,0 @@
>> -Atmel AT91SAM9260 Real Time Timer
>> -
>> -Required properties:
>> -- compatible: should be one of the following:
>> - - "atmel,at91sam9260-rtt"
>> - - "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt"
>> -- reg: should encode the memory region of the RTT controller
>> -- interrupts: rtt alarm/event interrupt
>> -- clocks: should contain the 32 KHz slow clk that will drive the RTT block.
>> -- atmel,rtt-rtc-time-reg: should encode the GPBR register used to store
>> - the time base when the RTT is used as an RTC.
>> - The first cell should point to the GPBR node and the second one
>> - encode the offset within the GPBR block (or in other words, the
>> - GPBR register used to store the time base).
>> -
>> -
>> -Example:
>> -
>> -rtt@fffffd20 {
>> - compatible = "atmel,at91sam9260-rtt";
>> - reg = <0xfffffd20 0x10>;
>> - interrupts = <1 4 7>;
>> - clocks = <&clk32k>;
>> - atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
>> -};
>> diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.yaml b/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.yaml
>> new file mode 100644
>> index 000000000000..c78a8c1c9314
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.yaml
>> @@ -0,0 +1,61 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/rtc/atmel,at91sam9-rtc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Atmel AT91 RTT Device Tree Bindings
>> +
>> +allOf:
>> + - $ref: "rtc.yaml#"
>> +
>> +maintainers:
>> + - Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
>> +
>> +properties:
>> + compatible:
>> + oneOf:
>> + - items:
>> + - const: atmel,at91sam9260-rtt
>> + - items:
>> + - const: microchip,sam9x60-rtt
>> + - const: atmel,at91sam9260-rtt
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + atmel,rtt-rtc-time-reg:
>> + $ref: /schemas/types.yaml#/definitions/uint32-array
>> + description: |
>> + Should encode the GPBR register used to store the time base when the
>> + RTT is used as an RTC. The first cell should point to the GPBR node
>> + and the second one encodes the offset within the GPBR block (or in
>> + other words, the GPBR register used to store the time base).
> The first cell points to a phandle, so this does not look like
> uint32-array. I think this matches something like syscon. Look for
> example at samsung,sysreg:
> Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml
>
Thank you. I will correct this in the next version of the patch.

>> + items:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - clocks
>> + - atmel,rtt-rtc-time-reg
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + rtt@fffffd20 {
> Is it a timer or a clock? If more like a RTC, then the node name should
> be "rtc".
>
> rtc.yaml requires this, so it looks like you did not test the bindings
> at all?
>
My apologies, it seems that, by mistake, I used the wrong file for DT_SCHEMA_FILES when testing and thus I did not see any warnings or errors. I will correct this in the next patch.
In order for this to work correctly, the next patch series will also include some changes to other "dtsi" files (such as "arch/arm/boot/dts/sama7g5.dtsi" and "arch/arm/boot/dts/sam9x60.dtsi") that use "rtt" instead of "rtc" for their node names.

>> + compatible = "atmel,at91sam9260-rtt";
>> + reg = <0xfffffd20 0x10>;
>> + interrupts = <1 4 7>;
>> + clocks = <&clk32k>;
>> + atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
>> + };
>
> Best regards,
> Krzysztof


Thank you for the feedback.

Sergiu