From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 15BA0296160; Tue, 29 Jul 2025 15:59:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804765; cv=none; b=kGYJHgUR4Fdx2jB+VVxrHzRsGyKXy4rG3V0E9rsakTzIXLOrZBj1OR8KzGtVzTg0077JkG0B1iWHVwmorpEOtjagqyqqS1jsBJvT17Gido2LzsXA8+zEOMjWAzNe3AdazK1YQFaOgKFFXvq54QzMxrDmaXy+f9iNHTid6z4MuZU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804765; c=relaxed/simple; bh=vbvioINVvE7rYeBX1SdellCgb88Qap25i9w0hclSDOQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MVUipKluvUzTqKChOIAz2IsYDOv2Riulv/UC3ab+mf+Z1IRsMkf1AqyxfWO0pe4ut0dC9swL03FawBgPCuRfoNjytQKg/PFboBPKaEYRj0k3C3SE9e9FVMu7Fak04YCcfU6qtsULKG2j15NqRHBqtfQPwIcNhpzTrjiht8qXk/w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=V0xyro2u; arc=none smtp.client-ip=209.85.128.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="V0xyro2u" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4555f89b236so46362775e9.1; Tue, 29 Jul 2025 08:59:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804762; x=1754409562; darn=vger.kernel.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=Vs48CD27I+mmNOUnTX99I28CeNgiDQIPijvqQkHdOiQ=; b=V0xyro2uoJGirZgNpSJcdpz0dNiICDXPGAZJhgBXVjzlr/3MEZFAsVeng0Yel4+gOE Mg8PibnwntoH6Ss1IwYvXK+E+oqJfJ+qGR+SMXYg9DLLYtxxB2qR83umnDakY6229mY4 GAfL1U2GdtKy0l4OTHSLcDedO4fDllX1t2+cevbfEvl4x733a5OgFLpg2VY69WzxWJ0c f53QxXJtmsrwIjoZZoEQCpgHB1kIw606whu+/kQNwMFpGOYsrZ0XtMvwdJubTnuocEbJ eP7WuoMMnTW//ksJK1Eqa8EtCm79AFSbAUZSltd3wiaJK9DoeWthnfQNxWC2vFAbStxX Py7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804762; x=1754409562; 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=Vs48CD27I+mmNOUnTX99I28CeNgiDQIPijvqQkHdOiQ=; b=AeQTS9ujvZvyzlXsD8YstaDq13bPel8SUhTIm/u4xvChdW+ZPVPVxzurwo4Rl2MRh8 ObwdPu+Q2B29HZ80Sq3ci/nHbFfDv2a0Ut7VONHNzIBf2/TAHwL33jMLLws6v7MErmQQ KSSBfEqnvhKJdN4VI5NQigt4uxR+sHKx//DoENSS14V9VRzS6LtZy4Ow+Exua7z5YcBi J3CQKHM1FOSYlMH8SWBlPA5waU725ZdEQeU1b2PmK7lrtc5kUyu9wJHwbnU35gxWyIao /PCZMmdBiFaNphCqJThFlTCNs3zhmc4uDkEA1aqAJWqHszJDO0kkJPhJKw/lVpJdBxip FsVg== X-Forwarded-Encrypted: i=1; AJvYcCU2Gxkx9/mDaz8URNAqMJKReEvE1/qKbvvwEmuXny/0pKLc2lA2IKLnPjohFSm8kCm7hM4DdY5xskAdp1xKkYm5r8k=@vger.kernel.org, AJvYcCVod6M8xOhzZrPzf72Rg1cLiW5Pat3Nj9ebARUom9EeZxqZZS3wlVj3YT/RWAnOsVieV88XgoJnmJ5I@vger.kernel.org, AJvYcCXhVzUB0iNi15NFsyfMTvEgbHO2S/Wz0/8c/DRYpUB9YzoUIjAUxkJXEBbs+NHFFAmjwI/pia8tyEwtU9F9@vger.kernel.org X-Gm-Message-State: AOJu0Yz1d7GchxUv1XP2gM0d/vovTNHFOFNztejz+Mo6w4fizOxlPMq0 HvHrDP38029fg+qXlQdIlagkMonEygAjvyzYFVv3plqApnQO6Tplordl X-Gm-Gg: ASbGnctoIdj960ODDZv2vhCEAjrLax1dXUsLt2e/omT4gbu/jMCG2cLfsF4kqu7gQcu ATHmRVWhFnncuiq1vN611oWQy8PnJd4OvkABmiH6MWvy+HNQzCr8jvQzbZ3CMj1Prj2m0qvo99j RKL4Dz12xbOTPfm+R4w+BeFM7G8xbhFt1HF56RF4MAtoDLyALj0oh43XjORfBPlispdOCGL32Bv w4XXVGqqQZdN+RPupDQuQK3NFbooelcbH4dtkqIb3Og7RGIQSG6M6EcBObekhfC6SdjSj/oqru8 XlIhjxrBer0xPTgVSaXg89BoK5Hzvj/ZqPieKZETV7HDieitx+gLsowp4Ok+Qjwxyyrkrd8Kj73 MYgFEgmeesJOJOrIJ2OdTymQgaLnj1OV7+ED2N97nuAzGVsJ68FK4QjhUx0W61279Ibc4O1+RKg == X-Google-Smtp-Source: AGHT+IFSMdUQNQq5u3Kitzm1xkSyTdl2849pzlHvJWWhrJajHgWTVeNJpB8NZ8jxGdCr8QX0QkIBXg== X-Received: by 2002:a05:600c:3583:b0:456:13d8:d141 with SMTP id 5b1f17b1804b1-45892bcc628mr2756825e9.27.1753804761792; Tue, 29 Jul 2025 08:59:21 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:21 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 1/9] dt-bindings: watchdog: renesas,wdt: Add support for RZ/T2H and RZ/N2H Date: Tue, 29 Jul 2025 16:59:07 +0100 Message-ID: <20250729155915.67758-2-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Extend the Renesas WDT device tree bindings to support the watchdog timer found on the RZ/T2H (R9A09G077) and RZ/N2H (R9A09G087) SoCs. The RZ/T2H WDT is mostly compatible with the one found on the RZ/V2H(P), but includes an additional register and differs in the clock division ratio settings for the WDTCR[CKS] field. To reflect these differences, introduce a new compatible string, "renesas,r9a09g077-wdt". The binding schema is updated accordingly. On RZ/T2H, the WDT does not require the "resets" property. It also requires two register regions and the presence of a "power-domains" property. The "clock-names" property is limited to a single entry, "pclk", for this SoC. The RZ/N2H SoC uses the same WDT IP as the RZ/T2H. It is supported by using "renesas,r9a09g087-wdt" as the primary compatible string, with "renesas,r9a09g077-wdt" listed as a fallback to describe the shared hardware features. Signed-off-by: Lad Prabhakar Reviewed-by: Rob Herring (Arm) --- v1->v2: - Dropped items from clock-names and instead added maxItems: 1. - Added reviewed-by from Rob. --- .../bindings/watchdog/renesas,wdt.yaml | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml b/= Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml index 78874b90c88c..b6e60162c263 100644 --- a/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml @@ -81,10 +81,17 @@ properties: - renesas,r9a09g056-wdt # RZ/V2N - const: renesas,r9a09g057-wdt # RZ/V2H(P) =20 - - const: renesas,r9a09g057-wdt # RZ/V2H(P) + - enum: + - renesas,r9a09g057-wdt # RZ/V2H(P) + - renesas,r9a09g077-wdt # RZ/T2H + + - items: + - const: renesas,r9a09g087-wdt # RZ/N2H + - const: renesas,r9a09g077-wdt # RZ/T2H =20 reg: - maxItems: 1 + minItems: 1 + maxItems: 2 =20 interrupts: minItems: 1 @@ -132,6 +139,7 @@ allOf: compatible: contains: enum: + - renesas,r9a09g077-wdt - renesas,rza-wdt - renesas,rzn1-wdt then: @@ -183,7 +191,9 @@ allOf: properties: compatible: contains: - const: renesas,r9a09g057-wdt + enum: + - renesas,r9a09g057-wdt + - renesas,r9a09g077-wdt then: properties: interrupts: false @@ -192,6 +202,26 @@ allOf: required: - interrupts =20 + - if: + properties: + compatible: + contains: + const: renesas,r9a09g077-wdt + then: + properties: + resets: false + clock-names: + maxItems: 1 + reg: + minItems: 2 + required: + - clock-names + - power-domains + else: + properties: + reg: + maxItems: 1 + additionalProperties: false =20 examples: --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B81362980BF; Tue, 29 Jul 2025 15:59:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804766; cv=none; b=FJ5sobcMZemzNE4eiS8OrIXXGUIrGuGIX/eCDuMVPi838yU37KKQ0vBqAQ51mp0q6XzIhMsoofT9DaWNp7BcCy/WfpntjnvJPkln7Nz0VpsTE3Wt/U117ih0L5J+RzGSjGM9Ph8YtupsQpavp33ZLhpqoV2pW2kXWv7INh0k2WI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804766; c=relaxed/simple; bh=PE3C3PO27vz5qgsTEMoMqmf8wtlGxCAVioSJlwS9mhc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ARROZhBGyrMCVFyRhT+kGW5UAhNvq7VmYqyTFi4izNAHDO1Nr+1bf9nu9AsunULNrLAy9+ndsfDxcJL/72TVLdtg3YVf79PDsYVJoS8HYrB5flRXG2Rzv6X+pErlzSxH4KepVB9+U+wNRjRekYGQf5j5nvoUOlR6o4bUP3Q0OBE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RxDnhpR1; arc=none smtp.client-ip=209.85.221.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RxDnhpR1" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-3b794a013bcso290940f8f.2; Tue, 29 Jul 2025 08:59:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804763; x=1754409563; darn=vger.kernel.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=5uPl0JJnxMfvy8UEmylzhIFMh0psWUX8bjf0ZC2vlP8=; b=RxDnhpR1gedE1DArLb5hIXbTabSKGyrJG2k8P9sSnBgmbsbmrHqf28ACNq015E0vOs bpd89O6f1j+8AwPK1vp20J5iBoDljHADg2Q2oQ5hyGhRz8oAzpmPEesB1pH4cqc1q67S 0ZTmNBIWQUsX9j0tkHvCFZeiL2Pz8tfnP2aDxDszMaphe+LbUwPSuTQauMy6+SoNZwtx fWrQIoX4vgyvBKGWCrg+qR1fXuVljqct5rN0RFtPEqly/d49dRnLfPNKYvgXd5Bk1gw7 olC+6PLT4zDl0+EmZACv5qJWG0UqWlthgDyyfVwsQJbafsTMSdJ1fzsKSTDYrJEMtorp RbCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804763; x=1754409563; 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=5uPl0JJnxMfvy8UEmylzhIFMh0psWUX8bjf0ZC2vlP8=; b=OXI3X5XzPJwblm1Jj9cotons53I2c0I0RB6k4sc2JQViFQg7SgoD3hsMRwz6aqsDrO Yy8rLJ/3H3qR9+rN6ndlt9aDX2MvQdhqaEVvSSnK8b3taal4KSbTr32W4qLwEMEgwqrT g0XlhAWM+8B/2aEjFfpq6DlWM0MaPJRG4cbghD6Z6N8RjAEoyXKi3DBb2hRpzbYqe/mE O8/szB0t2JXJHK1sKbGJQF2VqlGT+i2FpnFcxj8PLl4um3wHzUVg9BzupkyXaMDhjvHo xYNtTUTJxC9BMmVVAUSaMzfcedUo3YVCviU+E978J5CkNZXe5CXPMTM7hkvbSXglk78i mnSg== X-Forwarded-Encrypted: i=1; AJvYcCVJtrdUW/DRKfK9EHjvGbE30VXxQ9l6yuJF6ApZzojdVYckCHuUtvEQ9ob4FW7SwUWmGNM+RqvEAWNup3W6@vger.kernel.org, AJvYcCXABwOVZWHmevLHIUML6VKZvgjVIrSnzySMj1b1Z92SxsricuPVTNqtPHA8u4kQ2lgtW6ak75CAhHfU@vger.kernel.org, AJvYcCXJgB8AMNVuMelCLqzBBhTqJU9yRxKfzljK13Wpys5euPZYYC/57h3cvQsxyNXI8XwwOR0DacpIfRl2rpDhg/7+1QE=@vger.kernel.org X-Gm-Message-State: AOJu0Yxfa+/kd8XhpCd684txnuZYZ5743h4Gy4Ec6HV38NtUE2rqQDOZ Dha11GeHZdoTBs4lVwS02Zl27Zgfd4usEuH1BGVBk498yPf0nPvMvsDNvtTztw== X-Gm-Gg: ASbGncsPt+GsTUiCVsVt2cewvWcmI8NGaPEeK3rDUSjEiU6wXj+3ChELFGLDIgRcoLZ 27X6ALXxYDuAALBAccu7FmUXIO5vs+FjsvbtGzBjPP/Sa6OW2W6zCLR+JNctV5ufGRN1Chjauj5 kIHA5QpS+HgUsjPxZ7M9hNKZKGfvZjzUItfjL88bk4V0yHl4r+vrQuZUj+I9+QsV7P8pZ3isTtB HifGVD47LU3/yXeW3Oiqskb2AZ4O46OUYTfIdzXkvlLLdWPv7aEt2X+Ncplhx5R1efyGPIJrOIK m5w7SUKp1/eRutTIXncQ967wCxSqFbf7kXRzBsHGLz2SN381GnQhSwTl2rjU93j8zWxGklKiIYV EhU7wYNi6KeW1hscLsygQrkReINEFxVFysmainq0Sb5OOvXGTIZamKADNfemvPZc+FeqztgEMnw == X-Google-Smtp-Source: AGHT+IFo4Ah4Rd/dHx5nhCsz8OYA0c7AdModvMTwzoxUoJoxC913WomOJj3fHd1Es8mERRXLOr+jug== X-Received: by 2002:a5d:50c3:0:b0:3a4:eb92:39b6 with SMTP id ffacd0b85a97d-3b79501d04bmr129674f8f.54.1753804762863; Tue, 29 Jul 2025 08:59:22 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:22 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 2/9] watchdog: rzv2h_wdt: Obtain clock-divider ranges from OF match data Date: Tue, 29 Jul 2025 16:59:08 +0100 Message-ID: <20250729155915.67758-3-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Move the clock division ratio values into OF match data instead of hardcoding them in the driver. Introduce `rzv2h_of_data` to hold `cks_min` and `cks_max`, populated via the device tree match table. In probe, call `of_device_get_match_data()` to retrieve these values for setting up the watchdog. This refactoring is transparent for existing RZ/V2H(P) usage and facilitates adding RZ/T2H support with different divider ranges. Signed-off-by: Lad Prabhakar Reviewed-by: Wolfram Sang --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index 8defd0241213..d64d29709160 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -45,12 +45,18 @@ module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (defau= lt=3D" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); =20 +struct rzv2h_of_data { + u8 cks_min; + u8 cks_max; +}; + struct rzv2h_wdt_priv { void __iomem *base; struct clk *pclk; struct clk *oscclk; struct reset_control *rstc; struct watchdog_device wdev; + const struct rzv2h_of_data *of_data; }; =20 static int rzv2h_wdt_ping(struct watchdog_device *wdev) @@ -106,7 +112,7 @@ static int rzv2h_wdt_start(struct watchdog_device *wdev) * - RPES[9:8] - Window End Position Select - 11b: 0% * - TOPS[1:0] - Timeout Period Select - 11b: 16384 cycles (3FFFh) */ - rzv2h_wdt_setup(wdev, WDTCR_CKS_CLK_256 | WDTCR_RPSS_100 | + rzv2h_wdt_setup(wdev, priv->of_data->cks_max | WDTCR_RPSS_100 | WDTCR_RPES_0 | WDTCR_TOPS_16384); =20 /* @@ -184,7 +190,7 @@ static int rzv2h_wdt_restart(struct watchdog_device *wd= ev, * - RPES[9:8] - Window End Position Select - 00b: 75% * - TOPS[1:0] - Timeout Period Select - 00b: 1024 cycles (03FFh) */ - rzv2h_wdt_setup(wdev, WDTCR_CKS_CLK_1 | WDTCR_RPSS_25 | + rzv2h_wdt_setup(wdev, priv->of_data->cks_min | WDTCR_RPSS_25 | WDTCR_RPES_75 | WDTCR_TOPS_1024); =20 rzv2h_wdt_ping(wdev); @@ -213,6 +219,8 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) if (!priv) return -ENOMEM; =20 + priv->of_data =3D of_device_get_match_data(dev); + priv->base =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(priv->base)) return PTR_ERR(priv->base); @@ -254,8 +262,13 @@ static int rzv2h_wdt_probe(struct platform_device *pde= v) return devm_watchdog_register_device(dev, &priv->wdev); } =20 +static const struct rzv2h_of_data rzv2h_wdt_of_data =3D { + .cks_min =3D WDTCR_CKS_CLK_1, + .cks_max =3D WDTCR_CKS_CLK_256, +}; + static const struct of_device_id rzv2h_wdt_ids[] =3D { - { .compatible =3D "renesas,r9a09g057-wdt", }, + { .compatible =3D "renesas,r9a09g057-wdt", .data =3D &rzv2h_wdt_of_data }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rzv2h_wdt_ids); --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1876E298277; Tue, 29 Jul 2025 15:59:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804767; cv=none; b=U+9/NMIHNDKPAF0maKy4Oe7P6UMg1GlZ7+5KS9+DQPp4FsPRnhz4YkAer5/koBjktpH8UhHiecex3WUqLigVbeO5DNAtJz5yyPFi5GeoWSr2898jecozpxtRusfAIEQJXs/IBabrtBnkD5ESvCRM1A+OFvQWorB/o3n2onYCilA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804767; c=relaxed/simple; bh=1gBp0fXVVpyz2GQBkaWUE7Iy/13JxiP/8autQYFe6rk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jEKWRRIAcc7ZNWWuoPcF/jdz33MZxU3uszTkVZgAsk8py3BFRBiTexIUHq7EKKULA7J7738COaHQTV4NxB5AOkPllnoH6PTLtOyLERBNYk8rXpuipuX0esXqavUXvLRwiPsXdUqe+NWPGT2BplJQPGwJU1/YFwJ2LgDDReOfEUg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bTBNnFQy; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bTBNnFQy" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4563cfac2d2so59411005e9.3; Tue, 29 Jul 2025 08:59:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804764; x=1754409564; darn=vger.kernel.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=V+jmtG7iFxHE/nqzrv+t01mCdmD4ucJR0QhI+mOxTrg=; b=bTBNnFQyT4bK6VNuCDAgaFQCSV6rwT4yx80+Ex6Y8kVl4HOukDuTRqH8Eya6FbspeX gTG2IqQ5PQmaUJtdySZ3q+EnopyiR58EwHh4euM10KOzwIVohXdkFh8sAbjOoeHhNUxE GNHjc/Yge7Ohlp5S+tXDqRb+6FJIGq2kaHDuhynW+bvytIs+QiqpQcksQwL2iUR/6Z5g psUYCzVcM/FI6lOBg2EWuHub+l0+ZrW+KteJ/twZvrQux0kV1tlNaUitzmNCXFNXK/KN Voy+HcfxPa0M/NrD5rkRauKro1XZtJmzTaHW2Rdc5/UG5kvS1678lhZ7msLeb6gRRf9t L/4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804764; x=1754409564; 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=V+jmtG7iFxHE/nqzrv+t01mCdmD4ucJR0QhI+mOxTrg=; b=ZnYRbBFKCwbN+SKKe4RkH/aC7GeckItpPoB6SJg8ZAERN8cVn7aEGgLKj+Zhdlc3cG KDCGx1C7W2yd4otMxIB0x8oJkMMi/IXkIm4V56ZXCuvqV/BcNHDCE5ZB4VlDWQcz1gWP AfWIHCpqK7zFAjMpBbWyuypb6+jpVk0+jbqBqZFO9fJjICtFHYl+zA2rwOzwRo0gsqkX Lw5E1UbJFUk6b6Mf8qye1tUtrDtzHeGOgJ5Fi/7ZPJlzdo7RfFjmiRJlomlo7OECW4vc ++r0GztMNMbr8h/80DaI9Isvd9RlD3azghVbG0MLJN40HSoj0lndO95qBYeeLxiC4+oU qQvg== X-Forwarded-Encrypted: i=1; AJvYcCUUjytCkDh5IDU+kdJsYZfkkzUxwoui8/OIHVc26/1EwZI0onBeEl/v3e7j6NzcPVJFwoXnYb2tcMrn@vger.kernel.org, AJvYcCVU0BKdnDaadZyPtmhT6c+V67Eu6+tZiyNtWe6OShTSwEoa363hjXb4JzNkdwfmiq/4AXfYVCRLKzxoyXnQ@vger.kernel.org, AJvYcCXhigH3PRocWEbm3be74j5P8HY/90ZOwSb39b6a9CcfABY4A1nliUv8ef6gfhBN5TPoxU6cAy2iGpJJ+Te+s0Q+M8w=@vger.kernel.org X-Gm-Message-State: AOJu0YwtdPOqCqWxS6TwN+kBJTVWIDU06wI8+cyg8DazYB2Tl+1s+ArX rw1gqiGH4/lr8tVe5Qha0CtwXpdxiy8ais1eP5wzk9dbyh6MulE42ysV X-Gm-Gg: ASbGncsV9zXd7rMkgT3EX1H7jc2KpWN3PNe8roq78CfX1HZJMMOJQhIaiF8wpORJuyR mnemKfApFa3R51ruyWKL2i/iPWIfr+vqagRciWHXfsFgG1BkLzsHYhQTX5P8TLeJe3hefVsIPq1 LDxltv9vN6P3dSITjL3YXUtpAT8M3pEZLZAh4z5ryDkqZYVg3eGisCp9VOvptzg9oF+cI1UZdkB PZzqyFBGCyi5LvWA5sRr79uFsE4QsXN7yj4B01B+cybyEc9Ra4DUYVEsEG67wGY2+kP/jgab6au DBSc2YQoybhqe1McannUP1IGxdyrwxPBwoYbLdiaXFkn5kJqSUuPQ9h5PM6IFZJBaSFiteHSrOX 1pXd00cto0ne0UI2/+5RhVO9WzGQQ1rv8KO15Mw7nPyA8B180AtdAFpr2jzgn720Mgn6wylMaZs JlKZepsB2J X-Google-Smtp-Source: AGHT+IHzzmsgGr2z5ijjROHnLnd1HI6ShcM6Q6zKZuVYFbS3VMjMdWfryWOjZPuyIxJgDjxFJ7wjog== X-Received: by 2002:a05:600c:1c9b:b0:455:eda0:8a8e with SMTP id 5b1f17b1804b1-45892bdf3camr3000375e9.27.1753804764156; Tue, 29 Jul 2025 08:59:24 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:23 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 3/9] watchdog: rzv2h_wdt: Obtain CKS divider via OF data Date: Tue, 29 Jul 2025 16:59:09 +0100 Message-ID: <20250729155915.67758-4-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Update the rzv2h_wdt driver to obtain the clock division ratio (`cks_div`) from OF match data instead of using a hardcoded value. This allows the driver to support SoCs where the clock divider differs from the default value of 256. This change is a preparatory step for supporting the RZ/T2H SoC, which requires a divider value of 8192. Signed-off-by: Lad Prabhakar Reviewed-by: Wolfram Sang --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index d64d29709160..c2f39dd56687 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -36,7 +36,6 @@ #define WDTRCR_RSTIRQS BIT(7) =20 #define MAX_TIMEOUT_CYCLES 16384 -#define CLOCK_DIV_BY_256 256 =20 #define WDT_DEFAULT_TIMEOUT 60U =20 @@ -48,6 +47,7 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped on= ce started (default=3D" struct rzv2h_of_data { u8 cks_min; u8 cks_max; + u16 cks_div; }; =20 struct rzv2h_wdt_priv { @@ -238,7 +238,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) return dev_err_probe(dev, PTR_ERR(priv->rstc), "failed to get cpg reset"); =20 - priv->wdev.max_hw_heartbeat_ms =3D (MILLI * MAX_TIMEOUT_CYCLES * CLOCK_DI= V_BY_256) / + priv->wdev.max_hw_heartbeat_ms =3D (MILLI * MAX_TIMEOUT_CYCLES * priv->of= _data->cks_div) / clk_get_rate(priv->oscclk); dev_dbg(dev, "max hw timeout of %dms\n", priv->wdev.max_hw_heartbeat_ms); =20 @@ -265,6 +265,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) static const struct rzv2h_of_data rzv2h_wdt_of_data =3D { .cks_min =3D WDTCR_CKS_CLK_1, .cks_max =3D WDTCR_CKS_CLK_256, + .cks_div =3D 256, }; =20 static const struct of_device_id rzv2h_wdt_ids[] =3D { --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FCE2298CC5; Tue, 29 Jul 2025 15:59:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804769; cv=none; b=EpimjKnLuOZe11XBWTbW8vv4WRmISE0lI8trLWUo+5xXoawFuXwg7FryYdb44UbvLQ/YZU0pQfntDxIdQJLmiNojHuqsfKjx7tWduMYP+zSwQ88ciXsAftX76/E5sPB3tYAMbjhBZe774c7c3VOQWpejSxn9CyBZGL/oHMsCBts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804769; c=relaxed/simple; bh=d80BbnLWJw7aYIGqkYH/OF6Uay+jqCNOHGNA/mcUGfw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZUJkHsIxU1JY4M4/bztVXO5gZIk+s1vZ19Ul1H0pZwhtXoK+JkWuMs2R4MLsTHiwxJ9qKlP+Xp9Q9aLtkTYbBwZI9dPSJWQBxhxMxY/orjPGQXbKYxncGIM4jv4j8xjw01XntXExc9KhgKmUN5WqYtf5a4HCGuZ2Pp6NXt7+Dpw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=A4KRSx3F; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="A4KRSx3F" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3b78776fb25so1538670f8f.1; Tue, 29 Jul 2025 08:59:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804765; x=1754409565; darn=vger.kernel.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=SYv+xVv/OkD0dO20HCpV9OkdALvLRcDIxjtD65Z+TQM=; b=A4KRSx3FTEpDO8DD4bvr29NI+Q+hrKK3qciXg4/DTiVc2jqFeDP906Kg4ZVLSPpbxC QTiOk0M8zKweYQvJxm5slPWtb+bBY1irMpC9up5SP2ceGGLJBblifj43XqPSZwsvUpGB Ec6UyJRX61h69krgpIJjLzhx7ujoThiXyElTHtcSEwKEiynxHVmD2PWcPsILnV4WGWpZ NMahQYDULFtRB7TznJAFJsq4TSV4Ec7xMsrDhcmspyzARXGdBZKBCcwq2D3vOoTTROnz 8J7YG9EARH46Meic2+9lD1E3I5If50uv9L5c6WPxdlLFyA0Ez6vdfnyuu7CASOv2rJgV Qbag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804765; x=1754409565; 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=SYv+xVv/OkD0dO20HCpV9OkdALvLRcDIxjtD65Z+TQM=; b=L8MVvSoa+J4n6+h1yZAKY3uyybfVg61vyEcB5ZyeQT3K9koVgP3DMyrFugOJlipwW5 /AkPS7WxZwClVTMUJ9hDOatbaDKOm1IJ4ecs7SwAUHBHvKVssOpwMZS4NkJhoBwl6wxP Y95kUMEqP6hWkE/muAlWI0YSfRyl7MfdfNKAlA6P8NxH6vBlpyvEvwjF6KA+ZAAYxjwC X7c8aeBqGOFGmA1POs7+dFMElPn0QbLdJGu3TmPipu9kYEFcOrARjBGEswNaS2CpZsrX YyHwhkTSA/2gBNdHqAqs/2KAn2mMug09piCarL/O8yFPHQYy2m1wp0mvog6rZ3QW7sjC T7Bg== X-Forwarded-Encrypted: i=1; AJvYcCUmJITeJezrPavnhLw9/3IO7XgAwCTz9aiym5lhpgX1PaDbjyhM9M//o0JPcnOWUtXXA/Ik7LakSmyJRac6YuzY9Tw=@vger.kernel.org, AJvYcCXpVCnGgdQ8DuzKIPIr+dZcMOW8k1m+7L3/cL7bezW5n1VCOaYIOStQ4jOsyz/eGwu2hAjWYLmACL31@vger.kernel.org, AJvYcCXvWE3pSoCJr3k7OniaMfAdu/2AZQw1+910qfXpwfoePkdCZnvROstRVGOeGYVJsv6fT1ZUKpvKjdGUBiv4@vger.kernel.org X-Gm-Message-State: AOJu0YxtXBE2t+CD+be5BIt76KR01STkfoUq9JdPPpGKEDU3J0jmrwum qnsUG+1ztswS+aX8YJf85AVIrQuuGjpZ49lPlZsU3vy4ZFavEBa8Delp X-Gm-Gg: ASbGnctgMahLF8HfZGJ2Ln5VQUjtS21HdYKmchigOIsi3hgL8lpEJ1qqn5sBRPtZEq8 nhmbkPWqkNHcjjoFMDpxdnSiKkjXkLgrYx7wjnNvA97lnb2h7DDqgsXHzZNwFFwOZzUFPIyqzZo 5g0PHlQVdV9P+W203lJFNYZlFx6xexiOsHWhLTnycSP52WMq8WiJCyzyeMNtL296+koW+okbBHE Wanb01FhaU6N9Lg9Jpuiv3O4uoEe/gt0eAbulRc9qapo6T/+iQACT/VpvLmJxiRpBDxEaKOxyEq gEnmhMB55Ucd7PF4arC+fwFUIBY124Te/dQrus4i0g0bSuDmmU+zvNvfJ3PeskvqjOSkMmg2edg Mq+XMECtyHK2esuUrtqGQqvk537dkgfXufRo8Vfdz08IKYxUpsifRiWwIAgV4jgtvhTHJWwLfYQ == X-Google-Smtp-Source: AGHT+IHADWnJGSo1DeWeYcA+fpK/ibo9O+JVzMEsugPi21geW/ffoAOIgIB1biOqX92HTqen2a5DDw== X-Received: by 2002:a05:6000:2405:b0:3b7:93d3:f47f with SMTP id ffacd0b85a97d-3b794f648efmr165106f8f.0.1753804765357; Tue, 29 Jul 2025 08:59:25 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:24 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 4/9] watchdog: rzv2h_wdt: Make "oscclk" an optional clock Date: Tue, 29 Jul 2025 16:59:10 +0100 Message-ID: <20250729155915.67758-5-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Update the driver to obtain the "oscclk" clock using devm_clk_get_optional_prepared() instead of devm_clk_get_prepared(). This allows the driver to handle cases where the "oscclk" clock is not present in the hardware or device tree. This change is in preparation for adding support for the RZ/T2H SoC, which does not provide the "oscclk" clock. Signed-off-by: Lad Prabhakar Reviewed-by: Wolfram Sang --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index c2f39dd56687..baf9d64510b9 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -229,7 +229,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) if (IS_ERR(priv->pclk)) return dev_err_probe(dev, PTR_ERR(priv->pclk), "no pclk"); =20 - priv->oscclk =3D devm_clk_get_prepared(dev, "oscclk"); + priv->oscclk =3D devm_clk_get_optional_prepared(dev, "oscclk"); if (IS_ERR(priv->oscclk)) return dev_err_probe(dev, PTR_ERR(priv->oscclk), "no oscclk"); =20 --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 50639298CD0; Tue, 29 Jul 2025 15:59:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804770; cv=none; b=TH4kB3/ueNdTwykV6dLDizaMylUWyIUL0ezgKSFRL5G26g1p4Dg2eQBmzJ9ity1DMzZpuy0FygQdwL/DDhyiCEw5DNhU5tnLnsx+y8XvLBThfyVO+NDWgxOQFZBM4ThC4Z8kUW7TNb0q/XW7RF+rvwVKCZsQ2EjdEW749n5FN10= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804770; c=relaxed/simple; bh=HnO5nz9IOvhwcpw8eytPMjsK2aWttpRqp7cbarDWQ7M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bBTUp0sWzLjBcoAPLOF5MCKXyuCTmX4CCxApBEW/tCvkXpZrnepKo76I7f2VAkgHiZWLXVP7JH5K/cwZNjrCgFqvjF3KP2agMbwDhzS3Xmc3ElKsvwiQk1Q13n80B2snBeZq3bft6GLuNQG71wR1mfqpsQWnFb6UPEimN3pBTjI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=g6GBaRxn; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="g6GBaRxn" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-455ecacfc32so24117975e9.3; Tue, 29 Jul 2025 08:59:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804767; x=1754409567; darn=vger.kernel.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=ruabpa0ltK5Lm5uR8TpxSi52H/diFH89uaQqlTWqPHs=; b=g6GBaRxnmDLzI9lCuEIwqSG6256/jM0MUdQ7bA4N2b5BcEFwE9nU+SCIHHvMydV9Bz FuwDpDJE6pqKi95O5+hvJK1SABr183K+nWlnAkzcWGoDWD1gA6Yh+iPYNsL80O4G0w5K zeRW0qBulPeVbWx/Ufr4rMr1PxcWwutJ0jMeVhUF4VMs17lj8D2jnJFGjBrKVNxaKCSz s8z2f38+23e0hjHXQ+RgqKG6XXN8Vzq5xOZCXWAsLO7Wgy/nJm7NvzWe3+HkNOBsyNL1 ihY36q0TxFYJvbStPoUIehz5MlKwrO5bO5VW+c3SsKOiPjytHq8x27+4HmrstF64VIKr BlXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804767; x=1754409567; 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=ruabpa0ltK5Lm5uR8TpxSi52H/diFH89uaQqlTWqPHs=; b=lm59a9SbTIRk2kUE304wNF5EfAmq4jAEv5qXCMoC6+fYTszLW69s1tAEO4Y/lcHTVu f4+X0IA2qfDpU6mVuhAc8GhFpIy5nJKxZejMLd5K17fhCDoalH4Nwez5im3VQz+9BMsR oUpPS3M4m4Bde8fjg7fnVRYKgS+oSkodns6t0NKbTtEyOZ+AJll6tTXO4YK09W2Vk5zR 5Hle0CCu73D0zmOuoW2/bYfKRaN7oDgzTAZRv0ygBGL/JY3iH9kZxSel4HaNSfeH09Gc PWzN0R/iTwWKBxh8lRDAM7Cs+2rj+1tCswa+/0bMfIbYONIbUoxoUnSTOoyCFUnxKdoo 5Iyg== X-Forwarded-Encrypted: i=1; AJvYcCUdZAOEeWTyTKKNfNaHo4tg2oAtqmh+YQl7hPqh1r1JuAfCuXetPm4IEWG0HjfmBUfHq+qypeY73LYda1Xs@vger.kernel.org, AJvYcCVCV2yy/nBgjZAP1BQBs7FWSGn4t5JjySQIAf+ZZQdWJXIxqSS++swLtp+zmft0xrOejPUjwOg5YXaF@vger.kernel.org, AJvYcCWTgpm3j0j3tII7wB51u0392B96CDWL3agNAhypQp8hcPRaO/tRUtWoU5t3GZ+XHL5FlaHT9ca7TikblwLz8er3Iek=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1YnqjS8iO3BY43Zpi+KMnN7EL6t4pBTo3Btc2J+3V2fPql4cg UvYIgBon+9681Tup4qwRYI03WtGT/HqM5SSNBWCtH499VgOjnMMDKvQd X-Gm-Gg: ASbGncvA903XpM3/1qOMkD0U+5tw7li5AdJ5BsVHEhGxSUtctXq81YZZRBXZjbY0dH9 RiOjd43DuOH4bsZBBL2XiV7vTrj6e7t0cbVia9RzsWuA8cCMbPH703lUXL1O1LbC7Jcoa+CrUbV caee0CYeVCkOf4UR0i4u6rA4uTtvuX35ogA/VMReLd+0P+GHBEVEgiklns/B0iJT9/t+YQ5h25/ N9L8/hrQyJhcy8S8et/W9lvDo4ofwxQ4m/wxjeJE9i6uy9ptUS4ken4HAQ/hUwUDR6oZMexnSFZ fO6ITuRIrHu42h2GRCGKC3oH961RlhvZ0EUJhZmciYQu9caTfjbwlg1UuLmxCEKoYpOVflFuHfM eL9eeLlJUFFwQHdCse9lomvPSluNHliAzCpJH+oSGM8b5GjCXUzbTRx2QiDWG0V3xPw1nWPwVyn DyZSbI65t/ X-Google-Smtp-Source: AGHT+IHaOhU/mBedspEm3DiLop96zCzxMCflfEOkgbh1MwpkPDOFnNRPwlJFe1xw1/z9fePZ90mJ2w== X-Received: by 2002:a05:600c:8b81:b0:456:eb9:5236 with SMTP id 5b1f17b1804b1-45892ba3686mr3590825e9.15.1753804766553; Tue, 29 Jul 2025 08:59:26 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:25 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 5/9] watchdog: rzv2h_wdt: Add support for configurable count clock source Date: Tue, 29 Jul 2025 16:59:11 +0100 Message-ID: <20250729155915.67758-6-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Add support for selecting the count clock source used by the watchdog timer. The RZ/V2H(P) SoC uses the LOCO as the count source, whereas on RZ/T2H and RZ/N2H SoCs, the count source is the peripheral clock (PCLKL). Introduce a `count_source` field in the SoC-specific data structure and refactor the clock rate selection logic accordingly. This prepares the driver for supporting the RZ/T2H and RZ/N2H SoCs, which differ in their watchdog clocking architecture from RZ/V2H(P). Signed-off-by: Lad Prabhakar Reviewed-by: Wolfram Sang --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index baf9d64510b9..cb584ac5860f 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -44,10 +44,16 @@ module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (defau= lt=3D" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); =20 +enum rzv2h_wdt_count_source { + COUNT_SOURCE_LOCO, + COUNT_SOURCE_PCLK, +}; + struct rzv2h_of_data { u8 cks_min; u8 cks_max; u16 cks_div; + enum rzv2h_wdt_count_source count_source; }; =20 struct rzv2h_wdt_priv { @@ -213,6 +219,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct rzv2h_wdt_priv *priv; + struct clk *count_clk; int ret; =20 priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); @@ -238,8 +245,18 @@ static int rzv2h_wdt_probe(struct platform_device *pde= v) return dev_err_probe(dev, PTR_ERR(priv->rstc), "failed to get cpg reset"); =20 + switch (priv->of_data->count_source) { + case COUNT_SOURCE_LOCO: + count_clk =3D priv->oscclk; + break; + case COUNT_SOURCE_PCLK: + count_clk =3D priv->pclk; + break; + default: + return dev_err_probe(dev, -EINVAL, "Invalid count source\n"); + } priv->wdev.max_hw_heartbeat_ms =3D (MILLI * MAX_TIMEOUT_CYCLES * priv->of= _data->cks_div) / - clk_get_rate(priv->oscclk); + clk_get_rate(count_clk); dev_dbg(dev, "max hw timeout of %dms\n", priv->wdev.max_hw_heartbeat_ms); =20 ret =3D devm_pm_runtime_enable(dev); @@ -266,6 +283,7 @@ static const struct rzv2h_of_data rzv2h_wdt_of_data =3D= { .cks_min =3D WDTCR_CKS_CLK_1, .cks_max =3D WDTCR_CKS_CLK_256, .cks_div =3D 256, + .count_source =3D COUNT_SOURCE_LOCO, }; =20 static const struct of_device_id rzv2h_wdt_ids[] =3D { --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 080232980AA; Tue, 29 Jul 2025 15:59:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804771; cv=none; b=B9dE7Dk/RqjWYtIMCmZbmHH2/DZ1oXvWTCrFGnfKLEZcTwTsdOlfsuZ2UeQEHYz+NUW8bGMNxARv9QDxnKCPFtGYq/TqXHJIEFXANGcEMl0RmXAr1A/WCGHbJ+mTGMzOOhblOkgtYpS/wJldBBgIa4O/h6HdKS8tEFoXnb57sBE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804771; c=relaxed/simple; bh=B9nYNI6c2ACO6k9bgYDZjFYHBSnoN0q5cwqet5trxQ4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KQkdUSOv/PVPJVrkg74kBbTjcKdfpdiZbXZJMLCephnsuUIDoGeUft9xQjRr4o7SJA8cJLUCAfK6ffJAq3uYqPve/ogVvNrdQYomv8fMrarRI6ls7PI9ZCVsg/3uFLdoERbCRDf/AwsIJoAe7GjhrYWzSB2XlCSaTj3tM2MvwI4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=P8ZBkVJD; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="P8ZBkVJD" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-45892deb246so304285e9.2; Tue, 29 Jul 2025 08:59:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804768; x=1754409568; darn=vger.kernel.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=VtM4I8vtWLcn3/TM2qsvlWpnIy4QIgNAoMQTGdyCT1o=; b=P8ZBkVJDbFREBAz5IuVnzbIIP/FWliRXIZKpE2xsXT26xyEHoK7ylFctV/awWtW5f+ SaGoYfT02q2aS5q5XcDphsWp0D2E47R/hVizAR2HshhpDXkoUNtpdu54W4CVJaCLMCfq NPNJcPU3/U9GAIyuVatY69Z3zIZpM/URjPROTwarmFKVR+zq8um9eGtp5GUfDSrsbz6F /p1ES36uyXwqF3dzGQAml4owc3ixiGa9KF2H2USeqGEVtIe5Ef8IvDp7TblAD8+s4x3O kG36+l5A6I7ofSxwo1XfD9YxoXJ3ClHF6ILIb2yR7ow98shpCKE0g1ciYzodgelSbKdY Y7+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804768; x=1754409568; 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=VtM4I8vtWLcn3/TM2qsvlWpnIy4QIgNAoMQTGdyCT1o=; b=eBMHHOMAUS1i9qWF5dXHKy2ffwgloWoaKms2DNWQnTRmaxymMMT4Z2D+P0lFuu8+9l 7OOmer3k5ZX/yxQxjgVOHvkw9ydn10ZVmIrxDvbSmShugVM0qWy/wEMwb9aaZpSEdFZr EvXQ7sBhrGhyx92bVC1JycnNw+Bpy1ke4oXCib5hVXeJzUwaDv55H06GdkHWG+rwWuVm 69uqAwEpvpTrua3F0RR2fqCKOwFCCp7pj5jAgQWeD86PaAU8wAg1ffyrkaFk7TecHWlU Rnw918oy+sQZa8a9RIwpi5P+N6Pjbf8tEnlTzBxL8uFfyPo58Ve8J01v1buIUlcrGfem 4OSQ== X-Forwarded-Encrypted: i=1; AJvYcCW/fDDNL3WHyMsQFKmkTZnMSXvEajJhdYsCJBTQlEQ8bNH9vbsCvIfIrOa0v/3IgLUBXhLAV/IuSB3UU5Tu@vger.kernel.org, AJvYcCXBY7X4I0d31xm4UTX0Lz0m26anmFQ17Ph9fI1n4pmaYxzOpjhOi8BXd6I8yN++yPc/xZ0WT1CwZHIhXuids15F0b0=@vger.kernel.org, AJvYcCXV3p5Dc/XKkj0f047rxIdlkWQKZafBxTpc1lLyMjyZxnK11LWfFNHD6XVTzeJ7s7lqvMQgUm3/4Ovs@vger.kernel.org X-Gm-Message-State: AOJu0YyGyQ25uZqf9NrLdA0xq7c+1t/aIu3tSmQ37ob+p6WZi1pWA+id cfFyTgw4+TIWr+3A8Lf2Vvom68iSaK/m4L+2uVBSGVFqRbt6rUGtnR9+ X-Gm-Gg: ASbGncu63XNyaZ3kHH6lfCCRYTrKbDEGQGmGT46dURZuu8VFYZnKAKXw7WQXtZSMLXX sAcg6JS8wDyYaGMTKffJf2Hbmza6yJKvqyiSuUQP+Cz52cam8WXFbPMFVNQVI8jbcHdoNRorPoO nGhxfxYdte26sELO5Yo00igB1VE0vGZk14iiLgydNlh9ur9izbLvA9/6bbVudb4TuyV0QamTvdp vctCicJjRSVawmvHr/j2HhC0YwNPxw7XjP0Tv5wXHMZyC5oW7xiV0AxjAwiciRNk0tCj/A1WJU9 9B1Wclzu4HrS7xmpTni8VfRdPqq+CLvZ26ZD8ja+u8demZaJFXTGcfAO+juJVjI1pVq5Kbfmhsi PxPDOGzkpDJypAQou419NvuMwjlHbpQrE8t4eFqaAo0PIdkiF12FRGRMMbs8l9BK/A2yAYgmAHg == X-Google-Smtp-Source: AGHT+IGgWDkcvx0MdeWGngpNkx1ITjRfpN+0b4px8SS+RoH/y4uMnX0szz3DWQztXayNGe3W/sFuBQ== X-Received: by 2002:a05:600c:1d19:b0:456:18f3:b951 with SMTP id 5b1f17b1804b1-45892ba16b5mr3251785e9.15.1753804767883; Tue, 29 Jul 2025 08:59:27 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:27 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 6/9] watchdog: rzv2h_wdt: Make reset controller optional Date: Tue, 29 Jul 2025 16:59:12 +0100 Message-ID: <20250729155915.67758-7-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Use devm_reset_control_get_optional_exclusive() instead of devm_reset_control_get_exclusive() to allow the driver to operate on platforms where a reset controller is not present. This change is in preparation for supporting the RZ/T2H SoC, which does not have reset. Signed-off-by: Lad Prabhakar Reviewed-by: Wolfram Sang --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index cb584ac5860f..f0e2bf786acc 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -240,7 +240,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) if (IS_ERR(priv->oscclk)) return dev_err_probe(dev, PTR_ERR(priv->oscclk), "no oscclk"); =20 - priv->rstc =3D devm_reset_control_get_exclusive(dev, NULL); + priv->rstc =3D devm_reset_control_get_optional_exclusive(dev, NULL); if (IS_ERR(priv->rstc)) return dev_err_probe(dev, PTR_ERR(priv->rstc), "failed to get cpg reset"); --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07BFE299AB1; Tue, 29 Jul 2025 15:59:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804772; cv=none; b=OEWJbqohS1E1dwzFxJFpIEj2bjqmh38b3gxqeOCo1tdZ2kJNSILXM9X5bf0kEPkJYoq6wWptzIIRLxb2D54hwWfI05y9aH9sBilj2xhjf5p9Tf5d8sU6ivt2Kg0bTCw1sp6Onec7F3mpoZRYd5b6Ad/a3vg+7q4EAE/XcYVukKU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804772; c=relaxed/simple; bh=UECrRReDGvmfN3ozezJ7VtJp9VNA3aa1MLYpNMTvzj8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QUFVijEKQppcrQA6e3EpNdgUd9soVvaKqw5Oil+/6QW4RtV4yCDMDuB9agfV24yigfWhYqTMFL+Wub1dqxvf6PMpsIc6HQMinUF+akQUdLN+nQykiaEiS/3Og9WQpNFt4YT2maPfXFna4g6InCfbDFtLa7qVK7logARuBOH57LU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=amb7yynv; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="amb7yynv" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-456108bf94bso31786415e9.0; Tue, 29 Jul 2025 08:59:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804769; x=1754409569; darn=vger.kernel.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=dvoFiY2KW/n/yhVsSJbauDPNuWCooiMd4epdBANYBtU=; b=amb7yynvyJz4R9bCY21608lblJ95J33QvcRXnwYe7hleXjNN8iQuEdwSOWkaEUlQq9 iMliM15rIJhaLCFMXLLxidyvOsy9JY361e0S/y4zMb+V1W+BBtFNdTWg2yfHcLzyhXmc ydx63g0q6AgmFHW3RQm3l5UdoW2obuFxHCQDgwQXbdIbCrvOePkAmbOSyQt5P+GRbM3U BygHKJq4sl286/h6kUKpJ3mK735O72iu/y6Qg7cR+YC/qNdhHfX7Ct0PRD5Xdi2aAVlC iByOkJIoXfqRburxwvIT442S+ExClzqdwcf8tNmgHYWutmKuGiRiwjqrK7WZ3Qe/pcm0 nx8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804769; x=1754409569; 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=dvoFiY2KW/n/yhVsSJbauDPNuWCooiMd4epdBANYBtU=; b=xFA67o26PCYwtuMHzRGDCJBPIa+TT46PU/Vb1FV5gZ0lmnKxDwyqKsMsGoCTGMdqRE 3V7GGuoy1LrLl9AgrwEyhTE7U8AUv8dhQPePz2LUW2YFRvXJbKlv4ROr79k7ko3AjZBC nwQzj5wZMh6QVIkdHckwqkx1xzprnuuV7gj/YPd19EfyvqlhbizFgsQQYOhh6rcfEpBW h1upCCQsEMKwqgiD8pMBB/vp3vkNRGuNE4REpslH1LFRffNhm0IRsIJaC/RD0nIecjHp c7i4JORRAnClqxdSqijA839rZKgM2lrfQmW8DMP3Gfjd3tvFuCBuGPOdxcFn6IWSjWyF JvlQ== X-Forwarded-Encrypted: i=1; AJvYcCV74r4ugg74gv9aQB3hreSYDEh2f/fR7uDzhc5oNiwGDt3B/3aadZNaktfCaQm1ITFbqrhdq5ZCHlG85/nmc+7favI=@vger.kernel.org, AJvYcCX5YLc+5ZRvopO3zapDxHHsXeMrghj0AouKdzM7iwWrARM881gjPJdWGwiHugYlER5TocQluowWT5pu@vger.kernel.org, AJvYcCXYCDgauq+Pnx2DRSSq3pGAn5LUe4XI1DGCdE6gLKpdyvyaQMImxcLTvXS2guZK2sKUW7hQ2kJ3QVnALws/@vger.kernel.org X-Gm-Message-State: AOJu0YxoEG+gntgqNzxM8tvWjmn+maW1lxIvItMB4hV1aoMnIEgAGu8H AbWwTFXDSprmgcm9UIKN0Q5LNVISLQ6Yq5iyY9t+rgjpuXk8Lm5Qgg0T X-Gm-Gg: ASbGnctfDHFfW+TWr536zUU6Ai32mQpGShpZ6qoTHtUZ63m0soV+7bSlVOW1k4K356n qM3TFApb2pHgoxeizplI8iCKLYFezzLOT8gRNv9hyToTLl/z0pREYYdxCs4p9e9AxahqkmaJA8H VHvxISNP5qsFFHTgllSmZMOtPI8gcLo/gtSwBaU1TFZs6EDY5WovexJuobj4p2D/QGw2pO8SlgN sBAq1HC661zmglRhFcxpd92CEJ4Mri3smFZW0EKonHuugzO6ddJvOgbJOhewEzYTH/Z2e8K27rD yD3XX6C4NvwRSV4SC9c3FIOosz9bVFySFTDryoqnadzpJvqC55vOBqJomAGc4ApkfiSyHEDES4c ddmVihh7zqm4EWPAOti9e9/NbVpdUVv18wZpqdgFCvk9VjilCNZJ7O0/if46io8XKOlDtibxBbg == X-Google-Smtp-Source: AGHT+IHmsW8pYFNOLhhXnto1W16NpjqxhRX3M6WZdJJU+5XwB6UX1XhWsNmEUzlbcJgUBI1ISEqpcA== X-Received: by 2002:a05:600c:4448:b0:456:1e5a:885e with SMTP id 5b1f17b1804b1-45892b95341mr4164125e9.3.1753804769182; Tue, 29 Jul 2025 08:59:29 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:28 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 7/9] watchdog: rzv2h: Set min_timeout based on max_hw_heartbeat_ms Date: Tue, 29 Jul 2025 16:59:13 +0100 Message-ID: <20250729155915.67758-8-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Update the watchdog minimum timeout value to be derived from `max_hw_heartbeat_ms` using `DIV_ROUND_UP()` to ensure a valid and consistent minimum timeout in seconds. This avoids hardcoding a value of `1` second and allows the driver to adapt correctly to different hardware configurations that may set `max_hw_heartbeat_ms` differently (e.g., based on the SoC clock source and divider). Signed-off-by: Lad Prabhakar --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index f0e2bf786acc..9c11ce323c16 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -263,7 +263,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) if (ret) return ret; =20 - priv->wdev.min_timeout =3D 1; + priv->wdev.min_timeout =3D DIV_ROUND_UP(priv->wdev.max_hw_heartbeat_ms, M= SEC_PER_SEC); priv->wdev.timeout =3D WDT_DEFAULT_TIMEOUT; priv->wdev.info =3D &rzv2h_wdt_ident; priv->wdev.ops =3D &rzv2h_wdt_ops; --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5EB3629A9CD; Tue, 29 Jul 2025 15:59:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804774; cv=none; b=QyehWlfTI36hIx/B6nASOOzgEwCk5DD/mZVyOJdYIcv2Nl6o8h1G6U1EiCjSRqdrDjm5TmoDojg1EW3FoW05OmETz5Leav4/Cju/gVApxNBOVmY2hzD0xSWIJ6YFBbgvDtHSmMQ81OslQKb9k/KDfGAAGIgIi2d9H2uoiovFhhs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804774; c=relaxed/simple; bh=K0R4RjwpZyCicSWFwFqAw+4R5RGghtqpmJ+ISw1rJ+A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jGb3lwGrM1yGYyVoh9dNlQdgA/PdBojz1IPTAdS8pOwmCU+NshJBWCxaUze/CQpR7vlmQdfiCTB0a6a97sS64ivZ+W9bfi3KEnajF7EaDH7nubQiDa8l39076V9+eLY6z4O69t6EjbWdiaY7k49Pc9/Y6tAKGUsYMgFchFk5Z9A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JA+/vLxt; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JA+/vLxt" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-45618ddd62fso57045175e9.3; Tue, 29 Jul 2025 08:59:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804771; x=1754409571; darn=vger.kernel.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=ihUDkyho81x1o6cTJJdSUCwZWpZ4ReDOMoAv4I1Fock=; b=JA+/vLxtz6YqawPsUqUhmzQWk0yprMr6Gu5cSv6DIATffUliDoUt85164OIUaWq2As mpKEL9VqPmFUk47ma8eV+WVeCl5NT+Js2GIRhPBRZqo6stlsKFJHQUy0FYNIRB8hmtpW fBFOkwJFjBAEzsRzv272VnkhFvXRPMXPDbqt4YNCJA++3Ji0lVs+mHj3XjkAjcRBrYGa vcGC3Y8y/g2CA/pDgNjKVo/HGXUDqYmLu6yhCHisMVMSFKHKcwFYWqQUHQde0QVAbSeq Ze8ZsQRVqqONiadI7RUXVr8GWUCFb54hQk5fsnIIK7Lv5dGwdSfOrSIAk/PBrTuSgPwA 2sEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804771; x=1754409571; 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=ihUDkyho81x1o6cTJJdSUCwZWpZ4ReDOMoAv4I1Fock=; b=agw4fvRmx7aYvkK28iDvbRohc4ivgcui+MwKHA6PVh+cRpyyCasiQuW+nfn+9KQnvq k50YrMVacRfobR6Zrs+ILx5B+XTo7KoikqVGoFFau6bF1e1s0C8izgL70ROx00Gw6oF0 TIxeJGzWpInMKbhtvzwKjUn4OY/jTnsWkja7he7/pTWdv12fNWUy4P+MI9EZu03pGubB 2DLsXRBiSDLxuVoT+nrXarNSE7Iv7dAZG4e9aWjrSKEJOWZb2ZAVn/07WQCkQYIiE5Gp f2EbD6ymg10rGIpBxkFv2RNL4L2mi3kAol4iRtw4Ph5FuxKaz1RjogT92UULgw2cBLZl IquA== X-Forwarded-Encrypted: i=1; AJvYcCUNf1NSznONPF+fzJDBAUqQWT90SVjxw7zHLeJ1j1OBGy8mBOsMZAmjwzR6kZg4RpfUpRz3FD8jJK+WsltsxPjbrYc=@vger.kernel.org, AJvYcCUQ6sFsFi9hAkn/3mehVr6P+erQzDKiT8+XFmwADU4wl1mGit2VIh8Stjp8KIFA1f3zbfEams1j6A58OyE6@vger.kernel.org, AJvYcCVJHfv9GsHDUCLlyiQlAs+vNF7h41OXzIRYjdwc8mvZ8gtVsx1txDe6lQs237P2reXHPfhn0KrEs95m@vger.kernel.org X-Gm-Message-State: AOJu0YzfUgse4ChLssH7ZHO9w/ybwcItYvn/sKasbbLBrWCqXn4u8Zm9 rtQT9YHh6FaGpmiaEKAHPA5vdLcW/Vx+JkO+IhwavTF03sj53dBC3WWW X-Gm-Gg: ASbGnctYGej/Hv5GOl2wkcYW+svZ0icOk3wY7GerSJwck6EujMMLgBQ8SsHPQBuUTqW rhMNMk/6b3In391butaBf8SD94FgDZdbjfd25hMLSzylk5KolyZlJTV9GFZ/8W5414039fh+OgI ncIScXZYNZOFuYgsIkMlGM5yvZUd6Ka9RM7Gfe4ThtcSNhRDWVDbGIkCnDQ+n80idLU7TTh/8m/ b2MfDbbDUdfD2xoZuE4dGlJ3PQHruipaU6JwEw8r1qzIitSa7OYhjRc3jk9nj03F4WCW/N9Xk4I RDi8UMa10+FCjFP4mYDxG0BRHCEaSUsDH1JCy+9C/yQOEzDefa3Y/muVjza0HQbTNDA65rijBu/ ryRwpD0tfV3sQS9AujZKguMms4yFp1VZBDBJBK2k0zVC5chB22jS8eOPngJOkdf7ZOY7Ek6PROQ == X-Google-Smtp-Source: AGHT+IE71e3KqxdOp8yvwn/U0iHH2gXMVqmU7Rx0AooTfLj3HsAYg48vVIEob2gdUOLNAXwpyWo37g== X-Received: by 2002:a5d:5d8a:0:b0:3b7:8c98:2f4c with SMTP id ffacd0b85a97d-3b794ffe7d0mr150187f8f.33.1753804770609; Tue, 29 Jul 2025 08:59:30 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:29 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 8/9] watchdog: rzv2h: Add support for RZ/T2H Date: Tue, 29 Jul 2025 16:59:14 +0100 Message-ID: <20250729155915.67758-9-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Add support for the RZ/T2H watchdog timer. The RZ/T2H requires control of the watchdog counter using the WDT Debug Control Register (WDTDCR), which allows explicitly stopping and starting the counter. This behavior differs from RZ/V2H, which doesn't use WDTDCR, so the driver is extended to handle this requirement. To support this, a new `wdtdcr` flag is introduced in the `rzv2h_of_data` structure. When set, the driver maps the WDTDCR register and uses it to control the watchdog counter in the start, stop, and restart callbacks. Additionally, the clock divisor and count source for RZ/T2H are defined to match its hardware configuration. Signed-off-by: Lad Prabhakar Reviewed-by: Wolfram Sang --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 77 +++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 2 deletions(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index 9c11ce323c16..1b32bab87d67 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -21,11 +21,16 @@ #define WDTSR 0x04 /* WDT Status Register RW, 16 */ #define WDTRCR 0x06 /* WDT Reset Control Register RW, 8 */ =20 +/* This register is only available on RZ/T2H and RZ/N2H SoCs */ +#define WDTDCR 0x00 /* WDT Debug Control Register RW, 32 */ + #define WDTCR_TOPS_1024 0x00 #define WDTCR_TOPS_16384 0x03 =20 #define WDTCR_CKS_CLK_1 0x00 +#define WDTCR_CKS_CLK_4 0x10 #define WDTCR_CKS_CLK_256 0x50 +#define WDTCR_CKS_CLK_8192 0x80 =20 #define WDTCR_RPES_0 0x300 #define WDTCR_RPES_75 0x000 @@ -35,6 +40,8 @@ =20 #define WDTRCR_RSTIRQS BIT(7) =20 +#define WDTDCR_WDTSTOPCTRL BIT(0) + #define MAX_TIMEOUT_CYCLES 16384 =20 #define WDT_DEFAULT_TIMEOUT 60U @@ -54,10 +61,12 @@ struct rzv2h_of_data { u8 cks_max; u16 cks_div; enum rzv2h_wdt_count_source count_source; + bool wdtdcr; }; =20 struct rzv2h_wdt_priv { void __iomem *base; + void __iomem *wdtdcr; struct clk *pclk; struct clk *oscclk; struct reset_control *rstc; @@ -79,6 +88,20 @@ static int rzv2h_wdt_ping(struct watchdog_device *wdev) return 0; } =20 +static void rzt2h_wdt_wdtdcr_count_stop(struct rzv2h_wdt_priv *priv) +{ + u32 reg =3D readl(priv->wdtdcr + WDTDCR); + + writel(reg | WDTDCR_WDTSTOPCTRL, priv->wdtdcr + WDTDCR); +} + +static void rzt2h_wdt_wdtdcr_count_start(struct rzv2h_wdt_priv *priv) +{ + u32 reg =3D readl(priv->wdtdcr + WDTDCR); + + writel(reg & ~WDTDCR_WDTSTOPCTRL, priv->wdtdcr + WDTDCR); +} + static void rzv2h_wdt_setup(struct watchdog_device *wdev, u16 wdtcr) { struct rzv2h_wdt_priv *priv =3D watchdog_get_drvdata(wdev); @@ -113,7 +136,9 @@ static int rzv2h_wdt_start(struct watchdog_device *wdev) =20 /* * WDTCR - * - CKS[7:4] - Clock Division Ratio Select - 0101b: oscclk/256 + * - CKS[7:4] - Clock Division Ratio Select + * - 0101b: oscclk/256 for RZ/V2H(P) + * - 1000b: pclkl/8192 for RZ/T2H * - RPSS[13:12] - Window Start Position Select - 11b: 100% * - RPES[9:8] - Window End Position Select - 11b: 0% * - TOPS[1:0] - Timeout Period Select - 11b: 16384 cycles (3FFFh) @@ -121,6 +146,9 @@ static int rzv2h_wdt_start(struct watchdog_device *wdev) rzv2h_wdt_setup(wdev, priv->of_data->cks_max | WDTCR_RPSS_100 | WDTCR_RPES_0 | WDTCR_TOPS_16384); =20 + if (priv->of_data->wdtdcr) + rzt2h_wdt_wdtdcr_count_start(priv); + /* * Down counting starts after writing the sequence 00h -> FFh to the * WDTRR register. Hence, call the ping operation after loading the count= er. @@ -139,6 +167,9 @@ static int rzv2h_wdt_stop(struct watchdog_device *wdev) if (ret) return ret; =20 + if (priv->of_data->wdtdcr) + rzt2h_wdt_wdtdcr_count_stop(priv); + ret =3D pm_runtime_put(wdev->parent); if (ret < 0) return ret; @@ -191,7 +222,9 @@ static int rzv2h_wdt_restart(struct watchdog_device *wd= ev, =20 /* * WDTCR - * - CKS[7:4] - Clock Division Ratio Select - 0000b: oscclk/1 + * - CKS[7:4] - Clock Division Ratio Select + * - 0000b: oscclk/1 for RZ/V2H(P) + * - 0100b: pclkl/4 for RZ/T2H * - RPSS[13:12] - Window Start Position Select - 00b: 25% * - RPES[9:8] - Window End Position Select - 00b: 75% * - TOPS[1:0] - Timeout Period Select - 00b: 1024 cycles (03FFh) @@ -199,6 +232,9 @@ static int rzv2h_wdt_restart(struct watchdog_device *wd= ev, rzv2h_wdt_setup(wdev, priv->of_data->cks_min | WDTCR_RPSS_25 | WDTCR_RPES_75 | WDTCR_TOPS_1024); =20 + if (priv->of_data->wdtdcr) + rzt2h_wdt_wdtdcr_count_start(priv); + rzv2h_wdt_ping(wdev); =20 /* wait for underflow to trigger... */ @@ -215,6 +251,28 @@ static const struct watchdog_ops rzv2h_wdt_ops =3D { .restart =3D rzv2h_wdt_restart, }; =20 +static int rzt2h_wdt_wdtdcr_init(struct platform_device *pdev, + struct rzv2h_wdt_priv *priv) +{ + int ret; + + priv->wdtdcr =3D devm_platform_ioremap_resource(pdev, 1); + if (IS_ERR(priv->wdtdcr)) + return PTR_ERR(priv->wdtdcr); + + ret =3D pm_runtime_resume_and_get(&pdev->dev); + if (ret) + return ret; + + rzt2h_wdt_wdtdcr_count_stop(priv); + + ret =3D pm_runtime_put(&pdev->dev); + if (ret < 0) + return ret; + + return 0; +} + static int rzv2h_wdt_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -263,6 +321,12 @@ static int rzv2h_wdt_probe(struct platform_device *pde= v) if (ret) return ret; =20 + if (priv->of_data->wdtdcr) { + ret =3D rzt2h_wdt_wdtdcr_init(pdev, priv); + if (ret) + return dev_err_probe(dev, ret, "WDTDCR init failed\n"); + } + priv->wdev.min_timeout =3D DIV_ROUND_UP(priv->wdev.max_hw_heartbeat_ms, M= SEC_PER_SEC); priv->wdev.timeout =3D WDT_DEFAULT_TIMEOUT; priv->wdev.info =3D &rzv2h_wdt_ident; @@ -279,6 +343,14 @@ static int rzv2h_wdt_probe(struct platform_device *pde= v) return devm_watchdog_register_device(dev, &priv->wdev); } =20 +static const struct rzv2h_of_data rzt2h_wdt_of_data =3D { + .cks_min =3D WDTCR_CKS_CLK_4, + .cks_max =3D WDTCR_CKS_CLK_8192, + .cks_div =3D 8192, + .count_source =3D COUNT_SOURCE_PCLK, + .wdtdcr =3D true, +}; + static const struct rzv2h_of_data rzv2h_wdt_of_data =3D { .cks_min =3D WDTCR_CKS_CLK_1, .cks_max =3D WDTCR_CKS_CLK_256, @@ -288,6 +360,7 @@ static const struct rzv2h_of_data rzv2h_wdt_of_data =3D= { =20 static const struct of_device_id rzv2h_wdt_ids[] =3D { { .compatible =3D "renesas,r9a09g057-wdt", .data =3D &rzv2h_wdt_of_data }, + { .compatible =3D "renesas,r9a09g077-wdt", .data =3D &rzt2h_wdt_of_data }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, rzv2h_wdt_ids); --=20 2.50.1 From nobody Sun Oct 5 21:59:55 2025 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D8E1F2951A8; Tue, 29 Jul 2025 15:59:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804775; cv=none; b=MpCzdOveVs6DUw0qCGF2aBIaES9dtPeskThwmhKEFAb0jYSI0pwZ+qznveQPxHI3USNHnjBcd6yXS1vwXuZAY1zG4cxD6r2U7E1MK22OijO4vNI3Y307tgs3pNDXVOcfMJXBNU7ROUtEn2FKan/Y/JhPrjAUxIeJgQvC0J8UkCs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753804775; c=relaxed/simple; bh=qijvZ0ldY8tfO052bu9qwgPi3S9ADxw7SiseQRFSEsA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AUVfJnwaaVG1ekmnps/Ay+wxemdwJo/h/iNwTVqhcCrnDPAQVPK3B/zNtigdlgoI1PFBU+RrqP5yWu/WC25D9/jd/8Tcgnp3AFsCg9o7rm7MHCSkV6vQgSAn9KGMLr7CQeujoHqxutcf5r9Q2b66c7j9WL2368FS4VgXnXkSw2Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JNGXr71z; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JNGXr71z" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-3b783d851e6so2804403f8f.0; Tue, 29 Jul 2025 08:59:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753804772; x=1754409572; darn=vger.kernel.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=AShRiryHO7F/QO/kgY5hVX4Qft3GQ8t4IUNBt9irlp8=; b=JNGXr71zAzKEmIcqDWObO48LfSXJAGRVpaV/36u3V5B1s1Dj1AqBEmEmj+q03f2/dd HCKXu/Q116JY6hqG+5XYMmt9BHxLEr+9VQr8alshzoKfJlGY2cejv40hsvyt3iM02Cc2 jr2HACVNkH0rlRM13kr4wDNEpvs0mYpjdx7+SgJx+IxwPje1QaXQHn8Uwcs8NTDN7lxT Y6rX3JroE8H5V94S33Rk7/u903N4lA6P4WjvJiZPA5gKELiZ3krvy9Mq+7ROQbMblTbg hbF9r7mgOMhwHv3Ox72qwQfHoJ+eYNUUJsd4DXhClWrzwXjwaiFygOtuH7e08vRt/rJE 1k+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753804772; x=1754409572; 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=AShRiryHO7F/QO/kgY5hVX4Qft3GQ8t4IUNBt9irlp8=; b=WrswV9OgFFP0+kMzMTtk46UXVA6u9S9AOx5lMrUeP705++oxM6cXxdWOCNSk8bnbuL BzHapopXcM5tw3HIrWkEx6ErFCZKsVLBXf/bVOHpZr17kDVzA6zIjyWuyqvgCEATFrKL ifdng+R0jab+ZeqKcygVuLS3E3JO9RVacZEsaS5LKCDzJNxwdxtgFtZZ16SehJyMTsMf Sf0tbN0bAe8qVBoz4HT4Sz21slj8q3nUYrE/yzofrT5X/3WKpdM7W2bx/uyGdyOgNshE jdwuK4pp8yk+SIA1ud03YBI/Pk3EI9t5aY9xDcnwha2KDJ3p3sRqv+m2uDiscYlzY2u/ rlHg== X-Forwarded-Encrypted: i=1; AJvYcCX6jruGDHNCUs0EtTa+nUXge4NurVFwoDXlQwsH/k/J7EEJtp2vT32gzi8BdQrznaGxNJoT0C4MuDzypQMf@vger.kernel.org, AJvYcCXWxv8MVn3TFLqrplrf2AEteQDb8fBo6B5dCHFIMvgzsqO2X4ZCMIZ7p5MnkxZx9BeHzb8YdZm5uPIb@vger.kernel.org, AJvYcCXa1AhjtkMwsm+YdHqNt2A9yYbAdiVjEMqfoqcMQ8cCH1JfldNukqBnLppvZ9TAb7N9xFjqNUv3TNgLiZApMCSgoQw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx0wJwbHe+UrXkmfI2ObEJmVMriWTYB6o8088a9qz1mn0oFgtzc Zw08PbolTTtU84Ppa7pqfr5X5TA+W8PtolzYQE+dTzS3CwLS3oVF9VAA X-Gm-Gg: ASbGncutkpb9YSla0A4dDFyhkOxnTzD0aI6taQBE3q3BI5+84nZqDL1cuz2fSGgVgMe 4Z11i2Cm2v3zB6vEgFa/YTXEIVuEKsqdHhNWox99p+zmfKMfgdto0lgUGU6eUby3872OTx6rwh+ P8fPLgoTlUMxKFFJK+RS5j6lBzV0byEJPPFcrWxAGFK/LZLXdKYtcB8Gz4TRnxlLUOCA5lchxTp Yv+Xip8RDRxH2a/7o9biWZ7uqcYTKjAET6HbfMblAtcvZ1JlVr9uufpMdjpminq+eseDe1610pO gg04ihfpp6sTyRxzlZ/34LZHen1Av9zWOLANi0VKGXACgkAQPytGBBHTLdctACq2xCqrBX32mD6 XF8g0qB09feSfLeoRz2L5OTzDorjHIrhmPjdd6ieLULqLk5ZmogpIA+fI1SyZU0nCk/e+r0ewcg == X-Google-Smtp-Source: AGHT+IFUNYWjN85krBi94XZ5vcJuA1ZR67t8AOlPHUGM+7xuP2h0SFzhCBSUxGl/fZbaBk44plPtfw== X-Received: by 2002:a05:6000:4203:b0:3ab:27f9:e4f with SMTP id ffacd0b85a97d-3b794ffe745mr150976f8f.35.1753804771950; Tue, 29 Jul 2025 08:59:31 -0700 (PDT) Received: from iku.Home (97e54365.skybroadband.com. [151.229.67.101]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b78a9d3d03sm6062509f8f.2.2025.07.29.08.59.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Jul 2025 08:59:31 -0700 (PDT) From: Prabhakar X-Google-Original-From: Prabhakar To: Wim Van Sebroeck , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Geert Uytterhoeven , Magnus Damm , Wolfram Sang Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Prabhakar , Biju Das , Fabrizio Castro , Lad Prabhakar Subject: [PATCH v2 9/9] watchdog: rzv2h_wdt: Improve error strings and add newlines Date: Tue, 29 Jul 2025 16:59:15 +0100 Message-ID: <20250729155915.67758-10-prabhakar.mahadev-lad.rj@bp.renesas.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> References: <20250729155915.67758-1-prabhakar.mahadev-lad.rj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lad Prabhakar Update rzv2h_wdt_probe() to provide clearer error strings when retrieving the pclk, oscclk, and reset controller, and append missing newline characters to dev_err_probe() and dev_warn() calls for proper log formatting. Signed-off-by: Lad Prabhakar Reviewed-by: Wolfram Sang --- v1->v2: - No changes. --- drivers/watchdog/rzv2h_wdt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/watchdog/rzv2h_wdt.c b/drivers/watchdog/rzv2h_wdt.c index 1b32bab87d67..db76a7c0e1d6 100644 --- a/drivers/watchdog/rzv2h_wdt.c +++ b/drivers/watchdog/rzv2h_wdt.c @@ -292,16 +292,16 @@ static int rzv2h_wdt_probe(struct platform_device *pd= ev) =20 priv->pclk =3D devm_clk_get_prepared(dev, "pclk"); if (IS_ERR(priv->pclk)) - return dev_err_probe(dev, PTR_ERR(priv->pclk), "no pclk"); + return dev_err_probe(dev, PTR_ERR(priv->pclk), "Failed to get pclk\n"); =20 priv->oscclk =3D devm_clk_get_optional_prepared(dev, "oscclk"); if (IS_ERR(priv->oscclk)) - return dev_err_probe(dev, PTR_ERR(priv->oscclk), "no oscclk"); + return dev_err_probe(dev, PTR_ERR(priv->oscclk), "Failed to get oscclk\n= "); =20 priv->rstc =3D devm_reset_control_get_optional_exclusive(dev, NULL); if (IS_ERR(priv->rstc)) return dev_err_probe(dev, PTR_ERR(priv->rstc), - "failed to get cpg reset"); + "Failed to get cpg reset\n"); =20 switch (priv->of_data->count_source) { case COUNT_SOURCE_LOCO: @@ -338,7 +338,7 @@ static int rzv2h_wdt_probe(struct platform_device *pdev) =20 ret =3D watchdog_init_timeout(&priv->wdev, 0, dev); if (ret) - dev_warn(dev, "Specified timeout invalid, using default"); + dev_warn(dev, "Specified timeout invalid, using default\n"); =20 return devm_watchdog_register_device(dev, &priv->wdev); } --=20 2.50.1