Re: [PATCH v4 0/3] Add RTC for MStar SoCs
From: Romain Perier
Date: Tue Sep 14 2021 - 13:21:11 EST
Hi,
ping,
Regards,
Romain
Le lun. 23 août 2021 à 19:16, Romain Perier <romain.perier@xxxxxxxxx> a écrit :
>
> This patches series adds a new driver for the RTC found in the Mstar
> MSC313e SoCs and newer. It adds a basic rtc driver, the corresponding
> devicetree bindings and its documentation.
>
> The rtctest (from selftests) has been passed on this driver, with the
> following output:
> $ rtctest
> TAP version 13
> 1..7
> # Starting 7 tests from 2 test cases.
> # RUN rtc.date_read ...
> # rtctest.c:47:date_read:Current RTC date/time is 01/01/1970 00:02:03.
> # OK rtc.date_read
> ok 1 rtc.date_read
> # RUN rtc.uie_read ...
> # OK rtc.uie_read
> ok 2 rtc.uie_read
> # RUN rtc.uie_select ...
> # OK rtc.uie_select
> ok 3 rtc.uie_select
> # RUN rtc.alarm_alm_set ...
> # rtctest.c:136:alarm_alm_set:Alarm time now set to 00:02:12.
> # rtctest.c:156:alarm_alm_set:data: 1a0
> # OK rtc.alarm_alm_set
> ok 4 rtc.alarm_alm_set
> # RUN rtc.alarm_wkalm_set ...
> # rtctest.c:192:alarm_wkalm_set:Alarm time now set to 01/01/1970 00:02:15.
> # OK rtc.alarm_wkalm_set
> ok 5 rtc.alarm_wkalm_set
> # RUN rtc.alarm_alm_set_minute ...
> # rtctest.c:238:alarm_alm_set_minute:Alarm time now set to 00:03:00.
> # rtctest.c:258:alarm_alm_set_minute:data: 1a0
> # OK rtc.alarm_alm_set_minute
> ok 6 [ 180.545015] random: fast init done
> rtc.alarm_alm_set_minute
> # RUN rtc.alarm_wkalm_set_minute ...
> # rtctest.c:294:alarm_wkalm_set_minute:Alarm time now set to 01/01/1970 00:04:00.
> # OK rtc.alarm_wkalm_set_minute
> ok 7 rtc.alarm_wkalm_set_minute
> # PASSED: 7 / 7 tests passed.
> # Totals: pass:7 fail:0 xfail:0 xpass:0 skip:0 error:0
>
> Changes since v3:
> - Fixed bad device table in MODULE_DEVICE_TABLE()
> - Use reverse christmas tree ordering for local variables in the probe()
> function
> - Removed the "clk" field from the msc313_rtc data structure (not
> required, only used in the probe function)
>
> Changes since v2:
> - Added dual-license header to the dt-bindings documentation
> - Reordered dts entries, so the rtc device_node is before the watchdog
> device_node (because it has a lower address)
> - Updated rtc range_max to U32_MAX
> - Leave range_min to 0 (default value when it is not set at all)
> - Fixed the CNT_EN_BIT logic, so .read_time will only read the time when
> the RTC has been previously set and has a valid state (which is not
> the case after a POR).
>
> Changes since v1:
> - Fixed the DT bindings documentation and fixed dt_binding_check (an
> include was missing)
> - Added || COMPILE_TEST to kconfig
> - Removed rtc_valid_tm from msc313_rtc_read_time()
> - Removed the last write of the msc313_rtc_set_time() function (not
> required) and improved comments
> - Replaced the relaxed io by normal io in msc313_rtc_interrupt()
> - Added checks to be sure that the alarm fired in msc313_rtc_interrupt()
> - Removed msc313_rtc_remove() (replaced by devm_add_action_or_reset)
> - Removed unnecessary software reset of the IP in the probe function
> (the soft reset is never executed, it is a mistake from the initial
> refactoring)
> - Switched to devm_rtc_allocate_device() and devm_rtc_register_device(),
> and dropped the error message related to the rtc device allocation
> - Added an RTC range by setting .range_min and .range_max
> - Added the "start-year" property to the DT bindings documentation
>
> Daniel Palmer (1):
> rtc: Add support for the MSTAR MSC313 RTC
>
> Romain Perier (2):
> dt-bindings: rtc: Add Mstar MSC313e RTC devicetree bindings
> documentation
> ARM: dts: mstar: Add rtc device node
>
> .../bindings/rtc/mstar,msc313-rtc.yaml | 49 ++++
> MAINTAINERS | 1 +
> arch/arm/boot/dts/mstar-v7.dtsi | 8 +
> drivers/rtc/Kconfig | 10 +
> drivers/rtc/Makefile | 1 +
> drivers/rtc/rtc-msc313.c | 258 ++++++++++++++++++
> 6 files changed, 327 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/rtc/mstar,msc313-rtc.yaml
> create mode 100644 drivers/rtc/rtc-msc313.c
>
> --
> 2.30.2
>