From patchwork Wed Nov 13 08:53:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nobuhiro Iwamatsu X-Patchwork-Id: 13873312 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 6FE33D41C18 for ; Wed, 13 Nov 2024 08:58:06 +0000 (UTC) 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:References:In-Reply-To: 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: List-Owner; bh=G8X5wo+4Q3R6ZE6nzQNERX8XEqINWQoFRveh/BVz7JA=; b=SNmWXJo1iyPm78 jFSnEXdMlvuMXOB37ntS15XC9jG/qBv7z5CmhXyLs/aDnH3O9Pw4cA2Mo6XETdJXPDKQSMEJzfCTt mk3pUOAsxm6ED2vHMZzLOB/gHf0dM5wmvmSz5RmD6ZPbjcpyhfJEroyWliy18EfBacUcAURhcZYDT AQXgqmeoiL2uSp57gA6OFXcnd6s1+khQ4Fb5oKXjj7fbjDXXYCXMfj/fDuCjGLocUtLwFKtGLHv4h BCXV4uMVI22k0Jt1FlNdkEDnZZxn9tiLOlFGeo8aR7H6wPFkil+GaYRIf8zrUQP1QpA8kUhKUMSbH epPNJVdsftSuUMQ3FKoA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tB9CM-00000006AQC-3bTJ; Wed, 13 Nov 2024 08:58:02 +0000 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tB98t-000000069p6-2wel for linux-amlogic@lists.infradead.org; Wed, 13 Nov 2024 08:54:28 +0000 Received: by mail-pj1-x1035.google.com with SMTP id 98e67ed59e1d1-2e9b4a4182dso377589a91.0 for ; Wed, 13 Nov 2024 00:54:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nigauri-org.20230601.gappssmtp.com; s=20230601; t=1731488067; x=1732092867; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a/QQvBKfHWcx99S3MFyn6CIdzyDe++fvtDF8fIMsYbQ=; b=04EPWcvTEFOlFJCoX0mMU+5mXiEFOLDTzRzr+FahzvhEhZeZM8dqyfn2kl1mKar+d7 c12ExC68czvWr3rKwMVqbWWPzhM5irADehXKYEATt6KMIu62OncyIahPmgpfroGygA12 PHFB6quDl8jnd6oN3Kz6ERcSgSawpik90laGbGkN40/8BJCfd7Edf4LtKhSWcdg+HK7t v11BFtnG/RttR69Gs25K/jzc0msW6FTiypMamZzPhezSzzDCaFTBmrP5T2yLCCSqakRV zTPpbeod1oJE7TDVrHaRvZhKf/TVqKwh6E53NRU2Z6NliAmEKduW5DAS/uYeI2AiT5U7 17nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731488067; x=1732092867; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a/QQvBKfHWcx99S3MFyn6CIdzyDe++fvtDF8fIMsYbQ=; b=sI/YvEcwMAFy7vqXEzUnYvEncv/XNv6xoYmWzVkZ6PRlNcKCBCM9h7Os4hN8s/lxD+ mk52vTDhe9yVK3zACCdB/kH6EyagxLavM60n3cIvuQzQxggnFydmGyoo3mkXVVGM4u1J z+SsADh0m5n215ipwluzk8SMNHYVT0hvSkRvfPzRNurbYsPfsgt2EW3njjDcoVXRQrX4 B0M4cPUduA320jh+/hd5Zg4ctr7vOQYVQ3nwRC3Jp3aV0RTlgIseYOsDYzHsdaFpbsDs uUoTQkf1t02VUibnNAgUgTbYh4c4HXOjXIt3fdHx62i5bcOlF8TIh/VxJeVlJLLr+pEl 80HQ== X-Gm-Message-State: AOJu0Yyayyr+GMf7XXsvE4yIjzYok5IGdSwON+cUbjfA2kR0RjCN6T+Q mLjduZ0RLa+uZ9NeAJQshOfuc6GXQ+lcu6x4pNVTyChDKCMDnueHJycxbR3k X-Google-Smtp-Source: AGHT+IE88wJlLPAh5zibBEt5ecTqueLIppGyqpsefbMEfjjtHXPO/LKkFBoqmw1dPbdImmuU0m0nWQ== X-Received: by 2002:a17:90b:4b88:b0:2e0:f035:8027 with SMTP id 98e67ed59e1d1-2e9b1ec3ad9mr27550774a91.2.1731488066639; Wed, 13 Nov 2024 00:54:26 -0800 (PST) Received: from localhost ([2405:6581:5360:1800:a83:68dd:5f1c:4ed9]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e9f3e94e8esm957843a91.3.2024.11.13.00.54.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 00:54:26 -0800 (PST) From: Nobuhiro Iwamatsu To: linux-rtc@vger.kernel.org, Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Olof Johansson Cc: linux-amlogic@lists.infradead.org, Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , linux-kernel@vger.kernel.org, Heiko Stuebner , Nobuhiro Iwamatsu Subject: [PATCH 1/5] ARM: multi_v7_defconfig: Add RTC PCF8563 support Date: Wed, 13 Nov 2024 17:53:51 +0900 Message-ID: <20241113085355.1972607-2-iwamatsu@nigauri.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241113085355.1972607-1-iwamatsu@nigauri.org> References: <20241113085355.1972607-1-iwamatsu@nigauri.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241113_005427_765408_AD0DA042 X-CRM114-Status: UNSURE ( 8.77 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org There are many ARM dts that support RTC PCF8563 but are not enabled in multi_v7_defconfig. This enable RTC PCF8563 to work with boards that uses this. Signed-off-by: Nobuhiro Iwamatsu --- arch/arm/configs/multi_v7_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index 9a5f5c439b8791..139b1c6fa656fa 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -997,6 +997,7 @@ CONFIG_RTC_DRV_RK808=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_PCF85063=m CONFIG_RTC_DRV_PCF85363=m +CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_TWL4030=y CONFIG_RTC_DRV_PALMAS=y From patchwork Wed Nov 13 08:53:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nobuhiro Iwamatsu X-Patchwork-Id: 13873316 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 7FE3BD41C18 for ; Wed, 13 Nov 2024 08:59:55 +0000 (UTC) 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:References:In-Reply-To: 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: List-Owner; bh=9wbt7HhWAoJHo2WsyHCy3TvpoP9JF4nimvJ9DVAbdWc=; b=ayh1JOPQkf+yNQ jzzBFKOfgxzbcLfNlas2MwW9Gb0B4JseDngW7ti2FqSu3egcYkpPGX58Pk2J8A6kvu7vwj8oqqIrN hRXGTgYWNepx7j9LO8H4NeGadJ6h8arQHGcU8uBUs86S7mx4UL4I1HZTmykQB/2sFv9uixVtNqr3j bX9vvn7KQtSH4GhCJM9HdpXeDV4k7jV3Gumqi4TOrojJEof0nfZX/OodprGwCyIq3v2o1Wquzh7p8 xJsNoTTusuQMps2SGOu48E+ymH9ZkvbdLSv5wa9f6vPw3hx0lvrOkn0uZcvs9yFsem+t9gYFLoNNi gEXLcD4YsDix74ZPRdhQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tB9E8-00000006AhV-03We; Wed, 13 Nov 2024 08:59:52 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tB98w-000000069qW-1FYe for linux-amlogic@lists.infradead.org; Wed, 13 Nov 2024 08:54:32 +0000 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-20c693b68f5so69216735ad.1 for ; Wed, 13 Nov 2024 00:54:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nigauri-org.20230601.gappssmtp.com; s=20230601; t=1731488069; x=1732092869; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fNsK27Fa1Ex5W0VeJ3TA3Gtj8S2K08nVqm3agCQiDts=; b=i4Gm/KznE/KakFQGiHatrxvXOYwa8m9pBPqBHNZVpV8EGfJNVugRhIalZLwWySEId/ Q9bMwcCwnc6rMozFL/690FCzPYBRseHkeMee/AouiZwG+3EbrdyJ+BBxEs7AxjrodKL9 enlnPX++LkhB4cLAiX6WubNOkDZBBVeeLgsWhB8GkUNNQ0FZ3ZWrRwqnQLGFsn9CMaDM mLxLI2/SXf6+wuNOVgCq7alDK/4L77XSS9+5hL4uAsxMvqUckcfY6iUgVRZpJBlyH0cN Rs14E3ipt1g2mDUqqZP6Fg1xQu46tcjxOdIDjTVlWncX1z6yO343cToX+UAob+0lt5VP 9eKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731488069; x=1732092869; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fNsK27Fa1Ex5W0VeJ3TA3Gtj8S2K08nVqm3agCQiDts=; b=ViXg9IbnQQQOD2ODgYWSafr1xdI2NIuZts1I9jsi9m66GCEac44DFcwlDChQ2NroUu MtktjL8ayiHW3dilkGThnbykff0ypFL8RwnXqYR3sk1Lhngw8QfwCDQV5QwKRKotaV1T nfMDlZ9xpZ7hvnUHQrBS6XeuZZ+1AO7IcWyOSdHTE3+XeLqT2TY2zRxiFpXTsH6MQ4fc FVxRm5YOeGZ9lqEQxVCCCXBceRlsQxxjcQAqS4FY//LJC2RHgbyndOKcNJQBw58voLS2 RcBhsyNNZtpJ2MebW0ofF9/vbKqnzHfJSOEPdQtcUmC8RXPD59T4LMBSoQA/w/OCzzec YWhg== X-Gm-Message-State: AOJu0YzTSSLRaHeoeSh5PPP2O3kP+KHboXPff34CZiIh7+EhTHwLRynZ KSsZ08LTlmithr+AtMP4+M7eUjwwyATmo4yLWXUkeRVFnglaXikv1ZvC4ost X-Google-Smtp-Source: AGHT+IGvQQOK2pmty0Ab0hdZeyxnxRqA5cqd4YJeTPkl4mPTvKSC4kOdrnW1nTpFjXXf6p4vsYJGyQ== X-Received: by 2002:a17:902:ccc9:b0:206:9a3f:15e5 with SMTP id d9443c01a7336-211b5ccdc57mr31401705ad.32.1731488069238; Wed, 13 Nov 2024 00:54:29 -0800 (PST) Received: from localhost ([2405:6581:5360:1800:a83:68dd:5f1c:4ed9]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21177dc826fsm106095085ad.11.2024.11.13.00.54.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 00:54:28 -0800 (PST) From: Nobuhiro Iwamatsu To: linux-rtc@vger.kernel.org, Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Olof Johansson Cc: linux-amlogic@lists.infradead.org, Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , linux-kernel@vger.kernel.org, Heiko Stuebner , Nobuhiro Iwamatsu Subject: [PATCH 2/5] rtc: pcf8563: Add support Haoyu HYM8563 Date: Wed, 13 Nov 2024 17:53:52 +0900 Message-ID: <20241113085355.1972607-3-iwamatsu@nigauri.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241113085355.1972607-1-iwamatsu@nigauri.org> References: <20241113085355.1972607-1-iwamatsu@nigauri.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241113_005430_471271_D5DB85F7 X-CRM114-Status: GOOD ( 11.71 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org Haoyu HYM8563 has the same hardware structure as PCF8563, and operates with the same device driver. This adds Haoyu HYM8563 information to the device driver and document to support it. Signed-off-by: Nobuhiro Iwamatsu --- drivers/rtc/rtc-pcf8563.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/rtc/rtc-pcf8563.c b/drivers/rtc/rtc-pcf8563.c index 5a084d426e58d0..42382c8709b7af 100644 --- a/drivers/rtc/rtc-pcf8563.c +++ b/drivers/rtc/rtc-pcf8563.c @@ -555,6 +555,7 @@ static const struct i2c_device_id pcf8563_id[] = { { "pcf8563" }, { "rtc8564" }, { "pca8565" }, + { "hym8563" }, { } }; MODULE_DEVICE_TABLE(i2c, pcf8563_id); @@ -565,6 +566,7 @@ static const struct of_device_id pcf8563_of_match[] = { { .compatible = "epson,rtc8564" }, { .compatible = "microcrystal,rv8564" }, { .compatible = "nxp,pca8565" }, + { .compatible = "haoyu,hym8563" }, {} }; MODULE_DEVICE_TABLE(of, pcf8563_of_match); From patchwork Wed Nov 13 08:53:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nobuhiro Iwamatsu X-Patchwork-Id: 13873317 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id BF719D41C19 for ; Wed, 13 Nov 2024 09:03:36 +0000 (UTC) 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:References:In-Reply-To: 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: List-Owner; bh=STV6CqOXXZNNZe/nL0MUAhT5ytK/BRF8/Sa3+ubldCI=; b=OJxNgJsvw7yGuM uzp3808y4fTISsnT3pbjszXmoVjhL2bX/+kndi/XSgkn3lPWpei9IkaO6d3iDFEtYQ/wkQ4iEWC3N JVioyDZCu7hKG5rJU8xEMxOd2P9QM6sUxMqtFQiOCqljENtk1bHvZeTCwc1fONutCiMbt6xtjNvqX VZfMCkXBsoXHYsXIMCReZrf1IhO40EarY2urcdYnn7XtsV0+oRtw4fVRt3sIlJMSmCvHYt1RoFHCc 57gTvrXJFZ97/WiOu27QJ+cSkl/LSkk2wCPAxdXtkvF5DAxQZje/8dqLCutvltYXtpzBDsYGrTSqh BnbL4OkxWSxitbxN6T+w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tB9Hh-00000006BEZ-0KS1; Wed, 13 Nov 2024 09:03:33 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tB98z-000000069rz-1lMA for linux-amlogic@lists.infradead.org; Wed, 13 Nov 2024 08:54:35 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-20c9978a221so74470915ad.1 for ; Wed, 13 Nov 2024 00:54:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nigauri-org.20230601.gappssmtp.com; s=20230601; t=1731488072; x=1732092872; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RE8fjpX1Eb1RavtBPTEOqHq6IlPTdZrinGpmm0IJQSk=; b=2N+FDha8NdwM7T09IXhZNhJg/LFyZAuYALlQZG8wVYE3yYoASxZRVWCmamrfsFjCV1 qPkG+F0C3Kf+hBI2MhLfRVPQFjwXUG7p4ItFTu5apGR4k2VMUU/XgwqsXed6LQr8YOvA zVrnE8zTz8TeAehXXR0vaUInD+uMBYYBZxGiYZfR4fyaE7PdPrhi8qTgunfWQH3j6Yyt qINwHe2vcMIyOFCMs/0Q8KUDCiE7tJuZOGBaIGRqw9uLUNCaxLzsLe6wuMtNLP22sYd5 WuUG5CtvUt5NOlvdQf182wT1e8lzWgSOMOIJ4SL5vBN3ZD9CoP9ssv+9W4/fr9Io57G/ ugng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731488072; x=1732092872; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RE8fjpX1Eb1RavtBPTEOqHq6IlPTdZrinGpmm0IJQSk=; b=o3QU0yHX71i0pjmGNU6clDSACePueXFrldV+mFXbzeZA/KIV+32v/jWQjGlXMJ0Z+6 o2+8/w/WMX4nG7Prj8ThuYaJ7Pi296WU8i3eGZTTv5fT+Pd/qmteJHXhYxuONg5PO9Kj v6AaJqYTGV5ehDQ3/i3+jbvNIVMKY7L/PxEGASQcRHkUERSJqLZc6IXNzJqVNXo9mnKe SKuAqOmzE7s2/wx58UWqeoec6xAUTJjcGyxE4Oc5iRgtE2hwqxxv1g05vNFiIIBthH1o a8fzSyA0FTTVAJeplxR+CKh6py8qUuM0NJGgkqnscVV7d8l9CbpguJp9893ebe4Te4U9 1GRA== X-Gm-Message-State: AOJu0YwRWQbPH9sDXA+pwt/6EEwSOz305mR0vsuqgqRNT8bTsPiZUwvy FXiyFa1k6T1PnB0zdDdpSSJkzDzByXJ5lCw4ECpshPCXx+9L6oY5Rxzkwiy3 X-Google-Smtp-Source: AGHT+IEt+6DU2EbmOYoC0dtzfG72lfI52C3DG6Nlz1YJ5vBiydCt6vOeAd0bjW9+oe2ZO+9WdDqEag== X-Received: by 2002:a17:902:ec8d:b0:20c:c9db:7c45 with SMTP id d9443c01a7336-21183c9b37fmr271466235ad.20.1731488072379; Wed, 13 Nov 2024 00:54:32 -0800 (PST) Received: from localhost ([2405:6581:5360:1800:a83:68dd:5f1c:4ed9]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21177e62dd4sm105302895ad.218.2024.11.13.00.54.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 00:54:31 -0800 (PST) From: Nobuhiro Iwamatsu To: linux-rtc@vger.kernel.org, Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Olof Johansson Cc: linux-amlogic@lists.infradead.org, Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , linux-kernel@vger.kernel.org, Heiko Stuebner , Nobuhiro Iwamatsu Subject: [PATCH 3/5] dt-bindings: rtc: pcf8563: Add Haoyu HYM8563 compatibility Date: Wed, 13 Nov 2024 17:53:53 +0900 Message-ID: <20241113085355.1972607-4-iwamatsu@nigauri.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241113085355.1972607-1-iwamatsu@nigauri.org> References: <20241113085355.1972607-1-iwamatsu@nigauri.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241113_005433_607546_EDBBE9C7 X-CRM114-Status: UNSURE ( 8.50 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org Haoyu HYM8563 is compatible with pcf8563 with '#clock-cells'. Signed-off-by: Nobuhiro Iwamatsu --- .../devicetree/bindings/rtc/nxp,pcf8563.yaml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/rtc/nxp,pcf8563.yaml b/Documentation/devicetree/bindings/rtc/nxp,pcf8563.yaml index 22909a96123e58..54c45bf3075b6a 100644 --- a/Documentation/devicetree/bindings/rtc/nxp,pcf8563.yaml +++ b/Documentation/devicetree/bindings/rtc/nxp,pcf8563.yaml @@ -4,14 +4,11 @@ $id: http://devicetree.org/schemas/rtc/nxp,pcf8563.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Philips PCF8563/Epson RTC8564 Real Time Clock +title: Philips PCF8563/Epson RTC8564, Haoyu Microelectronics HYM8563 Real Time Clock maintainers: - Alexandre Belloni -allOf: - - $ref: rtc.yaml# - properties: compatible: enum: @@ -19,6 +16,7 @@ properties: - microcrystal,rv8564 - nxp,pca8565 - nxp,pcf8563 + - haoyu,hym8563 reg: maxItems: 1 @@ -39,6 +37,18 @@ required: - compatible - reg +allOf: + - $ref: rtc.yaml# + + - if: + properties: + compatible: + contains: + const: haoyu,hym8563 + then: + required: + - "#clock-cells" + additionalProperties: false examples: From patchwork Wed Nov 13 08:53:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nobuhiro Iwamatsu X-Patchwork-Id: 13873322 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id B8854D41C1C for ; Wed, 13 Nov 2024 09:05:25 +0000 (UTC) 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:References:In-Reply-To: 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: List-Owner; bh=2PrIdcR0BMrYQvAV4/baMJRx8fFq5Lk+TKdijwm8vuE=; b=3uyJvST1TeRZEQ vfCf5ZntFaeMYmmENbYxoVkPPAOPiK9l5IiqqQR1r92KHMa1PB6glFjfyvau5iqwoQ4/16XlXEMwZ xrrqXPIUsTp1u5669ePJEsWtohST0hhuAgxT5uZb0blLS5bKLuXEUoM/uU8AQvE+uXAn5JSNpHQvv N+ZvGoXkfd1exXY7Xmd5eD7UqgzCXUfr1mVHd7qa99rqYL5SY/c658VkQ0JUHww+cag/fGgRVHQJ/ CiK9rabnGJgHFjhY7ndVO9sgbMfRdumvO50TVXWmHQgpJlZVGwu++rUluyaNLEiREuur5GXrrCI+T pE5tWx/DtPqE+TSpod0w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tB9JS-00000006BNI-0ZN1; Wed, 13 Nov 2024 09:05:22 +0000 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tB992-000000069tn-2gM1 for linux-amlogic@lists.infradead.org; Wed, 13 Nov 2024 08:54:39 +0000 Received: by mail-pg1-x52a.google.com with SMTP id 41be03b00d2f7-7e9e38dd5f1so5025867a12.0 for ; Wed, 13 Nov 2024 00:54:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nigauri-org.20230601.gappssmtp.com; s=20230601; t=1731488075; x=1732092875; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ld7yDh/rdIKbceKp3UE/TIwrk3Cz4ygz3PEsoFCVyOQ=; b=efD3W1g2OeChX7qEY4BFFHq1azVyFELI2ftA2WuubJ2pUJmOC0AKRv/JGgKIcwyE/V rdYkOdvtiUqxhVnyfykTg2ZaSpmTmGfqYVbnWEunAHIsswamBAbM36LRtpZhvZ73YWXk MXRKdGEfN3BqunwL7uwHLx07F4VoJ4IoSiJq7s9uzsIpjqw0J0oc15YrKsglvu2lzmlb 1e1MIZcw3B1cORxtAMdDHWrJsbhowThV+eFMMvuT/Ky7WCBRVyzEkdxRGJtCQdgTmM7a RqmyQZvNwsIKMBaAYvaY49GwsO18Flg6O5tIP2t82SstLEavj2RXwIsO++na3DsXngqi RAhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731488075; x=1732092875; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ld7yDh/rdIKbceKp3UE/TIwrk3Cz4ygz3PEsoFCVyOQ=; b=G9mTZUojdc1VxowNBStIA6rU0wT+XtNdxO5LR+SEOQ6s1ofpk6sBPJfC4TqXwPQRJx dML/Agyj5Jc4UqhQk7uAVjdT0HWglu3qH9kyOhuVyPYSlK/bd1lmEc0utSzrlNItuX6J SG1+gEvH2JgoR6JyiZpuPuWz0VA748aIye3rBN8optlxCOy12HD6t33RGPMm1wfcZ0lx byJD9ucaKIEv9aGQpAEujDOQfkG8hNuDISx8mGI9c3/RjEwa9zbzObFygho1xGIxNugN HDhiA4X0H37fYvJ8vDP6EUvOGdFPVskFrggYK1MBTiaRabl4ZapdjU0n0Paw2yhmPYl6 MMjQ== X-Gm-Message-State: AOJu0YzcxPFlc5CIR+4asyJOfKXT+pmS/BrFsOLN+6dkCqM35/kzAcv0 X8v27DOQvsfrxhffpOEgZcZXpYgL1WcXyY9YliTMpPNPF2KPDSISJug20wz3 X-Google-Smtp-Source: AGHT+IEWh+6hi6eoqQxQEdQASLkni2BgGzn3U61O+GlCzEH64eUMCo6fHSgXH8x3OBdiPpmftG/ikA== X-Received: by 2002:a05:6a20:6a26:b0:1dc:30b:324c with SMTP id adf61e73a8af0-1dc22893561mr30257221637.7.1731488075527; Wed, 13 Nov 2024 00:54:35 -0800 (PST) Received: from localhost ([2405:6581:5360:1800:a83:68dd:5f1c:4ed9]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7f41f48abbdsm11998250a12.10.2024.11.13.00.54.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 00:54:34 -0800 (PST) From: Nobuhiro Iwamatsu To: linux-rtc@vger.kernel.org, Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Olof Johansson Cc: linux-amlogic@lists.infradead.org, Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , linux-kernel@vger.kernel.org, Heiko Stuebner , Nobuhiro Iwamatsu Subject: [PATCH 4/5] rtc: Remove HYM8563 RTC driver Date: Wed, 13 Nov 2024 17:53:54 +0900 Message-ID: <20241113085355.1972607-5-iwamatsu@nigauri.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241113085355.1972607-1-iwamatsu@nigauri.org> References: <20241113085355.1972607-1-iwamatsu@nigauri.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241113_005436_768942_6B5C4AC5 X-CRM114-Status: GOOD ( 22.76 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org The HYM8563 RTC device can work with pcf8563 driver. This removes and updates files related to RTC HYM8563. Signed-off-by: Nobuhiro Iwamatsu --- arch/arm/configs/multi_v7_defconfig | 1 - arch/arm64/configs/defconfig | 1 - drivers/rtc/Kconfig | 11 - drivers/rtc/Makefile | 1 - drivers/rtc/rtc-hym8563.c | 587 ---------------------------- 5 files changed, 601 deletions(-) delete mode 100644 drivers/rtc/rtc-hym8563.c diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index 139b1c6fa656fa..1758f33d5582e8 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -988,7 +988,6 @@ CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_AC100=y CONFIG_RTC_DRV_AS3722=y CONFIG_RTC_DRV_DS1307=y -CONFIG_RTC_DRV_HYM8563=m CONFIG_RTC_DRV_MAX8907=y CONFIG_RTC_DRV_MAX8998=m CONFIG_RTC_DRV_MAX8997=m diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 5fdbfea7a5b295..0c1eb5d064a7dc 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1190,7 +1190,6 @@ CONFIG_EDAC_GHES=y CONFIG_EDAC_LAYERSCAPE=m CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_HYM8563=m CONFIG_RTC_DRV_MAX77686=y CONFIG_RTC_DRV_RK808=m CONFIG_RTC_DRV_ISL1208=m diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index a60bcc791a4803..13701b4c3572ae 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -316,17 +316,6 @@ config RTC_DRV_DS1672 This driver can also be built as a module. If so, the module will be called rtc-ds1672. -config RTC_DRV_HYM8563 - tristate "Haoyu Microelectronics HYM8563" - depends on OF - help - Say Y to enable support for the HYM8563 I2C RTC chip. Apart - from the usual rtc functions it provides a clock output of - up to 32kHz. - - This driver can also be built as a module. If so, the module - will be called rtc-hym8563. - config RTC_DRV_LP8788 tristate "TI LP8788 RTC driver" depends on MFD_LP8788 diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile index 489b4ab07068c7..91e8244072a66b 100644 --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile @@ -73,7 +73,6 @@ obj-$(CONFIG_RTC_DRV_FTRTC010) += rtc-ftrtc010.o obj-$(CONFIG_RTC_DRV_GENERIC) += rtc-generic.o obj-$(CONFIG_RTC_DRV_GOLDFISH) += rtc-goldfish.o obj-$(CONFIG_RTC_DRV_HID_SENSOR_TIME) += rtc-hid-sensor-time.o -obj-$(CONFIG_RTC_DRV_HYM8563) += rtc-hym8563.o obj-$(CONFIG_RTC_DRV_IMXDI) += rtc-imxdi.o obj-$(CONFIG_RTC_DRV_IMX_SC) += rtc-imx-sc.o obj-$(CONFIG_RTC_DRV_IMX_BBM_SCMI) += rtc-imx-sm-bbm.o diff --git a/drivers/rtc/rtc-hym8563.c b/drivers/rtc/rtc-hym8563.c deleted file mode 100644 index 63f11ea3589d64..00000000000000 --- a/drivers/rtc/rtc-hym8563.c +++ /dev/null @@ -1,587 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * Haoyu HYM8563 RTC driver - * - * Copyright (C) 2013 MundoReader S.L. - * Author: Heiko Stuebner - * - * based on rtc-HYM8563 - * Copyright (C) 2010 ROCKCHIP, Inc. - */ - -#include -#include -#include -#include -#include - -#define HYM8563_CTL1 0x00 -#define HYM8563_CTL1_TEST BIT(7) -#define HYM8563_CTL1_STOP BIT(5) -#define HYM8563_CTL1_TESTC BIT(3) - -#define HYM8563_CTL2 0x01 -#define HYM8563_CTL2_TI_TP BIT(4) -#define HYM8563_CTL2_AF BIT(3) -#define HYM8563_CTL2_TF BIT(2) -#define HYM8563_CTL2_AIE BIT(1) -#define HYM8563_CTL2_TIE BIT(0) - -#define HYM8563_SEC 0x02 -#define HYM8563_SEC_VL BIT(7) -#define HYM8563_SEC_MASK 0x7f - -#define HYM8563_MIN 0x03 -#define HYM8563_MIN_MASK 0x7f - -#define HYM8563_HOUR 0x04 -#define HYM8563_HOUR_MASK 0x3f - -#define HYM8563_DAY 0x05 -#define HYM8563_DAY_MASK 0x3f - -#define HYM8563_WEEKDAY 0x06 -#define HYM8563_WEEKDAY_MASK 0x07 - -#define HYM8563_MONTH 0x07 -#define HYM8563_MONTH_CENTURY BIT(7) -#define HYM8563_MONTH_MASK 0x1f - -#define HYM8563_YEAR 0x08 - -#define HYM8563_ALM_MIN 0x09 -#define HYM8563_ALM_HOUR 0x0a -#define HYM8563_ALM_DAY 0x0b -#define HYM8563_ALM_WEEK 0x0c - -/* Each alarm check can be disabled by setting this bit in the register */ -#define HYM8563_ALM_BIT_DISABLE BIT(7) - -#define HYM8563_CLKOUT 0x0d -#define HYM8563_CLKOUT_ENABLE BIT(7) -#define HYM8563_CLKOUT_32768 0 -#define HYM8563_CLKOUT_1024 1 -#define HYM8563_CLKOUT_32 2 -#define HYM8563_CLKOUT_1 3 -#define HYM8563_CLKOUT_MASK 3 - -#define HYM8563_TMR_CTL 0x0e -#define HYM8563_TMR_CTL_ENABLE BIT(7) -#define HYM8563_TMR_CTL_4096 0 -#define HYM8563_TMR_CTL_64 1 -#define HYM8563_TMR_CTL_1 2 -#define HYM8563_TMR_CTL_1_60 3 -#define HYM8563_TMR_CTL_MASK 3 - -#define HYM8563_TMR_CNT 0x0f - -struct hym8563 { - struct i2c_client *client; - struct rtc_device *rtc; -#ifdef CONFIG_COMMON_CLK - struct clk_hw clkout_hw; -#endif -}; - -/* - * RTC handling - */ - -static int hym8563_rtc_read_time(struct device *dev, struct rtc_time *tm) -{ - struct i2c_client *client = to_i2c_client(dev); - u8 buf[7]; - int ret; - - ret = i2c_smbus_read_i2c_block_data(client, HYM8563_SEC, 7, buf); - if (ret < 0) - return ret; - - if (buf[0] & HYM8563_SEC_VL) { - dev_warn(&client->dev, - "no valid clock/calendar values available\n"); - return -EINVAL; - } - - tm->tm_sec = bcd2bin(buf[0] & HYM8563_SEC_MASK); - tm->tm_min = bcd2bin(buf[1] & HYM8563_MIN_MASK); - tm->tm_hour = bcd2bin(buf[2] & HYM8563_HOUR_MASK); - tm->tm_mday = bcd2bin(buf[3] & HYM8563_DAY_MASK); - tm->tm_wday = bcd2bin(buf[4] & HYM8563_WEEKDAY_MASK); /* 0 = Sun */ - tm->tm_mon = bcd2bin(buf[5] & HYM8563_MONTH_MASK) - 1; /* 0 = Jan */ - tm->tm_year = bcd2bin(buf[6]) + 100; - - return 0; -} - -static int hym8563_rtc_set_time(struct device *dev, struct rtc_time *tm) -{ - struct i2c_client *client = to_i2c_client(dev); - u8 buf[7]; - int ret; - - /* Years >= 2100 are to far in the future, 19XX is to early */ - if (tm->tm_year < 100 || tm->tm_year >= 200) - return -EINVAL; - - buf[0] = bin2bcd(tm->tm_sec); - buf[1] = bin2bcd(tm->tm_min); - buf[2] = bin2bcd(tm->tm_hour); - buf[3] = bin2bcd(tm->tm_mday); - buf[4] = bin2bcd(tm->tm_wday); - buf[5] = bin2bcd(tm->tm_mon + 1); - - /* - * While the HYM8563 has a century flag in the month register, - * it does not seem to carry it over a subsequent write/read. - * So we'll limit ourself to 100 years, starting at 2000 for now. - */ - buf[6] = bin2bcd(tm->tm_year - 100); - - /* - * CTL1 only contains TEST-mode bits apart from stop, - * so no need to read the value first - */ - ret = i2c_smbus_write_byte_data(client, HYM8563_CTL1, - HYM8563_CTL1_STOP); - if (ret < 0) - return ret; - - ret = i2c_smbus_write_i2c_block_data(client, HYM8563_SEC, 7, buf); - if (ret < 0) - return ret; - - ret = i2c_smbus_write_byte_data(client, HYM8563_CTL1, 0); - if (ret < 0) - return ret; - - return 0; -} - -static int hym8563_rtc_alarm_irq_enable(struct device *dev, - unsigned int enabled) -{ - struct i2c_client *client = to_i2c_client(dev); - int data; - - data = i2c_smbus_read_byte_data(client, HYM8563_CTL2); - if (data < 0) - return data; - - if (enabled) - data |= HYM8563_CTL2_AIE; - else - data &= ~HYM8563_CTL2_AIE; - - return i2c_smbus_write_byte_data(client, HYM8563_CTL2, data); -}; - -static int hym8563_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alm) -{ - struct i2c_client *client = to_i2c_client(dev); - struct rtc_time *alm_tm = &alm->time; - u8 buf[4]; - int ret; - - ret = i2c_smbus_read_i2c_block_data(client, HYM8563_ALM_MIN, 4, buf); - if (ret < 0) - return ret; - - /* The alarm only has a minute accuracy */ - alm_tm->tm_sec = 0; - - alm_tm->tm_min = (buf[0] & HYM8563_ALM_BIT_DISABLE) ? - -1 : - bcd2bin(buf[0] & HYM8563_MIN_MASK); - alm_tm->tm_hour = (buf[1] & HYM8563_ALM_BIT_DISABLE) ? - -1 : - bcd2bin(buf[1] & HYM8563_HOUR_MASK); - alm_tm->tm_mday = (buf[2] & HYM8563_ALM_BIT_DISABLE) ? - -1 : - bcd2bin(buf[2] & HYM8563_DAY_MASK); - alm_tm->tm_wday = (buf[3] & HYM8563_ALM_BIT_DISABLE) ? - -1 : - bcd2bin(buf[3] & HYM8563_WEEKDAY_MASK); - - ret = i2c_smbus_read_byte_data(client, HYM8563_CTL2); - if (ret < 0) - return ret; - - if (ret & HYM8563_CTL2_AIE) - alm->enabled = 1; - - return 0; -} - -static int hym8563_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm) -{ - struct i2c_client *client = to_i2c_client(dev); - struct rtc_time *alm_tm = &alm->time; - u8 buf[4]; - int ret; - - ret = i2c_smbus_read_byte_data(client, HYM8563_CTL2); - if (ret < 0) - return ret; - - ret &= ~HYM8563_CTL2_AIE; - - ret = i2c_smbus_write_byte_data(client, HYM8563_CTL2, ret); - if (ret < 0) - return ret; - - buf[0] = (alm_tm->tm_min < 60 && alm_tm->tm_min >= 0) ? - bin2bcd(alm_tm->tm_min) : HYM8563_ALM_BIT_DISABLE; - - buf[1] = (alm_tm->tm_hour < 24 && alm_tm->tm_hour >= 0) ? - bin2bcd(alm_tm->tm_hour) : HYM8563_ALM_BIT_DISABLE; - - buf[2] = (alm_tm->tm_mday <= 31 && alm_tm->tm_mday >= 1) ? - bin2bcd(alm_tm->tm_mday) : HYM8563_ALM_BIT_DISABLE; - - buf[3] = (alm_tm->tm_wday < 7 && alm_tm->tm_wday >= 0) ? - bin2bcd(alm_tm->tm_wday) : HYM8563_ALM_BIT_DISABLE; - - ret = i2c_smbus_write_i2c_block_data(client, HYM8563_ALM_MIN, 4, buf); - if (ret < 0) - return ret; - - return hym8563_rtc_alarm_irq_enable(dev, alm->enabled); -} - -static const struct rtc_class_ops hym8563_rtc_ops = { - .read_time = hym8563_rtc_read_time, - .set_time = hym8563_rtc_set_time, - .alarm_irq_enable = hym8563_rtc_alarm_irq_enable, - .read_alarm = hym8563_rtc_read_alarm, - .set_alarm = hym8563_rtc_set_alarm, -}; - -/* - * Handling of the clkout - */ - -#ifdef CONFIG_COMMON_CLK -#define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw) - -static int clkout_rates[] = { - 32768, - 1024, - 32, - 1, -}; - -static unsigned long hym8563_clkout_recalc_rate(struct clk_hw *hw, - unsigned long parent_rate) -{ - struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); - struct i2c_client *client = hym8563->client; - int ret = i2c_smbus_read_byte_data(client, HYM8563_CLKOUT); - - if (ret < 0) - return 0; - - ret &= HYM8563_CLKOUT_MASK; - return clkout_rates[ret]; -} - -static long hym8563_clkout_round_rate(struct clk_hw *hw, unsigned long rate, - unsigned long *prate) -{ - int i; - - for (i = 0; i < ARRAY_SIZE(clkout_rates); i++) - if (clkout_rates[i] <= rate) - return clkout_rates[i]; - - return 0; -} - -static int hym8563_clkout_set_rate(struct clk_hw *hw, unsigned long rate, - unsigned long parent_rate) -{ - struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); - struct i2c_client *client = hym8563->client; - int ret = i2c_smbus_read_byte_data(client, HYM8563_CLKOUT); - int i; - - if (ret < 0) - return ret; - - for (i = 0; i < ARRAY_SIZE(clkout_rates); i++) - if (clkout_rates[i] == rate) { - ret &= ~HYM8563_CLKOUT_MASK; - ret |= i; - return i2c_smbus_write_byte_data(client, - HYM8563_CLKOUT, ret); - } - - return -EINVAL; -} - -static int hym8563_clkout_control(struct clk_hw *hw, bool enable) -{ - struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); - struct i2c_client *client = hym8563->client; - int ret = i2c_smbus_read_byte_data(client, HYM8563_CLKOUT); - - if (ret < 0) - return ret; - - if (enable) - ret |= HYM8563_CLKOUT_ENABLE; - else - ret &= ~HYM8563_CLKOUT_ENABLE; - - return i2c_smbus_write_byte_data(client, HYM8563_CLKOUT, ret); -} - -static int hym8563_clkout_prepare(struct clk_hw *hw) -{ - return hym8563_clkout_control(hw, 1); -} - -static void hym8563_clkout_unprepare(struct clk_hw *hw) -{ - hym8563_clkout_control(hw, 0); -} - -static int hym8563_clkout_is_prepared(struct clk_hw *hw) -{ - struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); - struct i2c_client *client = hym8563->client; - int ret = i2c_smbus_read_byte_data(client, HYM8563_CLKOUT); - - if (ret < 0) - return ret; - - return !!(ret & HYM8563_CLKOUT_ENABLE); -} - -static const struct clk_ops hym8563_clkout_ops = { - .prepare = hym8563_clkout_prepare, - .unprepare = hym8563_clkout_unprepare, - .is_prepared = hym8563_clkout_is_prepared, - .recalc_rate = hym8563_clkout_recalc_rate, - .round_rate = hym8563_clkout_round_rate, - .set_rate = hym8563_clkout_set_rate, -}; - -static struct clk *hym8563_clkout_register_clk(struct hym8563 *hym8563) -{ - struct i2c_client *client = hym8563->client; - struct device_node *node = client->dev.of_node; - struct clk *clk; - struct clk_init_data init; - int ret; - - ret = i2c_smbus_write_byte_data(client, HYM8563_CLKOUT, - 0); - if (ret < 0) - return ERR_PTR(ret); - - init.name = "hym8563-clkout"; - init.ops = &hym8563_clkout_ops; - init.flags = 0; - init.parent_names = NULL; - init.num_parents = 0; - hym8563->clkout_hw.init = &init; - - /* optional override of the clockname */ - of_property_read_string(node, "clock-output-names", &init.name); - - /* register the clock */ - clk = clk_register(&client->dev, &hym8563->clkout_hw); - - if (!IS_ERR(clk)) - of_clk_add_provider(node, of_clk_src_simple_get, clk); - - return clk; -} -#endif - -/* - * The alarm interrupt is implemented as a level-low interrupt in the - * hym8563, while the timer interrupt uses a falling edge. - * We don't use the timer at all, so the interrupt is requested to - * use the level-low trigger. - */ -static irqreturn_t hym8563_irq(int irq, void *dev_id) -{ - struct hym8563 *hym8563 = (struct hym8563 *)dev_id; - struct i2c_client *client = hym8563->client; - int data, ret; - - rtc_lock(hym8563->rtc); - - /* Clear the alarm flag */ - - data = i2c_smbus_read_byte_data(client, HYM8563_CTL2); - if (data < 0) { - dev_err(&client->dev, "%s: error reading i2c data %d\n", - __func__, data); - goto out; - } - - data &= ~HYM8563_CTL2_AF; - - ret = i2c_smbus_write_byte_data(client, HYM8563_CTL2, data); - if (ret < 0) { - dev_err(&client->dev, "%s: error writing i2c data %d\n", - __func__, ret); - } - -out: - rtc_unlock(hym8563->rtc); - return IRQ_HANDLED; -} - -static int hym8563_init_device(struct i2c_client *client) -{ - int ret; - - /* Clear stop flag if present */ - ret = i2c_smbus_write_byte_data(client, HYM8563_CTL1, 0); - if (ret < 0) - return ret; - - ret = i2c_smbus_read_byte_data(client, HYM8563_CTL2); - if (ret < 0) - return ret; - - /* Disable alarm and timer interrupts */ - ret &= ~HYM8563_CTL2_AIE; - ret &= ~HYM8563_CTL2_TIE; - - /* Clear any pending alarm and timer flags */ - if (ret & HYM8563_CTL2_AF) - ret &= ~HYM8563_CTL2_AF; - - if (ret & HYM8563_CTL2_TF) - ret &= ~HYM8563_CTL2_TF; - - ret &= ~HYM8563_CTL2_TI_TP; - - return i2c_smbus_write_byte_data(client, HYM8563_CTL2, ret); -} - -#ifdef CONFIG_PM_SLEEP -static int hym8563_suspend(struct device *dev) -{ - struct i2c_client *client = to_i2c_client(dev); - int ret; - - if (device_may_wakeup(dev)) { - ret = enable_irq_wake(client->irq); - if (ret) { - dev_err(dev, "enable_irq_wake failed, %d\n", ret); - return ret; - } - } - - return 0; -} - -static int hym8563_resume(struct device *dev) -{ - struct i2c_client *client = to_i2c_client(dev); - - if (device_may_wakeup(dev)) - disable_irq_wake(client->irq); - - return 0; -} -#endif - -static SIMPLE_DEV_PM_OPS(hym8563_pm_ops, hym8563_suspend, hym8563_resume); - -static int hym8563_probe(struct i2c_client *client) -{ - struct hym8563 *hym8563; - int ret; - - hym8563 = devm_kzalloc(&client->dev, sizeof(*hym8563), GFP_KERNEL); - if (!hym8563) - return -ENOMEM; - - hym8563->rtc = devm_rtc_allocate_device(&client->dev); - if (IS_ERR(hym8563->rtc)) - return PTR_ERR(hym8563->rtc); - - hym8563->client = client; - i2c_set_clientdata(client, hym8563); - - ret = hym8563_init_device(client); - if (ret) { - dev_err(&client->dev, "could not init device, %d\n", ret); - return ret; - } - - if (client->irq > 0) { - unsigned long irqflags = IRQF_TRIGGER_LOW; - - if (dev_fwnode(&client->dev)) - irqflags = 0; - - ret = devm_request_threaded_irq(&client->dev, client->irq, - NULL, hym8563_irq, - irqflags | IRQF_ONESHOT, - client->name, hym8563); - if (ret < 0) { - dev_err(&client->dev, "irq %d request failed, %d\n", - client->irq, ret); - return ret; - } - } - - if (client->irq > 0 || - device_property_read_bool(&client->dev, "wakeup-source")) { - device_init_wakeup(&client->dev, true); - } - - /* check state of calendar information */ - ret = i2c_smbus_read_byte_data(client, HYM8563_SEC); - if (ret < 0) - return ret; - - dev_dbg(&client->dev, "rtc information is %s\n", - (ret & HYM8563_SEC_VL) ? "invalid" : "valid"); - - hym8563->rtc->ops = &hym8563_rtc_ops; - set_bit(RTC_FEATURE_ALARM_RES_MINUTE, hym8563->rtc->features); - clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, hym8563->rtc->features); - -#ifdef CONFIG_COMMON_CLK - hym8563_clkout_register_clk(hym8563); -#endif - - return devm_rtc_register_device(hym8563->rtc); -} - -static const struct i2c_device_id hym8563_id[] = { - { "hym8563" }, - {} -}; -MODULE_DEVICE_TABLE(i2c, hym8563_id); - -static const struct of_device_id hym8563_dt_idtable[] = { - { .compatible = "haoyu,hym8563" }, - {}, -}; -MODULE_DEVICE_TABLE(of, hym8563_dt_idtable); - -static struct i2c_driver hym8563_driver = { - .driver = { - .name = "rtc-hym8563", - .pm = &hym8563_pm_ops, - .of_match_table = hym8563_dt_idtable, - }, - .probe = hym8563_probe, - .id_table = hym8563_id, -}; - -module_i2c_driver(hym8563_driver); - -MODULE_AUTHOR("Heiko Stuebner "); -MODULE_DESCRIPTION("HYM8563 RTC driver"); -MODULE_LICENSE("GPL"); From patchwork Wed Nov 13 08:53:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nobuhiro Iwamatsu X-Patchwork-Id: 13873321 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id DBF32D41C19 for ; Wed, 13 Nov 2024 09:05:25 +0000 (UTC) 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:References:In-Reply-To: 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: List-Owner; bh=Y9E7ZMp5HUjj2Qn6uPjGUlLJUBn6VyZDJcgwQ0vh3Tg=; b=m9d/TBNPuKHr93 Mif/tXEM7HjHK61D0pqgqwU+24c7ZImFB4sh3V2xjdxPpa62Vj6h403vKE5wNh/kYg9aiWcT/M6CS 95TD8mrxqJX4UYYPngzYkuv4PSimRKPgCyi80jUvj0Y3BktPxFuyf3STy5Vf+dRuJXdz4ShwPuBzt gdX4KmFADtseCgLUROg+dlfDxjNFzfjMSzf3mA1JJsgO1uOvDDIAHgmWK9wMLA9hoOwfVBy0nS5cQ pfxUlOhQPR0oitwkEhzbSVBWS4QNGAMZdMA+07YVrUq4NO8I/qU7L2oR9i2UJgDdQ40K1ogFMdf9q DU0oyUsdyHWvgHIg4/Zw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tB9JS-00000006BNQ-27I8; Wed, 13 Nov 2024 09:05:22 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tB995-000000069vS-3IK9 for linux-amlogic@lists.infradead.org; Wed, 13 Nov 2024 08:54:41 +0000 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-72061bfec2dso6034033b3a.2 for ; Wed, 13 Nov 2024 00:54:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nigauri-org.20230601.gappssmtp.com; s=20230601; t=1731488079; x=1732092879; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gEgoAjBfgzailS1tISV2BNkAznvBP4wgjOEuQVpA80w=; b=CdU6gKK1dReDeR32GzXQTuOTz9ibJXy0pAm6Kq0oanmjAJ0/GTeCWVz5kVCeQDPHrs q+qNKjOu03qq+Dmh9XqliDWIO54gGRgui4ZrZQuiBNq3TtEP9ZWy1ua+RrzbKxuGphDi QUjZsYq6ldnv64RkhMxg8xqeo5SteOvALRvbUidK/QWq/63Zw+CWt8mdx4fZvcwkDYSj Vf8KKPcY0GFS2XH1r9eGE3Ay35kNydp0UW+oxUk+K4NhqMKy17jPjIUEx1PjwDzFPWyu gp1fbTaqFww6UZI9ldcVJ/MBmjTtATGh4i2+MsiMxKr46inswgHyda5x7YTtGfrCSf4T RrAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731488079; x=1732092879; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gEgoAjBfgzailS1tISV2BNkAznvBP4wgjOEuQVpA80w=; b=u0P3P3khJUanV5DKxDnCL7aLT/DBqeasucXFh/OQ1ZGPTUd2igctOsubcKsJBqFCvd DPdNvIXB0BrO9g0yH77S649w3D0zqRUlhPWslgLZ9IpYg2frg0nXCYIlxSbF+3YkDhdn N3bY1GhFkmCSYMoogWYjPEQzS+X3ZWz+qfv6tewYFwHDsUAAvhne6EtokMbPwBgTkhUF 1M1pyl0ZtL8NJ3yYgMPlu4cdzW7jw4AvCWm+x/Wvifnt1A3I3MQhH1B82n+CRa4Xf9vx EWK6h0ilK3dbSunfZt+GuE9Dsz1ISdJ8AqHeYByv4PwCYbsOXTCKTIo3Coto0upACOR+ dUXw== X-Gm-Message-State: AOJu0YwDQxeQQrZ6wjt6sZr896aVdMdBMQZalnZTp04cNZlyU3XD+EnD HkgWh7wEQHc4E259j9upS1EIDZ5ygbbff03Rge3jksTNlxRW7+nuTzPYjb3QiazQYXZgjXy5HQ= = X-Google-Smtp-Source: AGHT+IFuU4Y92FgMstRU7nXxKESV9IJYwrxKQT0+60u3aaUl5uG63Ptgsvg/YBluwzd5Pns5l3wnfQ== X-Received: by 2002:a05:6a00:114f:b0:71e:b8:1930 with SMTP id d2e1a72fcca58-72413380e98mr26240502b3a.16.1731488078719; Wed, 13 Nov 2024 00:54:38 -0800 (PST) Received: from localhost ([2405:6581:5360:1800:a83:68dd:5f1c:4ed9]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7245fe8e286sm317379b3a.16.2024.11.13.00.54.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 00:54:38 -0800 (PST) From: Nobuhiro Iwamatsu To: linux-rtc@vger.kernel.org, Alexandre Belloni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Olof Johansson Cc: linux-amlogic@lists.infradead.org, Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , linux-kernel@vger.kernel.org, Heiko Stuebner , Nobuhiro Iwamatsu Subject: [PATCH 5/5] dt-bindings: rtc: hym8563: Remove hym8563 binding Date: Wed, 13 Nov 2024 17:53:55 +0900 Message-ID: <20241113085355.1972607-6-iwamatsu@nigauri.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241113085355.1972607-1-iwamatsu@nigauri.org> References: <20241113085355.1972607-1-iwamatsu@nigauri.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241113_005439_852473_BB12EC36 X-CRM114-Status: UNSURE ( 8.86 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org The hym8563 binding has been merged to pcf8563. Remove hym8563 binding file. Signed-off-by: Nobuhiro Iwamatsu --- .../bindings/rtc/haoyu,hym8563.yaml | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml diff --git a/Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml b/Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml deleted file mode 100644 index 0b9f39ef0edc39..00000000000000 --- a/Documentation/devicetree/bindings/rtc/haoyu,hym8563.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%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 - -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. - maxItems: 1 - - wakeup-source: - description: Enables wake up of host system on alarm. - -allOf: - - $ref: rtc.yaml - -unevaluatedProperties: false - -required: - - compatible - - reg - - "#clock-cells" - -examples: - - | - #include - - i2c { - #address-cells = <1>; - #size-cells = <0>; - - rtc@51 { - compatible = "haoyu,hym8563"; - reg = <0x51>; - interrupts = <13 IRQ_TYPE_EDGE_FALLING>; - #clock-cells = <0>; - }; - };