From patchwork Thu Aug 19 17:02:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Romain Perier X-Patchwork-Id: 12447643 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1B2F7C4338F for ; Thu, 19 Aug 2021 17:07:47 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D4A49601FE for ; Thu, 19 Aug 2021 17:07:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D4A49601FE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=8TxtyBUcwlFHcVTZ0Eeo45DQXtNSO/PbJw9sVqLulyw=; b=L+A0nO/idC6j2E fg+0qmRZyKPQuTW5wauT1K7g++HHAVYbi6eV+DTqtcZ3wm+MiIQOLu5fUhixiWbg2UchhdUZBfhSF rGW2qs8D755WJNYpx8FaYmSl9VsNT2hFRFPu+4TouVWFtEpIQP4+5gkFDkSuLEoBAiwU110iouPfm iVkTscvpZrbrnCrDzWZMDHh/9hH6ktakI/TC5AshMDSe8kjyHW7H0pD7Z3M6ekWNIQ1IlRLv7KgP7 flF3oEiQYN6prGsiHYa1l8AGeccHLcKWiTrDKJjxA32DiHnrXgdKb1A8qZfUKnNeZfvMd9NsPOdFV C6W4pLJVAZFkHJPPZxMQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mGlTm-0093DS-5C; Thu, 19 Aug 2021 17:05:23 +0000 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mGlRa-0092T4-TR for linux-arm-kernel@lists.infradead.org; Thu, 19 Aug 2021 17:03:10 +0000 Received: by mail-wr1-x429.google.com with SMTP id x12so10076955wrr.11 for ; Thu, 19 Aug 2021 10:03:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ltKmt/JpYcjujKMY1NbAqfQilXNFyNfsoBSQ5TkpJDY=; b=P/amnaNkLUwyC3pXp6j8AczBcIkshq69TsmZAvgQVh39ai4JHtuIaDYwunXdcuw0f+ awk/1w24g9im7d1O8pJwcHIXIj7Up9fTES1/F/Sgrd21GXGFBUrCLT94KpGglsmy7e/N cYxmomHIDpYdXYlo+MMexD+fqmi2RYfx6Hm2Gx8o0hfncJRSt9DM/o95vt6FFsEuyma0 l5Q+TcIdeF6N4s5e+tXbdGESVX5kBgNR6s03/A5E8yN3NW8F1hw29jTb+PUc5lm9seZ2 0uDr/JGKv7JD+nnMf8V5PByO1xexZJnFJxS/b4OQCMjhddcf79Gg+3uI+KwXysZbFVVm fCvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ltKmt/JpYcjujKMY1NbAqfQilXNFyNfsoBSQ5TkpJDY=; b=QxKrt72VMr4J+w24r9CUXKmhE+8IY+sHRJxlk28xzBnwoyuPNtIvKkNimLVxZH/dc5 4AhlLChbgHHxQtQ3kDV+9xzbHOXzx7Uf0t84VAQQjIFep/vOXxAf7AbKWDoWFBAKYjZA bQFewIaFl1wr8oVaMmoqsfxJdpVjs8RuPn/l1E5ppuh/DpPerqet4mrntw7nTlAefYVO drFdJkr9A5Jph9F8lK8FtgtGpQcsmqhkiD77gAnns82STlj3Y5UrZStyYy6LVNkO+nvR +8NIUA+dFtlxr+3/OWTjxl/65dhGY4pHTWktyL1R1T57bOVEh81Ych43a3hdV2bDnkpn Ab0g== X-Gm-Message-State: AOAM5334zYaUNmu6891tLuh0thXThRKooEbQoHQbeucU8EiNsfDKUYjp OnuH+OwISBg2+3RVdQgn1sHu/rx6EU8= X-Google-Smtp-Source: ABdhPJzIonaES95dPAUO8NRmFzFwzslz1hsk3C/gdCiqnZSpexWCVpesVZ19wiKL4rild/3rWNDr9Q== X-Received: by 2002:adf:f90e:: with SMTP id b14mr5308542wrr.28.1629392584874; Thu, 19 Aug 2021 10:03:04 -0700 (PDT) Received: from debby ([2a01:cb19:13:7900:ae2b:c45b:3c7c:7e51]) by smtp.gmail.com with ESMTPSA id w14sm3340773wrt.23.2021.08.19.10.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Aug 2021 10:03:04 -0700 (PDT) From: Romain Perier To: Alessandro Zummo , Alexandre Belloni , Daniel Palmer , Rob Herring Cc: linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 0/3] Add RTC for MStar SoCs Date: Thu, 19 Aug 2021 19:02:58 +0200 Message-Id: <20210819170301.10520-1-romain.perier@gmail.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210819_100307_023048_CCF6F22E X-CRM114-Status: GOOD ( 20.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 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