From patchwork Sat Oct 19 08:47:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Beznea X-Patchwork-Id: 13842612 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 170B1D3C902 for ; Sat, 19 Oct 2024 08:49: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:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=WnMhDuCRqPR6NBJjRmLAtq7Ajsx92GN7wnYD8LuLv1U=; b=BrE063v7C/VXlptY7WRUIudZ6I bIH/cyATAJtHn8ak2588aCWuB2wf3mQge2C9v9hMIkRIeTnGqd4GckrQlY55GObC0pnNAsGh1vE2l GATx8NxSIMsqTQhaWgwD9Xqm7A8TwupbvWy5sKugSpM4Ni9q73Sct+tAxaP/8qBsmXQ4oulVdzbeO 3YGUkJZxXDtSIYzck4Q0xoOavVy5R+FOsReQcy9OPyN1m1kye45gN3NedwtTeNED1Tv8ulQC38nc6 mX2D00bjdUfXPxAplQSB5lugjoHck7zLgAGWbBg/75csrviE6AaNHS1LD73coTx/aKZruWACkL6G/ ZN8x2DHw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t259c-00000002skX-3YYe; Sat, 19 Oct 2024 08:49:44 +0000 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t257o-00000002s0a-27Xk for linux-arm-kernel@lists.infradead.org; Sat, 19 Oct 2024 08:47:54 +0000 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-37d4ac91d97so2819653f8f.2 for ; Sat, 19 Oct 2024 01:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1729327670; x=1729932470; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=WnMhDuCRqPR6NBJjRmLAtq7Ajsx92GN7wnYD8LuLv1U=; b=paWu8fFNBeEv/UIM3rmxA4iZUJHC71O8eCOS0YfHYhxpFI4+0ohu7zdu2gVlNJDPNb MMqL+/cfO9d9DYojbFtMynCa5KLk85N4jRxU3Qafbuy68Mn76MeD7ylmKp92ARjrQ+0D tvzikPZLfchSxHmvzjF1sZJc9jDeEoqcjicASsdGIH4cDBFJHmfSXAh6EKP1/ZaOufSf ybkIvJrmd8Mevyb++eAtKWG9fDJBkvJXFIvmUQoeUIfFWBeuThikq7IM/WuDe5+9dKB5 iQ2YIlt0x9y345qVowIlN+iX9eW4lufx3JFiR8zLOtl3UMsUHWri3OobxsVyj+LpVfzU J2zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729327670; x=1729932470; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=WnMhDuCRqPR6NBJjRmLAtq7Ajsx92GN7wnYD8LuLv1U=; b=lShDcqdMySBoq95/GeQ4BLOoGlpZZHh4MPaQP0nxkmeiG6KgDf5bh3NHAVKUClmkl7 GDv7OMKbq0Gfgque1rT/rNcDCGp8Yd1UuzfzOQzyWwC7TckgX3xXU2wZSK28XsKUpjrI psH3gTsxaid1xoXQne1exkRkNF2LSoVLS8K3Nfpj56IhuAb50IhVDMp+ARcUlBJPRJxn yrefH9G+qmRAlXC0FBj4IoRAWPQLYM1IEL78tHHdE5IgX4qcRCjwSN/FjSCQidBjO8CP z2fWJ/n2ATjeycSv8EjZpK7uBRQE16fs9BMEk4Iv/oY3HRPlBFVh/MV8B7CRbUN+uLRA fS+A== X-Forwarded-Encrypted: i=1; AJvYcCXAuT0D7PsrDOG9kdl/iXLG1fszAzdLt44XPNaDRZupQHcXhr88gQbeCdiPeV1BryHn6288D64S2r0xAzKAe4u3@lists.infradead.org X-Gm-Message-State: AOJu0YwuibX/8iba/HklqRvRyDzlKFpJDlxI0KO4+F64AS2x0D5o0ZF0 gbH0EtMZprOK/mJXQHpDNfCrMIkUQ0QI6Wb3gx/nK29qi1yph4K/xe7WtjY8gZk= X-Google-Smtp-Source: AGHT+IEuVFF3OlCZCByZkHkU1Kuoy8OhgDbN4ed7/j3Yg73Z4X21G1b1EaKoTBw4Z4czo/GauTVxJA== X-Received: by 2002:a5d:6252:0:b0:37d:511b:aec1 with SMTP id ffacd0b85a97d-37eab755935mr4597795f8f.45.1729327669730; Sat, 19 Oct 2024 01:47:49 -0700 (PDT) Received: from claudiu-X670E-Pro-RS.. ([82.78.167.23]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-37ecf0eccbasm3898731f8f.81.2024.10.19.01.47.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Oct 2024 01:47:48 -0700 (PDT) From: Claudiu X-Google-Original-From: Claudiu To: geert+renesas@glider.be, mturquette@baylibre.com, sboyd@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, alexandre.belloni@bootlin.com, magnus.damm@gmail.com, p.zabel@pengutronix.de Cc: linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rtc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, claudiu.beznea@tuxon.dev, Claudiu Beznea Subject: [PATCH v4 00/12] Add RTC support for the Renesas RZ/G3S SoC Date: Sat, 19 Oct 2024 11:47:26 +0300 Message-Id: <20241019084738.3370489-1-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241019_014752_679837_84915BF7 X-CRM114-Status: GOOD ( 25.72 ) 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 From: Claudiu Beznea Hi, On the Renesas RZ/G3S SoC the RTC clock is provided by the VBATTB IP. A 32 KHz crystall oscillator could be connected to the VBATTB input pins. The logic to control this clock (and pass it to RTC) is inside the VBATTB IP. For this, the clk-vbattb driver was added (patches 03-05/12). Patches: - 01-02/12: updates with the power domain IDs - 03-05/12: add VBATTB support that provides the RTC clock - 06-07/12: add the RTC driver - 08-11/12: update the device trees with proper nodes to enable RTC - 12/12: enable proper config flags for RTC to work on RZ/G3S SoC Merge strategy, if any: - clock patches (01-05/12) need to go though the same tree because of patch 05/12 using the devm_clk_hw_register_gate_parent_hw() introduced in patch 04/12 - RTC patches (06-07/12) can go though RTC tree - DTS and defconfig patches can go though Renesas tree Thank you, Claudiu Beznea Changes in v4: - added patches "dt-bindings: clock: r9a08g045-cpg: Add power domain ID for RTC" "clk: renesas: r9a08g045: Add power domain for RTC" - squashed the following patches from v3: "Add clock IDs for the VBATTB controller" "dt-bindings: clock: renesas,r9a08g045-vbattb: Document VBATTB" - fixed typos in commit description - moved assigned-clocks, assigned-clock-parents from the RTC documentation to the VBATTB documentation; same adjustment has been done on the device tree patches - renamed include/dt-bindings/clock/r9a08g045-vbattb.h to include/dt-bindings/clock/renesas,r9a08g045-vbattb.h - used quartz-load-femtofarads - used RTC_TIMESTAMP_BEGIN_2000 and RTC_TIMESTAMP_BEGIN_2099 in the RTC driver and added a comment in remove API to mention RTC cannot power on the system - squashed defconfig patches - collected tags - per patch changes are listed in individual patches Changes in v3: - dropped patches "mfd: renesas-vbattb: Add a MFD driver for the Renesas VBATTB IP" - added patches: -- dt-bindings: clock: r9a08g045-vbattb: Add clock IDs for the VBATTB controller -- clk: linux/clk-provider.h: Add devm_clk_hw_register_gate_parent_hw() - moved Documentation/devicetree/bindings/mfd/renesas,r9a08g045-vbattb.yaml to Documentation/devicetree/bindings/clock/renesas,r9a08g045-vbattb.yaml - addressed review comments - per patch changes are listed in individual patches Changes in v2: - dropped patch "clk: renesas: r9a08g045: Add clock, reset and power domain support for the VBATTB IP" as it was already integrated - kept only a documentation file for both VBATT MFD and clock drivers as suggested - addressed review comments - used cleanup.h lock helpers - update startup sequence for the RTC driver - switch to 24 hours mode on the RTC driver - fixed range for the RTC driver - added a generic compatible for the RTC driver as this will also be used by RZ/V2H - used clkin/xin clock names for the VBATTB clock driver to determine if bypass should be configured on registers instead of having dedicated DT property - added mfd driver for VBATTB - updated Kconfig flag names to include vendor name - removed DT node labels from Documentation files - used items to describe the interrupts and clocks Claudiu Beznea (12): dt-bindings: clock: r9a08g045-cpg: Add power domain ID for RTC clk: renesas: r9a08g045: Add power domain for RTC dt-bindings: clock: renesas,r9a08g045-vbattb: Document VBATTB clk: linux/clk-provider.h: Add devm_clk_hw_register_gate_parent_hw() clk: renesas: clk-vbattb: Add VBATTB clock driver dt-bindings: rtc: renesas,rzg3s-rtc: Document the Renesas RTCA-3 IP rtc: renesas-rtca3: Add driver for RTCA-3 available on Renesas RZ/G3S SoC arm64: dts: renesas: r9a08g045: Add VBATTB node arm64: dts: renesas: r9a08g045: Add RTC node arm64: dts: renesas: rzg3s-smarc-som: Enable VBATTB arm64: dts: renesas: rzg3s-smarc-som: Enable RTC arm64: defconfig: Enable VBATTB clock and Renesas RTCA-3 flags .../clock/renesas,r9a08g045-vbattb.yaml | 83 ++ .../bindings/rtc/renesas,rz-rtca3.yaml | 83 ++ MAINTAINERS | 8 + arch/arm64/boot/dts/renesas/r9a08g045.dtsi | 35 + .../boot/dts/renesas/rzg3s-smarc-som.dtsi | 17 + arch/arm64/configs/defconfig | 2 + drivers/clk/renesas/Kconfig | 4 + drivers/clk/renesas/Makefile | 1 + drivers/clk/renesas/clk-vbattb.c | 205 ++++ drivers/clk/renesas/r9a08g045-cpg.c | 3 + drivers/rtc/Kconfig | 10 + drivers/rtc/Makefile | 1 + drivers/rtc/rtc-renesas-rtca3.c | 899 ++++++++++++++++++ include/dt-bindings/clock/r9a08g045-cpg.h | 1 + .../clock/renesas,r9a08g045-vbattb.h | 13 + include/linux/clk-provider.h | 18 + 16 files changed, 1383 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/renesas,r9a08g045-vbattb.yaml create mode 100644 Documentation/devicetree/bindings/rtc/renesas,rz-rtca3.yaml create mode 100644 drivers/clk/renesas/clk-vbattb.c create mode 100644 drivers/rtc/rtc-renesas-rtca3.c create mode 100644 include/dt-bindings/clock/renesas,r9a08g045-vbattb.h