From nobody Thu Apr 2 09:43:50 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.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 03B5D3F0758 for ; Tue, 24 Mar 2026 11:43:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352623; cv=none; b=FUTOb3FQsCX/7aFoGoxZIC+0zOHus2N59/eYZ08aCer6Fymm91aOslUgkJfrSQDW36OfUfIltsnWOt2pVikH48+8UyVwjbdJN9ZFr6GYN1PjhpaRi067kR5BrRlRyRdtdWqBdIG0rH35C5uEt/7OLeV8tPDPppW2aIT3WKRla8w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352623; c=relaxed/simple; bh=ltF/XhsS3aw6bMGSxWaD1fK69iZy+ZvkwNB/tRdJFfQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZjAFHp7lYRilVVGtUQyvljeuELlTf9aX/8spUhKZE48Rz6dnMaxgJ66eN4s39Z/DzXzya1dvVYv6DoOKNwWFAZB3c0wRVW27Qwn0w8Uv8biUFW+1lJSbcy3QOVXYEz1uXS5dV5BOPojCqn5its8AtzHLESvO4dsQiiLU2PPjEFM= 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=DhykTEVn; arc=none smtp.client-ip=209.85.128.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="DhykTEVn" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-48374014a77so51557005e9.3 for ; Tue, 24 Mar 2026 04:43:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352614; x=1774957414; 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=zScKcjuMcDoEYWpVeGCf4cpPFP/QVyFir+GQ7SSQRCE=; b=DhykTEVnpCiY8a86CxWz8aN6hEq9Z46of60rUK1amgfJWyU9bOFc3eKo3pIgdT4YV7 1RjaVca3nEU1jcjpKplvqYyutq3j1Vx/1YGujZ+2SR9P/ygVdm5RBRLSEV+9XCUOguo5 hE4+jy4DNRsBg1riO5wbEQCMLWfaddyLOjetBfwyK1bzkz92oLN37VBfW6hgCnfpI5/l 4WOPf0cbJlaihyIgSZC9CvI/N0ZpKUSFMZYRuviw8dsftVWp4JG/wftRMXOCWxVTjk5O gevpzYFaO8uvMD/uI7d6L9ONWoUsk2R5QJ3SVRp5g8Smp8WcjjC4T4OPxxZnQzs2iKJX 7JlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352614; x=1774957414; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=zScKcjuMcDoEYWpVeGCf4cpPFP/QVyFir+GQ7SSQRCE=; b=g7s43bsWzFqQxchKPbRXBMRYlWtDg+yfL3J7cY7EntGT0ks9DM9xK+nm8l3ivrRqYa BeXXCMIwPwwrVIqZbAQuIE5NCGkZ+ItFAyon1GOWyxhP8Wx+QGeMkh+Q99uw2CkIgYeB dBjkGXcXFmVlKTKR4UC6fM/mSJqwEJ6y0kZjIVzh4c0EiATPqihWb1eJgKcElPLw7OZW fK/5FR9/rViGkKgpguwjEeKfei7I5E4avayN2eNxTmrnUBjwHXpaHsAsRRxvyvl5WPuz nmEFm1yjz5euB5HY9DKnptHsc9Up7DAfM0WZyNzdVoK8HmtkRCRQcFFYrrNkkWZajbGu aokw== X-Forwarded-Encrypted: i=1; AJvYcCXrdb6zvMLSuv2Lg7zNRzLDeWv9sUUdas5JClBo6ZCVc/8Zkcn7Ft11wV9G4t3l7LatVObp7Op1Fe+VT0c=@vger.kernel.org X-Gm-Message-State: AOJu0YzxMP8OgpBvSk7eVE5ZTIekuRgpOoOc1bG2Pcva21WlU324D+NQ Iwxm//ddbWECRfchX9vhkpJ6cARY0yWiU5bj/ZUeyrIJokvFsuCDftfx X-Gm-Gg: ATEYQzx05QeWBIhXVIzGnppQH+FO8pD6kCMdl/a7XHnv8JFncdLCM9xWf0WK9Wb2OPU FU7XwJLogJYJN10jd+AQGSfbAls/LNPQz8CzrZvmdrJkAyvSzv3ttWKrbjwv7aExfgomIFdzard CHTiLr9V2f8iIV0D9DZWy3IBTl0kJjvCfU3HflZubNnGgGKw0QF4/YlFXq07bf8HGQsUIomnZ+S hMFRrYSZv4gPSKEyNILFtEVFgNAcDyeRfWDqxC1LDOa6+CvXRNrENfevgtIjg6pTYXfqlc/pt5W I0G7XchIt45l3rLNY2bU5jD/rfT/+UorF3JvCNRpoB036HB2RKccwtt2x/i7Zu+7lTD3fQief2d 7Wc+TGyAkkFOSoC3SlcDEyTf2FL+Qg8JcQzG0/AqcwDdvuRhl6eEXyRLnl3ZT0nEeC4T51zB/EW lF+3Ejqo8d5FNuspkD+sNcukrx3Jxz/2MNbGUB8JcNnZ/G//PQ X-Received: by 2002:a05:600c:c111:b0:485:3a03:cee1 with SMTP id 5b1f17b1804b1-486ff02119bmr157477115e9.33.1774352613346; Tue, 24 Mar 2026 04:43:33 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:33 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Magnus Damm Cc: Biju Das , linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das , Conor Dooley Subject: [PATCH v8 01/11] dt-bindings: clock: Document RZ/G3L SoC Date: Tue, 24 Mar 2026 11:43:06 +0000 Message-ID: <20260324114329.268249-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das Document the device tree bindings for the Renesas RZ/G3L SoC Clock Pulse Generator (CPG). RZ/G3L CPG is similar to RZ/G2L CPG but has 5 clocks compared to 1 clock on other SoCs. Also define RZ/G3L (R9A08G046) Clock Pulse Generator Core Clocks, as listed in section 4.4.4.1 ("Block Diagram of the Clock System"), module clock outputs, as listed in section 4.4.2 ("Clock List r1.00") and add Reset definitions referring to registers CPG_RST_* in Section 4.4.3 ("Register") of the RZ/G3L Hardware User's Manual (Rev.1.00 Oct, 2025). Acked-by: Conor Dooley Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v7->v8: * Fixed the R9A08G046_ADC1_ADCLK macro value 138->139. v6->v7: * No change v5->v6: * No change v4->v5: * No change v3->v4: * Updated commit description related to core clocks section in the hardware manual * Dropped CLK_P4_DIV2 from core clocks * Added MIPI_DSI_PLLCLK and USB_SCLK to core clocks * Dropped LVDS_PCLK module clock * Added BSC_X_PRESET_BSC reset v2->v3: * Added macros R9A08G046_ETH{0,1}_CLK_{TX,RX}_I_RMII. * Keep the tag from Conor as it is trivial change for just adding macros. v1->v2: * Documented external ethernet clocks as it is a clock source for MUX inside CPG * Updated commit description. * Keep the tag from Conor as it is trivial change for adding more clks. --- .../bindings/clock/renesas,rzg2l-cpg.yaml | 40 +- include/dt-bindings/clock/r9a08g046-cpg.h | 342 ++++++++++++++++++ 2 files changed, 377 insertions(+), 5 deletions(-) create mode 100644 include/dt-bindings/clock/r9a08g046-cpg.h diff --git a/Documentation/devicetree/bindings/clock/renesas,rzg2l-cpg.yaml= b/Documentation/devicetree/bindings/clock/renesas,rzg2l-cpg.yaml index 8c18616e5c4d..c0ce687d83ee 100644 --- a/Documentation/devicetree/bindings/clock/renesas,rzg2l-cpg.yaml +++ b/Documentation/devicetree/bindings/clock/renesas,rzg2l-cpg.yaml @@ -28,19 +28,30 @@ properties: - renesas,r9a07g044-cpg # RZ/G2{L,LC} - renesas,r9a07g054-cpg # RZ/V2L - renesas,r9a08g045-cpg # RZ/G3S + - renesas,r9a08g046-cpg # RZ/G3L - renesas,r9a09g011-cpg # RZ/V2M =20 reg: maxItems: 1 =20 clocks: - maxItems: 1 + minItems: 1 + items: + - description: Clock source to CPG can be either from external clock + input (EXCLK) or crystal oscillator (XIN/XOUT). + - description: ETH0 TXC clock input + - description: ETH0 RXC clock input + - description: ETH1 TXC clock input + - description: ETH1 RXC clock input =20 clock-names: - description: - Clock source to CPG can be either from external clock input (EXCLK) = or - crystal oscillator (XIN/XOUT). - const: extal + minItems: 1 + items: + - const: extal + - const: eth0_txc_tx_clk + - const: eth0_rxc_rx_clk + - const: eth1_txc_tx_clk + - const: eth1_rxc_rx_clk =20 '#clock-cells': description: | @@ -74,6 +85,25 @@ required: - '#power-domain-cells' - '#reset-cells' =20 +allOf: + - if: + properties: + compatible: + contains: + const: renesas,r9a08g046-cpg + then: + properties: + clocks: + minItems: 5 + clock-names: + minItems: 5 + else: + properties: + clocks: + maxItems: 1 + clock-names: + maxItems: 1 + additionalProperties: false =20 examples: diff --git a/include/dt-bindings/clock/r9a08g046-cpg.h b/include/dt-binding= s/clock/r9a08g046-cpg.h new file mode 100644 index 000000000000..d5ac3db22c80 --- /dev/null +++ b/include/dt-bindings/clock/r9a08g046-cpg.h @@ -0,0 +1,342 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) + * + * Copyright (C) 2026 Renesas Electronics Corp. + */ +#ifndef __DT_BINDINGS_CLOCK_R9A08G046_CPG_H__ +#define __DT_BINDINGS_CLOCK_R9A08G046_CPG_H__ + +#include + +/* R9A08G046 CPG Core Clocks */ +#define R9A08G046_CLK_I 0 +#define R9A08G046_CLK_IC0 1 +#define R9A08G046_CLK_IC1 2 +#define R9A08G046_CLK_IC2 3 +#define R9A08G046_CLK_IC3 4 +#define R9A08G046_CLK_P0 5 +#define R9A08G046_CLK_P1 6 +#define R9A08G046_CLK_P2 7 +#define R9A08G046_CLK_P3 8 +#define R9A08G046_CLK_P4 9 +#define R9A08G046_CLK_P5 10 +#define R9A08G046_CLK_P6 11 +#define R9A08G046_CLK_P7 12 +#define R9A08G046_CLK_P8 13 +#define R9A08G046_CLK_P9 14 +#define R9A08G046_CLK_P10 15 +#define R9A08G046_CLK_P13 16 +#define R9A08G046_CLK_P14 17 +#define R9A08G046_CLK_P15 18 +#define R9A08G046_CLK_P16 19 +#define R9A08G046_CLK_P17 20 +#define R9A08G046_CLK_P18 21 +#define R9A08G046_CLK_P19 22 +#define R9A08G046_CLK_P20 23 +#define R9A08G046_CLK_M0 24 +#define R9A08G046_CLK_M1 25 +#define R9A08G046_CLK_M2 26 +#define R9A08G046_CLK_M3 27 +#define R9A08G046_CLK_M4 28 +#define R9A08G046_CLK_M5 29 +#define R9A08G046_CLK_M6 30 +#define R9A08G046_CLK_AT 31 +#define R9A08G046_CLK_B 32 +#define R9A08G046_CLK_ETHTX01 33 +#define R9A08G046_CLK_ETHTX02 34 +#define R9A08G046_CLK_ETHRX01 35 +#define R9A08G046_CLK_ETHRX02 36 +#define R9A08G046_CLK_ETHRM0 37 +#define R9A08G046_CLK_ETHTX11 38 +#define R9A08G046_CLK_ETHTX12 39 +#define R9A08G046_CLK_ETHRX11 40 +#define R9A08G046_CLK_ETHRX12 41 +#define R9A08G046_CLK_ETHRM1 42 +#define R9A08G046_CLK_G 43 +#define R9A08G046_CLK_HP 44 +#define R9A08G046_CLK_SD0 45 +#define R9A08G046_CLK_SD1 46 +#define R9A08G046_CLK_SD2 47 +#define R9A08G046_CLK_SPI0 48 +#define R9A08G046_CLK_SPI1 49 +#define R9A08G046_CLK_S0 50 +#define R9A08G046_CLK_SWD 51 +#define R9A08G046_OSCCLK 52 +#define R9A08G046_OSCCLK2 53 +#define R9A08G046_MIPI_DSI_PLLCLK 54 +#define R9A08G046_USB_SCLK 55 + +/* R9A08G046 Module Clocks */ +#define R9A08G046_CA55_SCLK 0 +#define R9A08G046_CA55_PCLK 1 +#define R9A08G046_CA55_ATCLK 2 +#define R9A08G046_CA55_GICCLK 3 +#define R9A08G046_CA55_PERICLK 4 +#define R9A08G046_CA55_ACLK 5 +#define R9A08G046_CA55_TSCLK 6 +#define R9A08G046_CA55_CORECLK0 7 +#define R9A08G046_CA55_CORECLK1 8 +#define R9A08G046_CA55_CORECLK2 9 +#define R9A08G046_CA55_CORECLK3 10 +#define R9A08G046_SRAM_ACPU_ACLK0 11 +#define R9A08G046_SRAM_ACPU_ACLK1 12 +#define R9A08G046_SRAM_ACPU_ACLK2 13 +#define R9A08G046_GIC600_GICCLK 14 +#define R9A08G046_IA55_CLK 15 +#define R9A08G046_IA55_PCLK 16 +#define R9A08G046_MHU_PCLK 17 +#define R9A08G046_SYC_CNT_CLK 18 +#define R9A08G046_DMAC_ACLK 19 +#define R9A08G046_DMAC_PCLK 20 +#define R9A08G046_OSTM0_PCLK 21 +#define R9A08G046_OSTM1_PCLK 22 +#define R9A08G046_OSTM2_PCLK 23 +#define R9A08G046_MTU_X_MCK_MTU3 24 +#define R9A08G046_POE3_CLKM_POE 25 +#define R9A08G046_GPT_PCLK 26 +#define R9A08G046_POEG_A_CLKP 27 +#define R9A08G046_POEG_B_CLKP 28 +#define R9A08G046_POEG_C_CLKP 29 +#define R9A08G046_POEG_D_CLKP 30 +#define R9A08G046_WDT0_PCLK 31 +#define R9A08G046_WDT0_CLK 32 +#define R9A08G046_WDT1_PCLK 33 +#define R9A08G046_WDT1_CLK 34 +#define R9A08G046_WDT2_PCLK 35 +#define R9A08G046_WDT2_CLK 36 +#define R9A08G046_XSPI_HCLK 37 +#define R9A08G046_XSPI_ACLK 38 +#define R9A08G046_XSPI_CLK 39 +#define R9A08G046_XSPI_CLKX2 40 +#define R9A08G046_SDHI0_IMCLK 41 +#define R9A08G046_SDHI0_IMCLK2 42 +#define R9A08G046_SDHI0_CLK_HS 43 +#define R9A08G046_SDHI0_IACLKS 44 +#define R9A08G046_SDHI0_IACLKM 45 +#define R9A08G046_SDHI1_IMCLK 46 +#define R9A08G046_SDHI1_IMCLK2 47 +#define R9A08G046_SDHI1_CLK_HS 48 +#define R9A08G046_SDHI1_IACLKS 49 +#define R9A08G046_SDHI1_IACLKM 50 +#define R9A08G046_SDHI2_IMCLK 51 +#define R9A08G046_SDHI2_IMCLK2 52 +#define R9A08G046_SDHI2_CLK_HS 53 +#define R9A08G046_SDHI2_IACLKS 54 +#define R9A08G046_SDHI2_IACLKM 55 +#define R9A08G046_GE3D_CLK 56 +#define R9A08G046_GE3D_AXI_CLK 57 +#define R9A08G046_GE3D_ACE_CLK 58 +#define R9A08G046_ISU_ACLK 59 +#define R9A08G046_ISU_PCLK 60 +#define R9A08G046_H264_CLK_A 61 +#define R9A08G046_H264_CLK_P 62 +#define R9A08G046_CRU_SYSCLK 63 +#define R9A08G046_CRU_VCLK 64 +#define R9A08G046_CRU_PCLK 65 +#define R9A08G046_CRU_ACLK 66 +#define R9A08G046_MIPI_DSI_SYSCLK 67 +#define R9A08G046_MIPI_DSI_ACLK 68 +#define R9A08G046_MIPI_DSI_PCLK 69 +#define R9A08G046_MIPI_DSI_VCLK 70 +#define R9A08G046_MIPI_DSI_LPCLK 71 +#define R9A08G046_LVDS_PLLCLK 72 +#define R9A08G046_LVDS_CLK_DOT0 73 +#define R9A08G046_LCDC_CLK_A 74 +#define R9A08G046_LCDC_CLK_D 75 +#define R9A08G046_LCDC_CLK_P 76 +#define R9A08G046_SSI0_PCLK2 77 +#define R9A08G046_SSI0_PCLK_SFR 78 +#define R9A08G046_SSI1_PCLK2 79 +#define R9A08G046_SSI1_PCLK_SFR 80 +#define R9A08G046_SSI2_PCLK2 81 +#define R9A08G046_SSI2_PCLK_SFR 82 +#define R9A08G046_SSI3_PCLK2 83 +#define R9A08G046_SSI3_PCLK_SFR 84 +#define R9A08G046_USB_U2H0_HCLK 85 +#define R9A08G046_USB_U2H1_HCLK 86 +#define R9A08G046_USB_U2P0_EXR_CPUCLK 87 +#define R9A08G046_USB_U2P1_EXR_CPUCLK 88 +#define R9A08G046_USB_PCLK 89 +#define R9A08G046_ETH0_CLK_AXI 90 +#define R9A08G046_ETH0_CLK_CHI 91 +#define R9A08G046_ETH0_CLK_TX_I 92 +#define R9A08G046_ETH0_CLK_RX_I 93 +#define R9A08G046_ETH0_CLK_TX_180_I 94 +#define R9A08G046_ETH0_CLK_RX_180_I 95 +#define R9A08G046_ETH0_CLK_RMII_I 96 +#define R9A08G046_ETH0_CLK_PTP_REF_I 97 +#define R9A08G046_ETH0_CLK_TX_I_RMII 98 +#define R9A08G046_ETH0_CLK_RX_I_RMII 99 +#define R9A08G046_ETH1_CLK_AXI 100 +#define R9A08G046_ETH1_CLK_CHI 101 +#define R9A08G046_ETH1_CLK_TX_I 102 +#define R9A08G046_ETH1_CLK_RX_I 103 +#define R9A08G046_ETH1_CLK_TX_180_I 104 +#define R9A08G046_ETH1_CLK_RX_180_I 105 +#define R9A08G046_ETH1_CLK_RMII_I 106 +#define R9A08G046_ETH1_CLK_PTP_REF_I 107 +#define R9A08G046_ETH1_CLK_TX_I_RMII 108 +#define R9A08G046_ETH1_CLK_RX_I_RMII 109 +#define R9A08G046_I2C0_PCLK 110 +#define R9A08G046_I2C1_PCLK 111 +#define R9A08G046_I2C2_PCLK 112 +#define R9A08G046_I2C3_PCLK 113 +#define R9A08G046_SCIF0_CLK_PCK 114 +#define R9A08G046_SCIF1_CLK_PCK 115 +#define R9A08G046_SCIF2_CLK_PCK 116 +#define R9A08G046_SCIF3_CLK_PCK 117 +#define R9A08G046_SCIF4_CLK_PCK 118 +#define R9A08G046_SCIF5_CLK_PCK 119 +#define R9A08G046_RSCI0_PCLK 120 +#define R9A08G046_RSCI0_TCLK 121 +#define R9A08G046_RSCI1_PCLK 122 +#define R9A08G046_RSCI1_TCLK 123 +#define R9A08G046_RSCI2_PCLK 124 +#define R9A08G046_RSCI2_TCLK 125 +#define R9A08G046_RSCI3_PCLK 126 +#define R9A08G046_RSCI3_TCLK 127 +#define R9A08G046_RSPI0_PCLK 128 +#define R9A08G046_RSPI0_TCLK 129 +#define R9A08G046_RSPI1_PCLK 130 +#define R9A08G046_RSPI1_TCLK 131 +#define R9A08G046_RSPI2_PCLK 132 +#define R9A08G046_RSPI2_TCLK 133 +#define R9A08G046_CANFD_PCLK 134 +#define R9A08G046_CANFD_CLK_RAM 135 +#define R9A08G046_GPIO_HCLK 136 +#define R9A08G046_ADC0_ADCLK 137 +#define R9A08G046_ADC0_PCLK 138 +#define R9A08G046_ADC1_ADCLK 139 +#define R9A08G046_ADC1_PCLK 140 +#define R9A08G046_TSU_PCLK 141 +#define R9A08G046_PDM_PCLK 142 +#define R9A08G046_PDM_CCLK 143 +#define R9A08G046_PCI_ACLK 144 +#define R9A08G046_PCI_CLKL1PM 145 +#define R9A08G046_PCI_CLK_PMU 146 +#define R9A08G046_SPDIF_PCLK 147 +#define R9A08G046_I3C_TCLK 148 +#define R9A08G046_I3C_PCLK 149 +#define R9A08G046_VBAT_BCLK 150 +#define R9A08G046_BSC_X_BCK_BSC 151 + +/* R9A08G046 Resets */ +#define R9A08G046_CA55_RST0_0 0 +#define R9A08G046_CA55_RST0_1 1 +#define R9A08G046_CA55_RST0_2 2 +#define R9A08G046_CA55_RST0_3 3 +#define R9A08G046_CA55_RST4_0 4 +#define R9A08G046_CA55_RST4_1 5 +#define R9A08G046_CA55_RST4_2 6 +#define R9A08G046_CA55_RST4_3 7 +#define R9A08G046_CA55_RST8 8 +#define R9A08G046_CA55_RST9 9 +#define R9A08G046_CA55_RST10 10 +#define R9A08G046_CA55_RST11 11 +#define R9A08G046_CA55_RST12 12 +#define R9A08G046_CA55_RST13 13 +#define R9A08G046_CA55_RST14 14 +#define R9A08G046_CA55_RST15 15 +#define R9A08G046_CA55_RST16 16 +#define R9A08G046_SRAM_ACPU_ARESETN0 17 +#define R9A08G046_SRAM_ACPU_ARESETN1 18 +#define R9A08G046_SRAM_ACPU_ARESETN2 19 +#define R9A08G046_GIC600_GICRESET_N 20 +#define R9A08G046_GIC600_DBG_GICRESET_N 21 +#define R9A08G046_IA55_RESETN 22 +#define R9A08G046_MHU_RESETN 23 +#define R9A08G046_SYC_RESETN 24 +#define R9A08G046_DMAC_ARESETN 25 +#define R9A08G046_DMAC_RST_ASYNC 26 +#define R9A08G046_GTM0_PRESETZ 27 +#define R9A08G046_GTM1_PRESETZ 28 +#define R9A08G046_GTM2_PRESETZ 29 +#define R9A08G046_MTU_X_PRESET_MTU3 30 +#define R9A08G046_POE3_RST_M_REG 31 +#define R9A08G046_GPT_RST_C 32 +#define R9A08G046_POEG_A_RST 33 +#define R9A08G046_POEG_B_RST 34 +#define R9A08G046_POEG_C_RST 35 +#define R9A08G046_POEG_D_RST 36 +#define R9A08G046_WDT0_PRESETN 37 +#define R9A08G046_WDT1_PRESETN 38 +#define R9A08G046_WDT2_PRESETN 39 +#define R9A08G046_XSPI_HRESETN 40 +#define R9A08G046_XSPI_ARESETN 41 +#define R9A08G046_SDHI0_IXRST 42 +#define R9A08G046_SDHI1_IXRST 43 +#define R9A08G046_SDHI2_IXRST 44 +#define R9A08G046_SDHI0_IXRSTAXIM 45 +#define R9A08G046_SDHI0_IXRSTAXIS 46 +#define R9A08G046_SDHI1_IXRSTAXIM 47 +#define R9A08G046_SDHI1_IXRSTAXIS 48 +#define R9A08G046_SDHI2_IXRSTAXIM 49 +#define R9A08G046_SDHI2_IXRSTAXIS 50 +#define R9A08G046_GE3D_RESETN 51 +#define R9A08G046_GE3D_AXI_RESETN 52 +#define R9A08G046_GE3D_ACE_RESETN 53 +#define R9A08G046_ISU_ARESETN 54 +#define R9A08G046_ISU_PRESETN 55 +#define R9A08G046_H264_X_RESET_VCP 56 +#define R9A08G046_H264_CP_PRESET_P 57 +#define R9A08G046_CRU_CMN_RSTB 58 +#define R9A08G046_CRU_PRESETN 59 +#define R9A08G046_CRU_ARESETN 60 +#define R9A08G046_MIPI_DSI_CMN_RSTB 61 +#define R9A08G046_MIPI_DSI_ARESET_N 62 +#define R9A08G046_MIPI_DSI_PRESET_N 63 +#define R9A08G046_LCDC_RESET_N 64 +#define R9A08G046_SSI0_RST_M2_REG 65 +#define R9A08G046_SSI1_RST_M2_REG 66 +#define R9A08G046_SSI2_RST_M2_REG 67 +#define R9A08G046_SSI3_RST_M2_REG 68 +#define R9A08G046_USB_U2H0_HRESETN 69 +#define R9A08G046_USB_U2H1_HRESETN 70 +#define R9A08G046_USB_U2P0_EXL_SYSRST 71 +#define R9A08G046_USB_PRESETN 72 +#define R9A08G046_USB_U2P1_EXL_SYSRST 73 +#define R9A08G046_ETH0_ARESET_N 74 +#define R9A08G046_ETH1_ARESET_N 75 +#define R9A08G046_I2C0_MRST 76 +#define R9A08G046_I2C1_MRST 77 +#define R9A08G046_I2C2_MRST 78 +#define R9A08G046_I2C3_MRST 79 +#define R9A08G046_SCIF0_RST_SYSTEM_N 80 +#define R9A08G046_SCIF1_RST_SYSTEM_N 81 +#define R9A08G046_SCIF2_RST_SYSTEM_N 82 +#define R9A08G046_SCIF3_RST_SYSTEM_N 83 +#define R9A08G046_SCIF4_RST_SYSTEM_N 84 +#define R9A08G046_SCIF5_RST_SYSTEM_N 85 +#define R9A08G046_RSPI0_PRESETN 86 +#define R9A08G046_RSPI1_PRESETN 87 +#define R9A08G046_RSPI2_PRESETN 88 +#define R9A08G046_RSPI0_TRESETN 89 +#define R9A08G046_RSPI1_TRESETN 90 +#define R9A08G046_RSPI2_TRESETN 91 +#define R9A08G046_CANFD_RSTP_N 92 +#define R9A08G046_CANFD_RSTC_N 93 +#define R9A08G046_GPIO_RSTN 94 +#define R9A08G046_GPIO_PORT_RESETN 95 +#define R9A08G046_GPIO_SPARE_RESETN 96 +#define R9A08G046_ADC0_PRESETN 97 +#define R9A08G046_ADC0_ADRST_N 98 +#define R9A08G046_ADC1_PRESETN 99 +#define R9A08G046_ADC1_ADRST_N 100 +#define R9A08G046_TSU_PRESETN 101 +#define R9A08G046_PDM_PRESETN 102 +#define R9A08G046_PCI_ARESETN 103 +#define R9A08G046_SPDIF_RST 104 +#define R9A08G046_I3C_TRESETN 105 +#define R9A08G046_I3C_PRESETN 106 +#define R9A08G046_VBAT_BRESETN 107 +#define R9A08G046_RSCI0_PRESETN 108 +#define R9A08G046_RSCI1_PRESETN 109 +#define R9A08G046_RSCI2_PRESETN 110 +#define R9A08G046_RSCI3_PRESETN 111 +#define R9A08G046_RSCI0_TRESETN 112 +#define R9A08G046_RSCI1_TRESETN 113 +#define R9A08G046_RSCI2_TRESETN 114 +#define R9A08G046_RSCI3_TRESETN 115 +#define R9A08G046_LVDS_RESET_N 116 +#define R9A08G046_BSC_X_PRESET_BSC 117 + +#endif /* __DT_BINDINGS_CLOCK_R9A08G046_CPG_H__ */ --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (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 C70CD3EFD1C for ; Tue, 24 Mar 2026 11:43:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352624; cv=none; b=ZsFU1yvxxQojs2OtqQFpT6aOEZxZKkGJW+VbSHqX68chlhhH2ndtgYpTQai9W3eTk4Db461iYkXS2Aiy8wRcv44ggPwf3ZI98akKhvIhAfCeRbnt6VWi1vrziDAFaP4ZTjKL6ojzGtI6MeldFjWHeZV0Z+rY095RGGGl/lqz5rI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352624; c=relaxed/simple; bh=tMIliIfFi5lR2/wRIsIo/Pu8rrmOHm9c6ZsxrsgHRV4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UWLO+fW3KfHszV9cVl3g8p84giepnvf2fRIwu9EhgNekj62qHxWLsRMsQF2Pkc/GQ78YpGC7DqvuWJtUXacj36zE+b11OVUsKiGLK7C596k8XDy5TpkUnRuQgviuzDKQCjtwy8lnHfPMryIJ3DFpUCnKKecqoENbVgd2gn3Q2L4= 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=rYg7ipM/; arc=none smtp.client-ip=209.85.221.53 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="rYg7ipM/" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-439b97a8a8cso4095412f8f.1 for ; Tue, 24 Mar 2026 04:43:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352615; x=1774957415; 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=kbEI/M0HqfFMx8pnHBxJmnqRJ3E+kcbAEuNKlxD4MiU=; b=rYg7ipM/mWEmcCmMbOjn/HtY6ZCjgYx9L1DGhBMxK7HX0Msn8r9w2bJsuOtdRD/E84 uXgIMzb1Yq1pAHZQW30sW2ysat+I+SO5tIgA34NmweE4ZS8ZHKHbRKrnNHRN0mBVkEwI /M6r7FsHILKMeU94uS27kkYpbea5VDNJwL3jxW/GKy+LNTBtq8jin7zPRcD0WsVseP7s Y745ffbNMpxXrZ1cbxlcCt4ZwGUszkf0sd/6Y1f3hVf8aPcBTFr5avTq2tkangjmyQe2 fxyBAezUp9RTupWUQSSCdFtCOdMDOFvBonA6Yz2/ltlWxr3HhaDVaVF4mozCSqIZPyPG mDQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352615; x=1774957415; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=kbEI/M0HqfFMx8pnHBxJmnqRJ3E+kcbAEuNKlxD4MiU=; b=hgUpczRppUMproCWr6DsUHPl1CRuOADB1Q782+tpzNr+BhTv3SJ20NwrtLSISdBW+F Vd+Hlym76P3IOB5+wReqhWD8jKyoHfDDeHD3JKNB9IB+XS2RevbopETnhdpFsgJhZEfG ADFH+akXYMv3SGwQl6qeT4rAXz9CBrBJhUw8ls2OdS8Wxhri2d4AxvXkJFP5DqsDK+ZA 4pGJZqLYvkZGU4tkjJX2ePmFNV4mQ3rRTjrjCGfaz89aOM+/3m3iV58kMYXFgv55iKDT YMrhIiFGsRvBzeu6j6ia1EW3D+gm+1iAQCh2pQiiHkS5KPUZrEKmOeVN37mtc/YzmV8I lwhg== X-Forwarded-Encrypted: i=1; AJvYcCVh5D2sZxPoRGczw43eJC8pobIzgV+9pjN8h4R59W8kBSXg/Bb/snUg6fRXi2CoDlBob37b9n/2Lq50NRk=@vger.kernel.org X-Gm-Message-State: AOJu0YysSmqn8PZr+4sfn4pf9JhWJ0Gm7/QEDJMthvTi52LZ8z0UuIum G6Kfn+A0MNHfFlN7/OcAWEpFZk/Z8xkvCAsE9EZEjN3rCglc82JnMTCs X-Gm-Gg: ATEYQzzVPaRPGVy4Y4crB6N1qHCfLd/RhBq8Z7T73vTuZ9t2RS6sNnF0yC3zvS1CR9l /2o+33AV8nb+J4p8L++d2nJkt1xya8HrkoeFdDsWtVWnpkqiauKRqk1yh2QW2t/OnAshZ6h79rn iU9AwUQgOhz7lJC4bzmjybhY6jtV0/Ch7rBuSlvZyX+Pt9Gzty+fNWB7/u0eeQCgeX4ZEfCXQOA b4k1tEogTj8emZ7X0+xkPN16lVIKSTCdOE7G5XsRb3rFqKTLNTtZEHq6F6dIbYx/tIm8reBFmq3 A+k5F4PKlMC7ZxkMqmh6FCiORMpWjYMSU6L0yBBNDiCRdG0bEHIlfKmpsPBjAGZFHRxk7yH8B// arwA59mrBm64F+UGq9y3CrKNeUrWPE1Wy1/Ly2B+E2yACxCXI/DMmpVRqMY7q99T5DB29IXMWo5 50OftSO9TfFm5WwT6S+S6L0HLN8J9jmhSOS6SNclzihOsAOHoJ X-Received: by 2002:a05:600c:1e09:b0:485:4526:ee06 with SMTP id 5b1f17b1804b1-486fedfb677mr229085025e9.11.1774352614349; Tue, 24 Mar 2026 04:43:34 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:34 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel Cc: Biju Das , linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 02/11] clk: renesas: rzg2l-cpg: Add support for critical resets Date: Tue, 24 Mar 2026 11:43:07 +0000 Message-ID: <20260324114329.268249-3-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das Some reset lines must remain deasserted at all times after boot, as asserting them would disable critical system functionality with no owning driver to restore them. This mirrors the existing crit_mod_clks mechanism which protects critical module clocks from being disabled. On RZ/G2L family SoCs, the DMA reset must be remain deasserted for routing some peripheral interrupts to CPU. Add crit_resets and num_crit_resets fields to struct rzg2l_cpg_info to allow SoC-specific data tables to declare reset IDs that must never be asserted. Introduce rzg2l_cpg_deassert_crit_resets() to iterate over all critical resets and deassert them. Call it both at probe time and during resume to ensure critical peripherals are held out of reset after power-on and suspend/resume cycles. Reviewed-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v7->v8: * No change v6->v7: * No change v5->v6: * Moved loop variable declaration inside for loops in __rzg2l_cpg_assert() and rzg2l_cpg_deassert_crit_resets() * Collected tag v4->v5: * No change v4: * Moved this patch from [1] as it is boot-dependent [1] https://lore.kernel.org/all/20260306134228.871815-1-biju.das.jz@bp.ren= esas.com/ --- drivers/clk/renesas/rzg2l-cpg.c | 30 ++++++++++++++++++++++++++++++ drivers/clk/renesas/rzg2l-cpg.h | 7 +++++++ 2 files changed, 37 insertions(+) diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index c0584bab58a3..f9e4af7f49d0 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -1765,6 +1765,13 @@ static int __rzg2l_cpg_assert(struct reset_controlle= r_dev *rcdev, dev_dbg(rcdev->dev, "%s id:%ld offset:0x%x\n", assert ? "assert" : "deassert", id, CLK_RST_R(reg)); =20 + if (assert) { + for (unsigned int i =3D 0; i < priv->info->num_crit_resets; i++) { + if (id =3D=3D priv->info->crit_resets[i]) + return 0; + } + } + if (!assert) value |=3D mask; writel(value, priv->base + CLK_RST_R(reg)); @@ -1802,6 +1809,20 @@ static int rzg2l_cpg_deassert(struct reset_controlle= r_dev *rcdev, return __rzg2l_cpg_assert(rcdev, id, false); } =20 +static int rzg2l_cpg_deassert_crit_resets(struct reset_controller_dev *rcd= ev, + const struct rzg2l_cpg_info *info) +{ + int ret; + + for (unsigned int i =3D 0; i < info->num_crit_resets; i++) { + ret =3D rzg2l_cpg_deassert(rcdev, info->crit_resets[i]); + if (ret) + return ret; + } + + return 0; +} + static int rzg2l_cpg_reset(struct reset_controller_dev *rcdev, unsigned long id) { @@ -2051,6 +2072,10 @@ static int __init rzg2l_cpg_probe(struct platform_de= vice *pdev) if (error) return error; =20 + error =3D rzg2l_cpg_deassert_crit_resets(&priv->rcdev, info); + if (error) + return error; + debugfs_create_file("mstop", 0444, NULL, priv, &rzg2l_mod_clock_mstop_fop= s); return 0; } @@ -2058,6 +2083,11 @@ static int __init rzg2l_cpg_probe(struct platform_de= vice *pdev) static int rzg2l_cpg_resume(struct device *dev) { struct rzg2l_cpg_priv *priv =3D dev_get_drvdata(dev); + int ret; + + ret =3D rzg2l_cpg_deassert_crit_resets(&priv->rcdev, priv->info); + if (ret) + return ret; =20 rzg2l_mod_clock_init_mstop(priv); =20 diff --git a/drivers/clk/renesas/rzg2l-cpg.h b/drivers/clk/renesas/rzg2l-cp= g.h index 55e815be16c8..af0a003d93f7 100644 --- a/drivers/clk/renesas/rzg2l-cpg.h +++ b/drivers/clk/renesas/rzg2l-cpg.h @@ -276,6 +276,9 @@ struct rzg2l_reset { * @crit_mod_clks: Array with Module Clock IDs of critical clocks that * should not be disabled without a knowledgeable driver * @num_crit_mod_clks: Number of entries in crit_mod_clks[] + * @crit_resets: Array with Reset IDs of critical resets that should not be + * asserted without a knowledgeable driver + * @num_crit_resets: Number of entries in crit_resets[] * @has_clk_mon_regs: Flag indicating whether the SoC has CLK_MON registers */ struct rzg2l_cpg_info { @@ -302,6 +305,10 @@ struct rzg2l_cpg_info { const unsigned int *crit_mod_clks; unsigned int num_crit_mod_clks; =20 + /* Critical Resets that should not be asserted */ + const unsigned int *crit_resets; + unsigned int num_crit_resets; + bool has_clk_mon_regs; }; =20 --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 F1D4F3EF672 for ; Tue, 24 Mar 2026 11:43:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352625; cv=none; b=m/BSzdKDw3ygyWqVqPG8H+wT6Hj/7BSnryGOyoyjgLgKPUP0bpg1GEjyGRHRyUTwMOPSGZIw/ojKk2rX40o1+7vzz+gF6CBLIcTFgNcsBzc+Kkldqqma+aAsaZhF7EMG0GMM7l8iay8M3tklLIhNHxobJEl33JqH9HqwayVyNTA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352625; c=relaxed/simple; bh=5n+qOn0hIXqrgiVI7V0TJR9fN2uaFfd4IpzlvpgTGIE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F6Cl9M/Hedvsjb7XuDqxTtpoiLVOy8PMW+c03kylf+fhhgvSdx0XibD5Kd8Ng3tKkPBITtnIN5BRAZ7c9lLiOfXUx8VATTL1d+HwgZSRboWJX6rxcY55+queGA+nHQi+aYALRa2aErYmZhxIGhqhkn49K323NFZHQJUIndTs0W4= 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=crSzEHaD; arc=none smtp.client-ip=209.85.128.53 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="crSzEHaD" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-486ff201041so32746125e9.1 for ; Tue, 24 Mar 2026 04:43:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352616; x=1774957416; 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=SFwbwZSb6QeRoEKz7hzYCH5JQTk0Zj5Ht1pVW1ybioI=; b=crSzEHaDQqUKoMdrUs70mnOMxViur1wathoYeLAbk7FQQW25ey8zYhKqmuxvKZiH7H VEvzBmopcqzIy4yGzWpeVbkYQjBHp4injCowTJm1sJVbEroMEnoonPKndq4VtxJMSTlW vdtOuigbSrhXK1KUXaQ5UVKDg93fJThHwpiAeBG4LO6J5HCJv7sd+l8rQ98/dvhg7xqJ O2TpPPEHh6ys37lHNi6Qcr7nzjOGd/LI+a7e17P5Tn/pntxERK+2aaehnULULGmrIEOE cUBWOUXlkogcVgEo5+SbRAtcnG5X8F0JZuxc2eVe9roTYNNDTHwwe0nr1RXvEYEr4rpt z3Tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352616; x=1774957416; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=SFwbwZSb6QeRoEKz7hzYCH5JQTk0Zj5Ht1pVW1ybioI=; b=oiw3/XtRPA6IdKZcGpfkgMsIXLI6dc9rI6tytWk60v9/I6Ang6RN6QTJqCpafs3MCF x4kwz7jdHx/5YtXZ12Tl+NjWHTM5L1aOmU5mZ/vrMsDpaOOSmPvK+TJx6Ey9NPpoN6bI wQk+k1oCPh6RhPjlcYQBaf/OhuFyz3bY/iOIBUV3bMRXoN0iylBiKdpvQx5wK/DQWV+2 YSmaBqNDBojDAMZblppdchRhFLzEShJRfIgjm/1pNlSlPZN6UQJwki9RQglK86o33F4D hV4V6/XztgGW8n5+LFot00Wb4k4ytpSlemPz1EH1/q1404PfpL3s6UxQwo+odp3dgaF9 dSqQ== X-Forwarded-Encrypted: i=1; AJvYcCW+hlWrKo4CxopbG5HPtnVrXPXq0SYb2ttI/2fh8P7aXuacWzzlg/u4VboDA+vxF2rmf0w4V2tpMiaJOoM=@vger.kernel.org X-Gm-Message-State: AOJu0YxjYj/nhtacb+z31fd9Aqv6CzWUKKHQgKVStVb9bJQer12Ub0Vx abF3bB5Dqjsz4AnMRbbemR7S2Ud+YzVRNxBiHi7n8cAhBwmjoFQFuM1p X-Gm-Gg: ATEYQzx2+4HYDObX90W0WEHzIjcYXzmPvi/Uk4uibnYglULHg2r4pBdRQ3gRVomR9KB I59E8q9pDYKCUlR3Qrr3SfkML3dyU2fC7YynbGxLmdJMIFifuxIlPxhY3LNDCn1gZP3OZTi9Llh raMDz3jxJpfWqlwHGm20Z1hwsHjw1WKvp5c3tipYSafNg+HajIvnFmWE14zMzKW4lTqZ5WuOhbY bz/JvGfTYLO/S69hV+tP/DV0Q1CTZ8FdRieSZVVmuiYRCbGwccDWYxzQ0KvGvrvwD264sGjllvp gurgwkoLQ1ZLuukcMejEqVGtJGkohNyfX9WdlR/JegQrtBgbaHt6mFjslrGyF+4VZFfqd7mOX65 s4owU89I+rqUZzDfu3uhDdzwOOXV6mOxssjs/A/O0GOaSUfJzstWbXJUSEHiErBriF+EAYajU7E 6Ne68uhTwmgUPurdCLcgPL6JYkwtK8XiySKwRtqdWSDpyfTN59FcwBL87xrA0= X-Received: by 2002:a05:600c:4705:b0:485:3af5:7e53 with SMTP id 5b1f17b1804b1-486fee04f94mr209610845e9.19.1774352615552; Tue, 24 Mar 2026 04:43:35 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:35 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel Cc: Biju Das , linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 03/11] clk: renesas: r9a07g04{3,4}/r9a08g045-cpg: Add critical reset entries Date: Tue, 24 Mar 2026 11:43:08 +0000 Message-ID: <20260324114329.268249-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das The RZ/G2L SoC family requires DMA resets to be deasserted for routing some peripheral interrupts to the CPU. Asserting these resets after boot would silently break interrupt delivery with no driver to restore them. Mark the DMA resets as critical by adding them to the crit_resets table in the SoC-specific rzg2l_cpg_info for r9a07g043, r9a07g044, and r9a08g045, preventing __rzg2l_cpg_assert() from asserting them and ensuring they are deasserted during probe and resume. Reviewed-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v7->v8: * No change v6->v7: * Updated r9a07g043_cpg_info by inserting a blank line before .has_clk_mon_regs * Replaced r9a07g044_critical_resets->r9a07g044_crit_resets and r9a08g045_critical_resets->r9a08g045_crit_resets for consistency v5->v6: * Replaced r9a07g043_critical_resets->r9a07g043_crit_resets for consistency * Collected tag v4->v5: * No change v4: * Moved this patch from [1] as it is boot-dependent [1] https://lore.kernel.org/all/20260306134228.871815-1-biju.das.jz@bp.ren= esas.com/ --- drivers/clk/renesas/r9a07g043-cpg.c | 9 +++++++++ drivers/clk/renesas/r9a07g044-cpg.c | 13 +++++++++++++ drivers/clk/renesas/r9a08g045-cpg.c | 9 +++++++++ 3 files changed, 31 insertions(+) diff --git a/drivers/clk/renesas/r9a07g043-cpg.c b/drivers/clk/renesas/r9a0= 7g043-cpg.c index 33e9a1223c72..70944ef8c5b8 100644 --- a/drivers/clk/renesas/r9a07g043-cpg.c +++ b/drivers/clk/renesas/r9a07g043-cpg.c @@ -379,6 +379,11 @@ static const unsigned int r9a07g043_crit_mod_clks[] __= initconst =3D { MOD_CLK_BASE + R9A07G043_DMAC_ACLK, }; =20 +static const unsigned int r9a07g043_crit_resets[] =3D { + R9A07G043_DMAC_ARESETN, + R9A07G043_DMAC_RST_ASYNC, +}; + #ifdef CONFIG_ARM64 static const unsigned int r9a07g043_no_pm_mod_clks[] =3D { MOD_CLK_BASE + R9A07G043_CRU_SYSCLK, @@ -420,5 +425,9 @@ const struct rzg2l_cpg_info r9a07g043_cpg_info =3D { .num_resets =3D R9A07G043_IAX45_RESETN + 1, /* Last reset ID + 1 */ #endif =20 + /* Critical Resets */ + .crit_resets =3D r9a07g043_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g043_crit_resets), + .has_clk_mon_regs =3D true, }; diff --git a/drivers/clk/renesas/r9a07g044-cpg.c b/drivers/clk/renesas/r9a0= 7g044-cpg.c index 0dd264877b9a..2d3487203bf5 100644 --- a/drivers/clk/renesas/r9a07g044-cpg.c +++ b/drivers/clk/renesas/r9a07g044-cpg.c @@ -489,6 +489,11 @@ static const unsigned int r9a07g044_crit_mod_clks[] __= initconst =3D { MOD_CLK_BASE + R9A07G044_DMAC_ACLK, }; =20 +static const unsigned int r9a07g044_crit_resets[] =3D { + R9A07G044_DMAC_ARESETN, + R9A07G044_DMAC_RST_ASYNC, +}; + static const unsigned int r9a07g044_no_pm_mod_clks[] =3D { MOD_CLK_BASE + R9A07G044_CRU_SYSCLK, MOD_CLK_BASE + R9A07G044_CRU_VCLK, @@ -519,6 +524,10 @@ const struct rzg2l_cpg_info r9a07g044_cpg_info =3D { .resets =3D r9a07g044_resets, .num_resets =3D R9A07G044_TSU_PRESETN + 1, /* Last reset ID + 1 */ =20 + /* Critical Resets */ + .crit_resets =3D r9a07g044_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g044_crit_resets), + .has_clk_mon_regs =3D true, }; #endif @@ -548,6 +557,10 @@ const struct rzg2l_cpg_info r9a07g054_cpg_info =3D { .resets =3D r9a07g044_resets, .num_resets =3D R9A07G054_STPAI_ARESETN + 1, /* Last reset ID + 1 */ =20 + /* Critical Resets */ + .crit_resets =3D r9a07g044_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g044_crit_resets), + .has_clk_mon_regs =3D true, }; #endif diff --git a/drivers/clk/renesas/r9a08g045-cpg.c b/drivers/clk/renesas/r9a0= 8g045-cpg.c index 79e7b19c7882..1232fec913eb 100644 --- a/drivers/clk/renesas/r9a08g045-cpg.c +++ b/drivers/clk/renesas/r9a08g045-cpg.c @@ -361,6 +361,11 @@ static const unsigned int r9a08g045_crit_mod_clks[] __= initconst =3D { MOD_CLK_BASE + R9A08G045_VBAT_BCLK, }; =20 +static const unsigned int r9a08g045_crit_resets[] =3D { + R9A08G045_DMAC_ARESETN, + R9A08G045_DMAC_RST_ASYNC, +}; + static const unsigned int r9a08g045_no_pm_mod_clks[] =3D { MOD_CLK_BASE + R9A08G045_PCI_CLKL1PM, }; @@ -389,5 +394,9 @@ const struct rzg2l_cpg_info r9a08g045_cpg_info =3D { .resets =3D r9a08g045_resets, .num_resets =3D R9A08G045_VBAT_BRESETN + 1, /* Last reset ID + 1 */ =20 + /* Critical Resets */ + .crit_resets =3D r9a08g045_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a08g045_crit_resets), + .has_clk_mon_regs =3D true, }; --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 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 495EA3F0AB3 for ; Tue, 24 Mar 2026 11:43:38 +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=1774352625; cv=none; b=SawR7XXIarJwxvzGBHdbrNOSHsEffi04dnXhCAtAb9pR0YIRn61jTvcOTlfXnDiJr2WP5Owg7JWrigtJ0Vk6CL2gyFj/tEpMNybHy/BOKuwSVQklkAHwM0T7V7uz0LLRBgUxQt5oe1ty23kyLOPXSSzI9b2ewIL3rNV4hemGNho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352625; c=relaxed/simple; bh=Xw5RFpWv75CNtpmH6n9yaeYAZIsgQZPNvujNLcem+T8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UeS9yIlgmyQewPyFI7RwoWsO4cTw8p4MHduDTawmb+3iGec/vOQ4FcV8bNrsidAMvBSOksskhDFFHTkBWVUEkRxUsRUvNT7S3Z91f2S0b8l9Yw+37Obyu260Ms01ZfSVAyDTpDhzA3JRT4aldE4HHc2fMRnXcmnioxPyKDV3Ugs= 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=KGhtw5DI; 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="KGhtw5DI" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-482f454be5bso57787565e9.0 for ; Tue, 24 Mar 2026 04:43:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352617; x=1774957417; 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=4GxufccZL3VoF+NgVSCi/f2xFeWD1b9Kcts6koYMzRA=; b=KGhtw5DIHP9p0uOeqTseJXXYBaTVu7cBYBJdvnOZPycruQuO+LA6qien+qzrlf2MEc Mnc9+bEFoBk5pD0dSEHNq05PIoOSAAEGNs6FldcbbTrq+ECfUCZHyen4Puj++F/QtF7r qSEp2r5fH4mY+RuDnx/QNHY432gwGD8GIH2y3lVqU7LOerCuTZm00nfimA1nYKZ1cFW0 aEPhAq82le5HCD4HMNNwT0CwN9mLPZkQPy++1mi6A2DhZH//OUza3q1oYD0M3TaFQoK+ 51HrxreIqJDNS9yG6i47/Ikon41DfkrhdOxXo+DC09Nam9K9OLEbaJnd8WFI/hMj+GNW r+ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352617; x=1774957417; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4GxufccZL3VoF+NgVSCi/f2xFeWD1b9Kcts6koYMzRA=; b=gHlkMbuIL6HzIbo72xqpB3GeqEvd1X7u1MoZsIJ58EKgY4/F6Ylxh67nK3BtO7DJFw yrLXzHtPGOLRKZvHdyPchreZJOlFg9EuS/yGRinRaPwtTiUbkw3sO7cSU36cxesRasDh 6QKUovwnsoHH2HMgJdEFx+qmtjFx/3/xAbdWVSWIPR+S5zOU+w3qYekIDaZKTMz+7uOz lSa74GBJ1PVaVMjhtXsM/YBgejdeTcNrvDR9z9puu0HhToS4m/tJnEkXn+mxELryUsvP vRNVFsIhgg5nLHrpcfsKMohjt/o9T3TxXUrFgyShRHQ58cbi8gpqqSwCY9QZrMfEO06i Y7Sg== X-Forwarded-Encrypted: i=1; AJvYcCXbNxqdHxT239z9V1lMi6ZsaxPh3jCGQYK3CvRXyLE6E7/WnG2f27EHEylX1VYllwVUAftbaZ/1LzsnsPQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyWbtsOcTWD+lXlCffECKUkteUXbq8wJx5GpPqwe4/AhRXgNT8Q ft+o9lus6m2F4vK3U8ULzR+kSFyyrtIWD5bNPRwGgnGWLGAN3P47jk2k X-Gm-Gg: ATEYQzy+7rlyS+nOKuz8EomrlgSweW3HjVHdAGETEdSKvn8ZulydMLZf6AFyzSr/Jgb F5aMrCZpiL4RcuIyQm3XB+4Gb5Ete5AiKn8A+bOJ4S0h3xVZhojjDR56A5Gfx33QlIiS3V/keuS /j+XRzlbfGPVwtUdDnRze5wWfxrzsVC8hkyLWCVjfTQv55fOlXs3Wgefcfr3Mj72hGsIjNN5kl5 F6UMg5w2V1/6SexnLjngwm6uM1h6N5wK+Q51OzVnj2l98nFHf/dT5KyKFpqKKuEze75KOfQ4oCu u3rou+yzFuOKa1gG61b0UvmaqzR/sWupsXgQPAb4KnzgCYt+8aEU/ASWp+i4E4kTQc7hNIM8BPj UewTbI57sUFj7IoinIfvKz2aCTcl9Rb6KcPUI0KoX4pTx5O/Y31q3XpIeGpIxR/y/qbzdKu4htj 5CVFeR8pSU3iiqAHXOBub8mvHI/dfbNY9xZ5qaR3gTdrO1uAvg2werTTcJxkI= X-Received: by 2002:a05:600c:154b:b0:485:3cef:d6ea with SMTP id 5b1f17b1804b1-4870f212c1emr45412185e9.13.1774352616978; Tue, 24 Mar 2026 04:43:36 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:36 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel Cc: Biju Das , linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 04/11] clk: renesas: rzg2l-cpg: Add helper for mod clock enable/disable Date: Tue, 24 Mar 2026 11:43:09 +0000 Message-ID: <20260324114329.268249-5-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das Refactor rzg2l_mod_clock_endisable() by extracting its logic into a new helper function rzg2l_mod_clock_endisable_helper(), which accepts an additional set_mstop_state boolean parameter. This allows callers to control whether the module stop state is updated alongside the clock enable/disable operation. No functional change for existing callers. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v8: * New patch --- drivers/clk/renesas/rzg2l-cpg.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index f9e4af7f49d0..a38401c18dcf 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -1439,7 +1439,8 @@ static int rzg2l_mod_clock_mstop_show(struct seq_file= *s, void *what) } DEFINE_SHOW_ATTRIBUTE(rzg2l_mod_clock_mstop); =20 -static int rzg2l_mod_clock_endisable(struct clk_hw *hw, bool enable) +static int rzg2l_mod_clock_endisable_helper(struct clk_hw *hw, bool enable, + bool set_mstop_state) { struct mod_clock *clock =3D to_mod_clock(hw); struct rzg2l_cpg_priv *priv =3D clock->priv; @@ -1464,9 +1465,11 @@ static int rzg2l_mod_clock_endisable(struct clk_hw *= hw, bool enable) scoped_guard(spinlock_irqsave, &priv->rmw_lock) { if (enable) { writel(value, priv->base + CLK_ON_R(reg)); - rzg2l_mod_clock_module_set_state(clock, false); + if (set_mstop_state) + rzg2l_mod_clock_module_set_state(clock, false); } else { - rzg2l_mod_clock_module_set_state(clock, true); + if (set_mstop_state) + rzg2l_mod_clock_module_set_state(clock, true); writel(value, priv->base + CLK_ON_R(reg)); } } @@ -1486,6 +1489,11 @@ static int rzg2l_mod_clock_endisable(struct clk_hw *= hw, bool enable) return error; } =20 +static int rzg2l_mod_clock_endisable(struct clk_hw *hw, bool enable) +{ + return rzg2l_mod_clock_endisable_helper(hw, enable, true); +} + static int rzg2l_mod_clock_enable(struct clk_hw *hw) { struct mod_clock *clock =3D to_mod_clock(hw); --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 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 ED7F53EF67F for ; Tue, 24 Mar 2026 11:43:40 +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=1774352627; cv=none; b=O07FeqoNTAdiMkV98JA2OH9WuXLLC/1owcRuDeKkBGuoixwkg7n791Fyb7oAzrU4T5nJAW8KXSqtfGEG6gMU6KK6l9SO3zdNgSNZuoTzajpqXji91HAS6ImTTbTj/XFzyEa3CjXCW43gdTVY+tJBUetpYJkthsJEWLSOR6YwJEk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352627; c=relaxed/simple; bh=j0Gd04+kJqJ6VR/s+a8qrHwz+JDzDy6zM8WFPZZZUj8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L+SybNqS0/OVbm6CFnBwWSh21SdSCIhUdtEssWzKrDD7pa3rr1ugpYkslMoqtd8IFx0Ro35ATEzLT6fn3EiGznlQjMCx9ZNo3Q3otEj/KWe2TDLPEunkx6JUlFinCtwx6JzXZQLtMg6LIbEKVLzDzsaMfx5/Dz1KBMRgLSg8NFs= 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=kMAoiizq; 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="kMAoiizq" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-486b96760easo10702945e9.2 for ; Tue, 24 Mar 2026 04:43:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352618; x=1774957418; 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=QNiRs4I0KqGZbcAMjICGT778jYVtsL4Bi7idhY15odQ=; b=kMAoiizqinLvsr+eMl2jDd8E5CqUmP/XQQAV6loJXxE+uwmPzUWfO6kmZxhYnnBQYt 6zduq61pvDcXM97BeJZG4k/733igv08RLRwdTOsdCabDOdZKdqr9RHu52BvlPnihne03 oC2QvtFBhkPNruAyzz6lp7gxuF/mrm4/7aEDzO2sDZk8Yq+mEM/hIXmwiNMP1BgzISaY S+ML02m3C0K2VGx7QuF6SfKY8KiZ3NfCHwupO6ZxYcIHHeklPQZT68sqmVIIk4x9LeGc ADDBAQPN1WxIRG1rMgt+GbrzEvmSaVyBfINhBR4i5OMPOA4KthQ+Ymcb0CsQYSWWHePD kjPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352618; x=1774957418; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=QNiRs4I0KqGZbcAMjICGT778jYVtsL4Bi7idhY15odQ=; b=Vw8mAqDBXOFFtBpPDOg4z5g0O5xymowfEOJD3MQIW2T+WedgaQdm8HQISrUF2yBFgf fBpckN1F+yxWiRAVttvTgwWwPd/xKcSNT7a0lRFo0YvoIF+vriovFD0n56ei2VjOFpju 948nXiPUp/g/kHmL/UecewSEyYibXa9hP/TiYCQDMtSXIs7phZEmGfzFgAn42sxG206o W853ExEu/2Zn3fPw3WhrbBrpmf2so8JteVzGCzaFZNwtNPWdJopG6IDvRGF3aeBgcnWi ZsVz4zqbjzFPyfQ2fySZlGtWH4d8VP8eShe7gYNvqKucXzwTuyC5HkQkZjhLtNC/c1q5 IQCA== X-Forwarded-Encrypted: i=1; AJvYcCXV2eAXac7KhXbH29c1kw54X6iOwnGfNUIcLnY1c5y1h9m1UzYldRjD/jiXFFCDa+t65FOwi9pyb6GDT5Q=@vger.kernel.org X-Gm-Message-State: AOJu0YwrqHinutnniBZDJmQ85SqarJhr9K4hEHivvoCZ6150Vq3HWGzd zKrOAdukyPvn4X1EDg5KM+oEA4OXctkiFV7jtcYJ8+Xy+jOdxsynOSEZ X-Gm-Gg: ATEYQzyxuiMv6y1nyUNe7U0bN2Tbw0b7ao0R8wSlPVXLPJVvNicILE/y3R2oRVDpSO6 eHkafD5ZodBxNIMRKuk644qkEu5XWGcBjUxG3mL5Dpl3UV0BDEa8ny+Q7CylsK2xN0RzBlDrG+G fn2UmPdJ1E1R08fteE87xW+4tcuCPM2i8fZBhtFWwuh6NwSu7ylzeDasAGqhM5GqAjNJXZBPNdx j3PiRZcYain6A4EEJooipm93FAuYPLcAQsyTGi76YqvD19Qpl1ynFXrQ6UK5PwaDuNO+gcrAhNW 5QnkYc2oXKx+ev8ZUnrjw+Ly8DLgygPiDhC+m/8pNQxVke1HtOZr6CM+yetON3l3wZTsTyRC8ut PdrHnvaNUnSufSXnx2f60UCguSvED/uAFhjTJVoKwGphz3bUDA8VNGLS9hzcxcuozJYOkNwjNHn R9v2D9mm/vUKEVoKTip1nWJwa4NU8ZiyAfqD5aWDGBjtD/s7Xq X-Received: by 2002:a05:600c:2d14:b0:487:2b7:18d1 with SMTP id 5b1f17b1804b1-48702b718demr103827345e9.33.1774352618212; Tue, 24 Mar 2026 04:43:38 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:37 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel Cc: Biju Das , linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 05/11] clk: renesas: rzg2l-cpg: Add rzg2l_mod_clock_init_mstop_helper() Date: Tue, 24 Mar 2026 11:43:10 +0000 Message-ID: <20260324114329.268249-6-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das Refactor the mstop initialisation logic in rzg2l_mod_clock_init_mstop() into a dedicated helper function rzg2l_mod_clock_init_mstop_helper(). This decouples the logic for setting module stop state on disabled clocks from the iteration loop, allowing it to be reused during resume to re-enable critical clocks. No functional change. Reviewed-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v7->v8: * Fit the comments in rzg2l_mod_clock_init_mstop_helper() to 80 character space. v6->v7: * Collected tag v6: * New patch --- drivers/clk/renesas/rzg2l-cpg.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index a38401c18dcf..738a4b182f27 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -1594,6 +1594,20 @@ static struct mstop *rzg2l_mod_clock_get_mstop(struc= t rzg2l_cpg_priv *priv, u32 return NULL; } =20 +static void rzg2l_mod_clock_init_mstop_helper(struct rzg2l_cpg_priv *priv, + struct mod_clock *clk) +{ + /* + * Out of reset all modules are enabled. Set module state in case + * associated clocks are disabled at probe. Otherwise module is in + * invalid HW state. + */ + scoped_guard(spinlock_irqsave, &priv->rmw_lock) { + if (!rzg2l_mod_clock_is_enabled(&clk->hw)) + rzg2l_mod_clock_module_set_state(clk, true); + } +} + static void rzg2l_mod_clock_init_mstop(struct rzg2l_cpg_priv *priv) { struct mod_clock *clk; @@ -1603,15 +1617,7 @@ static void rzg2l_mod_clock_init_mstop(struct rzg2l_= cpg_priv *priv) if (!clk->mstop) continue; =20 - /* - * Out of reset all modules are enabled. Set module state - * in case associated clocks are disabled at probe. Otherwise - * module is in invalid HW state. - */ - scoped_guard(spinlock_irqsave, &priv->rmw_lock) { - if (!rzg2l_mod_clock_is_enabled(&clk->hw)) - rzg2l_mod_clock_module_set_state(clk, true); - } + rzg2l_mod_clock_init_mstop_helper(priv, clk); } } =20 --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 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 5F2F73F0A91 for ; Tue, 24 Mar 2026 11:43:41 +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=1774352627; cv=none; b=fGDodun9j9ZDRAFnv36S54UoPpvSjal9Nf68vqkxOE3/CUiONZgReqcvMa49ooSxEyhdtN/VcOog+0WkEqJ1jKXr6Xq7KsBNdDWtyZlth3FISqQAvdClOLsh85DVrCFYRCNt+Cf4CXhBCXT26E6Xtp6jgH8lnnZ4gcumLtvuuow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352627; c=relaxed/simple; bh=H2fEHpybBLkHHbMdo005jZoF83+21eGUWFFuQTrSrhU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=vDbCD7qNKvsjZI7lwP9tTXAUlHCNIiW4CZAA7T5biNdPZQGe5sZX6dohmtU5XvFH0ybNKaN7lbjbDh5+xrsQu/dfebEgej/lE3IaeqiWIfefS7TT6z5VVmSDQiMUyLMtdc/1ZPsp4f+TxQOHjmK3ID1Nr/FgJ2XQ24Sip0WUt5w= 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=O/otXvN2; 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="O/otXvN2" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-48700b1ba53so36458105e9.1 for ; Tue, 24 Mar 2026 04:43:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352619; x=1774957419; 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=ZxpLZewpBHQBH30KhBV9xXPz16M7OH2igp4cA1rTclg=; b=O/otXvN2YZ/ULA1ZCnHq/ngBHImRn7DaknCszOj0HpJtE0R9XsuZbZp9kE6SZJDCAQ nMkS2CCTMBrbXQDXPW+1guB37Q9S4oMjm0pUevgba32hY0ttvG49mwTPNyrZVksg4WGR N9tEwkAJqSvN9Bxom6ABB34BI4Uz+pP7BAegwNBlF4jW8vqJfBzn7VY58CKLgx6RPY1k Cmlutr2vC7BQGj6BKB25Ut52BN9FW0Ol0y6LhLURPqYYVSQeENWUTxg+fm3HcpjCYRRU J6K+HU3866KGQrWYPiDPyQPFHQlhLhgr7eMgQ5swF+HQjhBrMCNX5vBc2yliv3N+loo+ OHCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352619; x=1774957419; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ZxpLZewpBHQBH30KhBV9xXPz16M7OH2igp4cA1rTclg=; b=oeL0mgLU1O8UmX/fV+IhDe0gFYqvVdWlqTpg69rExZ0r9x/yr53RX+qCW2tWvNlwRg r+1rsigCiL+nsjrds3MqhAK3tAp+yPZzR/3PMkl62Brw0n25JG9dN5J3cBiiNUJ2tgOf HIW0OBzfKbmKiFF3UkA6TPaO3seQMT3qJl17QRsCOXwJC8iwiOCNmsqQEgmsgz7F490Z 3rtPvRZZiTT/5IjNu8g4omMYkOMuwQzlrWhPixU4Xa2+L/FkB1XhXbdyXH1SU4TUA6Do 8+Gg6o+f+EhJDoCU9eE2NGpOWLoPZTdxh6LeQduPCJWtDEhu7Vfv69i0zn78p3upHiKI 3ArQ== X-Forwarded-Encrypted: i=1; AJvYcCX4loVVw9s1X9F6tDbFpKzEKaHOJmSvyW1IvfuSTaoYULXynPJ9+3S2BGwR9HeSEl6F2dAlHEM2CnMhbPg=@vger.kernel.org X-Gm-Message-State: AOJu0YwppBMIFcGgh5nzQ4+0n6IJVudtsSGF6vbyvDgdGGyZXpMumjcK xl6fBSJ338A6w4HuFkKRjfZcPd/HCoyIL7AemEbLwhyUQiG2U/9pqGd44aqp6w== X-Gm-Gg: ATEYQzwDwmnQU8vaLSSkRbedd6ZD+k5V7zXbzsUQs5oU+tlWRM8CEQVNde+//W7KZOH EBsxkVi9cuCpwWEpK++IbjQK0+nwgmT2mYtCOZhscE4G96EHr8g2JgKAPMKDjYUDk0eqUWC83zH spywXjMkimVtdEhYvjk4DczDAsu8WJN8d84D/4vlI3E28BfdeprSN0jJYM1twWkp3VAlviHNBzE 3NPLgM7b0/3bPQ5YUkhiAA5QqxM6UyXFdA7YyhyW9qknk41hx9YMmeQAK+QNqVqz3XotE2CJU+Y vAjj13avLcX5SGEr7WZQFuwGtIcMRR1U0U6FF4QeHV0t6BvPpX7LFnpVjubzHmmUx+yfqja03R8 qLtaKP4WuDOi1+39H2jXY/q3mdIIQofwgZ2j1Bq604y54fNJ33v7ysiRCH06eLjKEaicv0CARLu ahnBaNqMsBydJGwCIdER6XF4KVajVjuVQUIOLkzXE6JDFOPtEn X-Received: by 2002:a05:600c:a59b:b0:486:ffa3:593 with SMTP id 5b1f17b1804b1-486ffa30b26mr120244995e9.28.1774352619155; Tue, 24 Mar 2026 04:43:39 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:38 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel Cc: Biju Das , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 06/11] clk: renesas: rzg2l-cpg: Re-enable critical module clocks during resume Date: Tue, 24 Mar 2026 11:43:11 +0000 Message-ID: <20260324114329.268249-7-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das After a suspend/resume cycle, critical module clocks (CLK_IS_CRITICAL) may be left disabled as there is no owning driver to restore them, unlike regular clocks. Add rzg2l_mod_enable_crit_clock_init_mstop() which walks all module clocks on resume, re-enables any critical clock found disabled, and then restores the MSTOP state for clocks that have one via the existing helper. This replaces the direct call to rzg2l_mod_clock_init_mstop() in rzg2l_cpg_resume(), preserving the correct clock-before-MSTOP restore ordering. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v7->v8: * Updated comment in rzg2l_mod_clock_init_mstop_helper() as resume() calls this function. * To avoid setting module state twice and also not to update the initial mstop state for the critical clocks state during probe, replaced rzg2l_mod_clock_endisable()->rzg2l_mod_clock_endisable_helper(). v6->v7: * Updated commit description * RZ/V2M has critical clocks but no mstop, so move the mstop check after enabling critical clocks. After this, we need to restore only mstop for module clocks, so remove the inverted logic and continue statement and directly call rzg2l_mod_clock_init_mstop_helper() if the clock has mstop. v5->v6: * Updated commit description * Dropped the list implementation. * Replaced rzg2l_mod_clock_init_mstop->rzg2l_mod_enable_crit_clock_init_m= stop()=20 for enabling critical clks and restoring mstop state during resume. v4->v5: * No change v4: * Moved this patch from [1] as it is boot-dependent [1] https://lore.kernel.org/all/20260306134228.871815-1-biju.das.jz@bp.ren= esas.com/ --- drivers/clk/renesas/rzg2l-cpg.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index 738a4b182f27..70228d8a2ef3 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -1599,8 +1599,8 @@ static void rzg2l_mod_clock_init_mstop_helper(struct = rzg2l_cpg_priv *priv, { /* * Out of reset all modules are enabled. Set module state in case - * associated clocks are disabled at probe. Otherwise module is in - * invalid HW state. + * associated clocks are disabled at probe/resume. Otherwise module + * is in invalid HW state. */ scoped_guard(spinlock_irqsave, &priv->rmw_lock) { if (!rzg2l_mod_clock_is_enabled(&clk->hw)) @@ -1608,6 +1608,21 @@ static void rzg2l_mod_clock_init_mstop_helper(struct= rzg2l_cpg_priv *priv, } } =20 +static void rzg2l_mod_enable_crit_clock_init_mstop(struct rzg2l_cpg_priv *= priv) +{ + struct mod_clock *clk; + struct clk_hw *hw; + + for_each_mod_clock(clk, hw, priv) { + if ((clk_hw_get_flags(&clk->hw) & CLK_IS_CRITICAL) && + (!rzg2l_mod_clock_is_enabled(&clk->hw))) + rzg2l_mod_clock_endisable_helper(&clk->hw, true, false); + + if (clk->mstop) + rzg2l_mod_clock_init_mstop_helper(priv, clk); + } +} + static void rzg2l_mod_clock_init_mstop(struct rzg2l_cpg_priv *priv) { struct mod_clock *clk; @@ -2103,7 +2118,7 @@ static int rzg2l_cpg_resume(struct device *dev) if (ret) return ret; =20 - rzg2l_mod_clock_init_mstop(priv); + rzg2l_mod_enable_crit_clock_init_mstop(priv); =20 return 0; } --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 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 1DA913ED5C8 for ; Tue, 24 Mar 2026 11:43:41 +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=1774352629; cv=none; b=SagMuchn5MrasM+26bxR0w3cD0lCuoN+T2xgmQM+k6Bv0LAokepDIrTIixigm0fI5xG78t1A/1G+Y7cpkcyh59q9ewbLi6Y1J8OkP6ibX4ivJG0xlkOKiJLVrfAMXgU6rbzVcg/JqG4jo4uHTs5LiSSbknxFG4q0ws4BUgYMQUE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352629; c=relaxed/simple; bh=7eY1qFYl8orFLo3gcl91sY1C8308TTZFHvj65t+kLko=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Asfgg6G6lImGA7zoO7AidCt4I84nRtzh3DI3Tms2nvkUJ9kZp2ZxRU7nEyzP5Ma7DiH8yFzQ+uwcPAaL7Ahc4GKoKKgSCM+F5uDhFBV0efnoiuTzcKsljy7IgYRZahetQ3K77UtkxdH9/KgdiN0lPU1CObjgbqAx96EnFwhL+f0= 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=eDOawA7Y; 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="eDOawA7Y" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4852a9c6309so33739825e9.0 for ; Tue, 24 Mar 2026 04:43:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352620; x=1774957420; 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=ce4deO4YjibpgipXJF2WwN/z04R/zwC9JP+VffpuM9M=; b=eDOawA7YrWxqwf+H9UGzqTzm4N0FPPTMVX8lPpR6kiPsFtOj8oXY1joHMLJ6NyNuh6 CZKOj86w8Dk5VbjUke4zN+WyXqos1AseMXGyrBVhdGL963heHlwmnAjLPKmuQ4Y3RshP fE8pfoj4InpQW5FYAOnt5wx3wrzJ6Qv0m2K3XWAha+hFDGUt6vD60vUz7pMeOwU0Bo3B Jgq3T1PJe2/9390XjYfy0qFFX+1IYroXFmqIqv9Wh/yda9H6+tkTsvgcDc+ccqvLvgnr lGLhUWtr1saggG1VUGV3LQk2nJmuFhWyYCZq4wTa/k5B8DS3s0ibgyH1hYoPiSp9WG3p K/cQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352620; x=1774957420; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ce4deO4YjibpgipXJF2WwN/z04R/zwC9JP+VffpuM9M=; b=MEHJM/ZDJ2VZARvzsdT3Kq2prrjtEFENIm1vRachmFsM6tfdhEK/4K81pkMtFSK/3c 7QNbkfikeExqI0CxyPditJtBjEAB7ozXyXWcgjZNTZbmJr0wqbKpuDpVBrw47lAbKMvB AsKBYdFD7HYLPEQMraFSHOEu5TU6g0z6D1IN1LQb44Ldp1MnuA3hcwbMJKEF7jJCXy+N 0MO+wGcQLj86/qRlDRaVkqSeLoRb5jY5ZnZy0oALQVDtrClNIzBLDlT1JDTol7g4jwO8 LPw1QiDmT6OcnaD7JaxfXlTKnIBGbuYcmoLBH23gpDRuOjvZuTQ1q2KWljH3XqXRmiFw EKiQ== X-Forwarded-Encrypted: i=1; AJvYcCXUeoxF9KSZE/pldMzhPR4BkFfr9iKaHqWfT+4X+7ealjyKyQAEdKyrijkJ33nwLMRhAQIQOEH5fpG8p34=@vger.kernel.org X-Gm-Message-State: AOJu0YyX6mgRsH644z3rF+qdZctXQJhG3QCJX6X+2auhrTrCXv7kdFeQ SSD4FJajkyj2waYwl1Lb2V53BywdwaNiejN49fsSpJMonYNNfXgR3Ulc X-Gm-Gg: ATEYQzz/86t1YruK8OEOYReYXaZAl+Xp7PPSsuJjHPnCgBy3j5kvE1VWbTISA6HcEjh 6KpnpYjucayJbk5YIMWNHbPKx43IAT+X378kPhwOVwI0fPgpCaL2qLnGlajjaV0wQP46Egrl67V gf5Vt2HImDUdaKW0KQtLZwUzjOPe9sv5P7hWMAxovY7KUyLiJ1kIwXUzvd7kXTPt8O/bV7XcijV rbyQ7BwTY5smJsa2IQkaWoq0t5TBNvsawcu8KMMwYv0ZpPpPcfQzeSCeVGirEygqMHHAoPqgECW E9gMtdz6wyi30Xt3srVdIerzkMCKZnURc+1+jYLRy8cCYSt/du56wobATX8KoHaTP9apz8w2EUp jvXBJV2axnVbO15AmdzO57g5l99SjXVR1/9zqDIFZC4oOmxDlWr+GpaexyKJwZVbM7hv0lSyLqo Il3PgoM+hL3mawV/Lgs48+tFyzgZajgEii/dN89fjqksj0HIH7 X-Received: by 2002:a05:600c:c168:b0:487:4ff:3808 with SMTP id 5b1f17b1804b1-48704ff384emr137918265e9.8.1774352620052; Tue, 24 Mar 2026 04:43:40 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:39 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Magnus Damm Cc: Biju Das , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 07/11] clk: renesas: Add support for RZ/G3L SoC Date: Tue, 24 Mar 2026 11:43:12 +0000 Message-ID: <20260324114329.268249-8-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das The clock structure for RZ/G3L is almost identical to that of the RZ/G3S SoC with more IP blocks such as LCDC, CRU, LVDS, and GPU. Add minimal clock and reset entries required to boot the system on Renesas RZ/G3L SMARC EVK and bind it with the RZ/G2L CPG core driver. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v7->v8: * No change v6->v7: * Replaced r9a08g046_critical_resets->r9a08g046_crit_resets v5->v6: * No change=20 v4->v5: * No change v3->v4: * Updated commit description * Updated LAST_DT_CORE_CLK with R9A08G046_USB_SCLK * Fixed typo 2->8 in dtable_4_128[]. * Added critical reset table r9a08g046_critical_resets[] * Updated num_resets * Added crit_resets and num_crit_resets to r9a08g046_cpg_info. v2->v3: * No change. v1->v2: * Added CLK_ETH{0,1}_TXC_TX_CLK_IN and CLK_ETH{0,1}_RXC_RX_CLK_IN clocks. * Dropped R9A08G046_IA55_PCLK from critical clock list. --- drivers/clk/renesas/Kconfig | 7 +- drivers/clk/renesas/Makefile | 1 + drivers/clk/renesas/r9a08g046-cpg.c | 153 ++++++++++++++++++++++++++++ drivers/clk/renesas/rzg2l-cpg.c | 6 ++ drivers/clk/renesas/rzg2l-cpg.h | 1 + 5 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 drivers/clk/renesas/r9a08g046-cpg.c diff --git a/drivers/clk/renesas/Kconfig b/drivers/clk/renesas/Kconfig index 6a5a04664990..0203ecbb3882 100644 --- a/drivers/clk/renesas/Kconfig +++ b/drivers/clk/renesas/Kconfig @@ -39,6 +39,7 @@ config CLK_RENESAS select CLK_R9A07G044 if ARCH_R9A07G044 select CLK_R9A07G054 if ARCH_R9A07G054 select CLK_R9A08G045 if ARCH_R9A08G045 + select CLK_R9A08G046 if ARCH_R9A08G046 select CLK_R9A09G011 if ARCH_R9A09G011 select CLK_R9A09G047 if ARCH_R9A09G047 select CLK_R9A09G056 if ARCH_R9A09G056 @@ -194,6 +195,10 @@ config CLK_R9A08G045 bool "RZ/G3S clock support" if COMPILE_TEST select CLK_RZG2L =20 +config CLK_R9A08G046 + bool "RZ/G3L clock support" if COMPILE_TEST + select CLK_RZG2L + config CLK_R9A09G011 bool "RZ/V2M clock support" if COMPILE_TEST select CLK_RZG2L @@ -250,7 +255,7 @@ config CLK_RCAR_USB2_CLOCK_SEL This is a driver for R-Car USB2 clock selector =20 config CLK_RZG2L - bool "RZ/{G2L,G2UL,G3S,V2L} family clock support" if COMPILE_TEST + bool "RZ/{G2{L,UL},G3{S,L},V2L} family clock support" if COMPILE_TEST select RESET_CONTROLLER =20 config CLK_RZV2H diff --git a/drivers/clk/renesas/Makefile b/drivers/clk/renesas/Makefile index d28eb276a153..bd2bed91ab29 100644 --- a/drivers/clk/renesas/Makefile +++ b/drivers/clk/renesas/Makefile @@ -36,6 +36,7 @@ obj-$(CONFIG_CLK_R9A07G043) +=3D r9a07g043-cpg.o obj-$(CONFIG_CLK_R9A07G044) +=3D r9a07g044-cpg.o obj-$(CONFIG_CLK_R9A07G054) +=3D r9a07g044-cpg.o obj-$(CONFIG_CLK_R9A08G045) +=3D r9a08g045-cpg.o +obj-$(CONFIG_CLK_R9A08G046) +=3D r9a08g046-cpg.o obj-$(CONFIG_CLK_R9A09G011) +=3D r9a09g011-cpg.o obj-$(CONFIG_CLK_R9A09G047) +=3D r9a09g047-cpg.o obj-$(CONFIG_CLK_R9A09G056) +=3D r9a09g056-cpg.o diff --git a/drivers/clk/renesas/r9a08g046-cpg.c b/drivers/clk/renesas/r9a0= 8g046-cpg.c new file mode 100644 index 000000000000..6c77afdd34ea --- /dev/null +++ b/drivers/clk/renesas/r9a08g046-cpg.c @@ -0,0 +1,153 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * RZ/G3L CPG driver + * + * Copyright (C) 2026 Renesas Electronics Corp. + */ + +#include +#include +#include +#include + +#include + +#include "rzg2l-cpg.h" + +/* RZ/G3L Specific registers. */ +#define G3L_CPG_PL2_DDIV (0x204) +#define G3L_CPG_PL3_DDIV (0x208) +#define G3L_CLKDIVSTATUS (0x280) + +/* RZ/G3L Specific division configuration. */ +#define G3L_DIVPL2A DDIV_PACK(G3L_CPG_PL2_DDIV, 0, 2) +#define G3L_DIVPL2B DDIV_PACK(G3L_CPG_PL2_DDIV, 4, 2) +#define G3L_DIVPL3A DDIV_PACK(G3L_CPG_PL3_DDIV, 0, 2) + +/* RZ/G3L Clock status configuration. */ +#define G3L_DIVPL2A_STS DDIV_PACK(G3L_CLKDIVSTATUS, 4, 1) +#define G3L_DIVPL2B_STS DDIV_PACK(G3L_CLKDIVSTATUS, 5, 1) +#define G3L_DIVPL3A_STS DDIV_PACK(G3L_CLKDIVSTATUS, 8, 1) + +enum clk_ids { + /* Core Clock Outputs exported to DT */ + LAST_DT_CORE_CLK =3D R9A08G046_USB_SCLK, + + /* External Input Clocks */ + CLK_EXTAL, + CLK_ETH0_TXC_TX_CLK_IN, + CLK_ETH0_RXC_RX_CLK_IN, + CLK_ETH1_TXC_TX_CLK_IN, + CLK_ETH1_RXC_RX_CLK_IN, + + /* Internal Core Clocks */ + CLK_PLL2, + CLK_PLL2_DIV2, + CLK_PLL3, + CLK_PLL3_DIV2, + + /* Module Clocks */ + MOD_CLK_BASE, +}; + +/* Divider tables */ +static const struct clk_div_table dtable_4_128[] =3D { + { 0, 4 }, + { 1, 8 }, + { 2, 16 }, + { 3, 128 }, + { 0, 0 }, +}; + +static const struct clk_div_table dtable_8_256[] =3D { + { 0, 8 }, + { 1, 16 }, + { 2, 32 }, + { 3, 256 }, + { 0, 0 }, +}; + +static const struct cpg_core_clk r9a08g046_core_clks[] __initconst =3D { + /* External Clock Inputs */ + DEF_INPUT("extal", CLK_EXTAL), + DEF_INPUT("eth0_txc_tx_clk", CLK_ETH0_TXC_TX_CLK_IN), + DEF_INPUT("eth0_rxc_rx_clk", CLK_ETH0_RXC_RX_CLK_IN), + DEF_INPUT("eth1_txc_tx_clk", CLK_ETH1_TXC_TX_CLK_IN), + DEF_INPUT("eth1_rxc_rx_clk", CLK_ETH1_RXC_RX_CLK_IN), + + /* Internal Core Clocks */ + DEF_FIXED(".pll2", CLK_PLL2, CLK_EXTAL, 200, 3), + DEF_FIXED(".pll3", CLK_PLL3, CLK_EXTAL, 200, 3), + DEF_FIXED(".pll2_div2", CLK_PLL2_DIV2, CLK_PLL2, 1, 2), + DEF_FIXED(".pll3_div2", CLK_PLL3_DIV2, CLK_PLL3, 1, 2), + + /* Core output clk */ + DEF_G3S_DIV("P0", R9A08G046_CLK_P0, CLK_PLL2_DIV2, G3L_DIVPL2B, G3L_DIVPL= 2B_STS, + dtable_8_256, 0, 0, 0, NULL), + DEF_G3S_DIV("P1", R9A08G046_CLK_P1, CLK_PLL3_DIV2, G3L_DIVPL3A, G3L_DIVPL= 3A_STS, + dtable_4_128, 0, 0, 0, NULL), + DEF_G3S_DIV("P3", R9A08G046_CLK_P3, CLK_PLL2_DIV2, G3L_DIVPL2A, G3L_DIVPL= 2A_STS, + dtable_4_128, 0, 0, 0, NULL), +}; + +static const struct rzg2l_mod_clk r9a08g046_mod_clks[] =3D { + DEF_MOD("gic_gicclk", R9A08G046_GIC600_GICCLK, R9A08G046_CLK_P1, 0x514, = 0, + MSTOP(BUS_PERI_COM, BIT(12))), + DEF_MOD("ia55_pclk", R9A08G046_IA55_PCLK, R9A08G046_CLK_P0, 0x518, 0, + MSTOP(BUS_PERI_CPU, BIT(13))), + DEF_MOD("ia55_clk", R9A08G046_IA55_CLK, R9A08G046_CLK_P1, 0x518, 1, + MSTOP(BUS_PERI_CPU, BIT(13))), + DEF_MOD("dmac_aclk", R9A08G046_DMAC_ACLK, R9A08G046_CLK_P3, 0x52c, 0, + MSTOP(BUS_REG1, BIT(2))), + DEF_MOD("dmac_pclk", R9A08G046_DMAC_PCLK, R9A08G046_CLK_P3, 0x52c, 1, + MSTOP(BUS_REG1, BIT(3))), + DEF_MOD("scif0_clk_pck", R9A08G046_SCIF0_CLK_PCK, R9A08G046_CLK_P0, 0x584= , 0, + MSTOP(BUS_MCPU2, BIT(1))), +}; + +static const struct rzg2l_reset r9a08g046_resets[] =3D { + DEF_RST(R9A08G046_GIC600_GICRESET_N, 0x814, 0), + DEF_RST(R9A08G046_GIC600_DBG_GICRESET_N, 0x814, 1), + DEF_RST(R9A08G046_IA55_RESETN, 0x818, 0), + DEF_RST(R9A08G046_DMAC_ARESETN, 0x82c, 0), + DEF_RST(R9A08G046_DMAC_RST_ASYNC, 0x82c, 1), + DEF_RST(R9A08G046_SCIF0_RST_SYSTEM_N, 0x884, 0), +}; + +static const unsigned int r9a08g046_crit_mod_clks[] __initconst =3D { + MOD_CLK_BASE + R9A08G046_GIC600_GICCLK, + MOD_CLK_BASE + R9A08G046_IA55_CLK, + MOD_CLK_BASE + R9A08G046_DMAC_ACLK, +}; + +static const unsigned int r9a08g046_crit_resets[] =3D { + R9A08G046_DMAC_ARESETN, + R9A08G046_DMAC_RST_ASYNC, +}; + +const struct rzg2l_cpg_info r9a08g046_cpg_info =3D { + /* Core Clocks */ + .core_clks =3D r9a08g046_core_clks, + .num_core_clks =3D ARRAY_SIZE(r9a08g046_core_clks), + .last_dt_core_clk =3D LAST_DT_CORE_CLK, + .num_total_core_clks =3D MOD_CLK_BASE, + + /* Critical Module Clocks */ + .crit_mod_clks =3D r9a08g046_crit_mod_clks, + .num_crit_mod_clks =3D ARRAY_SIZE(r9a08g046_crit_mod_clks), + + /* Module Clocks */ + .mod_clks =3D r9a08g046_mod_clks, + .num_mod_clks =3D ARRAY_SIZE(r9a08g046_mod_clks), + .num_hw_mod_clks =3D R9A08G046_BSC_X_BCK_BSC + 1, + + /* Resets */ + .resets =3D r9a08g046_resets, + .num_resets =3D R9A08G046_BSC_X_PRESET_BSC + 1, /* Last reset ID + 1 */ + + /* Critical Resets */ + .crit_resets =3D r9a08g046_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a08g046_crit_resets), + + .has_clk_mon_regs =3D true, +}; diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index 70228d8a2ef3..abfd8634d2be 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -2152,6 +2152,12 @@ static const struct of_device_id rzg2l_cpg_match[] = =3D { .data =3D &r9a08g045_cpg_info, }, #endif +#ifdef CONFIG_CLK_R9A08G046 + { + .compatible =3D "renesas,r9a08g046-cpg", + .data =3D &r9a08g046_cpg_info, + }, +#endif #ifdef CONFIG_CLK_R9A09G011 { .compatible =3D "renesas,r9a09g011-cpg", diff --git a/drivers/clk/renesas/rzg2l-cpg.h b/drivers/clk/renesas/rzg2l-cp= g.h index af0a003d93f7..10baf9e71a6e 100644 --- a/drivers/clk/renesas/rzg2l-cpg.h +++ b/drivers/clk/renesas/rzg2l-cpg.h @@ -316,6 +316,7 @@ extern const struct rzg2l_cpg_info r9a07g043_cpg_info; extern const struct rzg2l_cpg_info r9a07g044_cpg_info; extern const struct rzg2l_cpg_info r9a07g054_cpg_info; extern const struct rzg2l_cpg_info r9a08g045_cpg_info; +extern const struct rzg2l_cpg_info r9a08g046_cpg_info; extern const struct rzg2l_cpg_info r9a09g011_cpg_info; =20 int rzg2l_cpg_sd_clk_mux_notifier(struct notifier_block *nb, unsigned long= event, void *data); --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 7F4B93EFD15 for ; Tue, 24 Mar 2026 11:43:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352630; cv=none; b=YBkQESRoASRc3hcdBIGNufj4//q6RYo+8oAbd5mMLAJCajYcY0stzCZldu1p+nwwSg0zcvRJ70jL2S8RaEerzHdUeaaCLOHOqx6LfgmgfowWLBklbAPX91HKCsYG8xdHx51iHL0M5nDEGfZZ2fa5iMCd5zMDHttV/AZIVXqRyGE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352630; c=relaxed/simple; bh=Lnn49v96XY/Hxt3uE4+O+/jQ9EbPWOlwwrgs/kb6AVY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nUwbDtfKEOymzbE5oms3lhzKz1Bp+DfxKxPbo18a4a+kr9uKeLsuE8LKtsCGZskyZ5ugiNKC6Wp/JhV31Oi+TixKQSysQlPOydXHYIZpBzT6IZMYFfYL/5oBlbZIiCT0CXVKJbS60yEnFxA+upSCvxpca5h9fCHPtjmj5s/AE9M= 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=dqefnJyO; arc=none smtp.client-ip=209.85.128.53 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="dqefnJyO" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-486fd5360d4so13128495e9.1 for ; Tue, 24 Mar 2026 04:43:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352621; x=1774957421; 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=6VDtEY0KCBGldtzOkCdj9dHnf0Q5b14Fvyj2LQroMxU=; b=dqefnJyOyrOWcQ8/4gaGS03nX+pD+YJkyWl0lCw7FF6YaOWqsaz0z9Mfx+dExa1OBK ZD8CFcGSZccRNBQHLRyENBbllqsF5Fq+XvChqFAYoYRTwENmG6LtWoLkjFLINTeL4abV jtnQ/F51UYAemRH/ITQGAvzJkM24KCpcd4K5MLuOD8kxV3V38jC7ISgr/xuwqa4qPyaW +uByH+U1ozMpxANxavN6qShlfDuQr0DYhQJIi6/u4Aji00QJZEH+PRZlccQ/fohTX6tt cpodh1Gs6A3pSEoofmvPhu/MpZVgUlo1nvSDNb6Kv2q2jRmK+zo99IbIVqJDK3s+Hqt/ FPWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352621; x=1774957421; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=6VDtEY0KCBGldtzOkCdj9dHnf0Q5b14Fvyj2LQroMxU=; b=mB5M7SxTL/bhaJCzUYtsZRmgiS9qGS9XK7fn1i3xX+A19QHsVtptiL001x4j4qYXrE rHWINnW7LylNNaJVLgY44/wFDeuItyHrVPng5REBie6gYPkhkqCdoYjf9EHbE8LWq1mm NovAnReVX5W/tODp9+Mi5i23Y5aLacx6boGjyhdqCP89ohlu3bWFDrfnLZAS3l0Q0tJK Mszq/AJqkiQAlMwzbhbCCezq2fCBBrU9Ak32ZvVccP1n3/Vrlj9tF9bEvz0AvlgkoxmP PBZjVXepvjHd6vUgZQTfEU1qdBAZgMtiY7h60rnwA6jF0j1OHaaB4hV+6lV6X26p1I+/ Wpew== X-Forwarded-Encrypted: i=1; AJvYcCWRdw7Ji87s3ySfQ1RErT3NTdIkofz2mi7kajoHfwRifmAzPHjDkN4Rs6YNTqhzetExquTocsQbZrF6AIU=@vger.kernel.org X-Gm-Message-State: AOJu0Yyw13O+zhFsQIh3RR/yAOXav+xRNKw/IQHCDcZPGviE5B+g3Gzf 6pBAxm9WQ29sYLZJBkkcTrp4V2o4uHS9MHra2cia2tLLkyQ5R+UBd7ql X-Gm-Gg: ATEYQzznwOlWESl7P4f7GhAU8M42FlRUa6EiQON9eR4rDS4N5UK8PBIlqXuMli1U50J la5pkJemS0Xex1inKuKeWa4Qu+jAORavIYGmYWSDfGU077o1XDRMFNC2e/qdOu5KEJd93mZRaNG GnEj7M2Ncb85nkNtSpDng4YyeDdKBVQruwlmXQ8Khg7t6lvGPwtuEYnaiTJTWWuG103gMf71jl8 T3jqoe9ENnKwGvFUtA02pgQiR2/EF3jLQCnY2uH0rCfz4mfNd4of04XwiumtxUrT21fEbxrDJF1 fd02Ob5Y/qlXz0xTN0vakTp5gccdYzxr7inZx8T2cBrgn6C6FwhHO+K0f10vCkid2A8wza1fstM m4RPT6Bw4OK7b3MlUd//O0Qs2vDO0YZtbxOWKeO0tAqNpqWR8MEm4A8I8f4K3FOsZn2iGJ0s1J8 LeqUHpCL6SR9Oxz6HD8zJVy6jgN1kTnPHpphYcPG3GbRu7kaXD X-Received: by 2002:a05:600c:3b07:b0:485:5ba3:37d8 with SMTP id 5b1f17b1804b1-486fedab1e5mr211216895e9.5.1774352621254; Tue, 24 Mar 2026 04:43:41 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:40 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Magnus Damm , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Biju Das , linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 08/11] arm64: dts: renesas: Add initial DTSI for RZ/G3L SoC Date: Tue, 24 Mar 2026 11:43:13 +0000 Message-ID: <20260324114329.268249-9-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das Add the initial DTSI for the RZ/G3L SoC. The files in this commit have the following meaning: - r9a08g046.dtsi: RZ/G3L family SoC common parts - r9a08g046l48.dtsi: RZ/G3L R9A08G046L48 SoC-specific parts Add placeholders to reuse the code for the Renesas SMARC II carrier board. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v7->v8: * Fixed the typo RZ/G3E->RZ/G3L in r9a08g046l48.dtsi v6->v7: * No change v5->v6: * Dropped dma-ranges, bus-range and comment from the pcie device node v4->v5: * No change v3->v4: * Fixed typo R0A08G046L->R9A08G046L in commit description * Dropped R9A08G046L46 from commit description * Dropped unused audio_clk{1,2} andcan_clk device nodes * Reordered i2c device node and updated reg entries by using lower-case hexadecimal number * Added placeholder in pinctrl node * Dropped unused DMAC device node * Added pcie node with placeholder v2->v3: * No change. v1->v2: * Added external clocks eth{0,1}_txc_tx_clk and eth{0,1}_rxc_rx_clk as it needed for cpg as it is a clock source for mux. * Updated cpg node --- arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 212 ++++++++++++++++++ arch/arm64/boot/dts/renesas/r9a08g046l48.dtsi | 13 ++ 2 files changed, 225 insertions(+) create mode 100644 arch/arm64/boot/dts/renesas/r9a08g046.dtsi create mode 100644 arch/arm64/boot/dts/renesas/r9a08g046l48.dtsi diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/d= ts/renesas/r9a08g046.dtsi new file mode 100644 index 000000000000..e030e785ea2a --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi @@ -0,0 +1,212 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Device Tree Source for the RZ/G3L SoC + * + * Copyright (C) 2026 Renesas Electronics Corp. + */ + +#include +#include + +/ { + compatible =3D "renesas,r9a08g046"; + #address-cells =3D <2>; + #size-cells =3D <2>; + interrupt-parent =3D <&gic>; + + cpus { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpu0: cpu@0 { + compatible =3D "arm,cortex-a55"; + reg =3D <0>; + device_type =3D "cpu"; + next-level-cache =3D <&L3_CA55>; + enable-method =3D "psci"; + }; + + cpu1: cpu@100 { + compatible =3D "arm,cortex-a55"; + reg =3D <0x100>; + device_type =3D "cpu"; + next-level-cache =3D <&L3_CA55>; + enable-method =3D "psci"; + }; + + cpu2: cpu@200 { + compatible =3D "arm,cortex-a55"; + reg =3D <0x200>; + device_type =3D "cpu"; + next-level-cache =3D <&L3_CA55>; + enable-method =3D "psci"; + }; + + cpu3: cpu@300 { + compatible =3D "arm,cortex-a55"; + reg =3D <0x300>; + device_type =3D "cpu"; + next-level-cache =3D <&L3_CA55>; + enable-method =3D "psci"; + }; + + L3_CA55: cache-controller-0 { + compatible =3D "cache"; + cache-unified; + cache-size =3D <0x80000>; + cache-level =3D <3>; + }; + }; + + eth0_txc_tx_clk: eth0-txc-tx-clk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + /* This value must be overridden by the board */ + clock-frequency =3D <0>; + }; + + eth0_rxc_rx_clk: eth0-rxc-rx-clk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + /* This value must be overridden by the board */ + clock-frequency =3D <0>; + }; + + eth1_txc_tx_clk: eth1-txc-tx-clk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + /* This value must be overridden by the board */ + clock-frequency =3D <0>; + }; + + eth1_rxc_rx_clk: eth1-rxc-rx-clk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + /* This value must be overridden by the board */ + clock-frequency =3D <0>; + }; + + extal_clk: extal-clk { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + /* This value must be overridden by the board. */ + clock-frequency =3D <0>; + }; + + psci { + compatible =3D "arm,psci-1.0", "arm,psci-0.2"; + method =3D "smc"; + }; + + soc: soc { + compatible =3D "simple-bus"; + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + scif0: serial@100ac000 { + compatible =3D "renesas,scif-r9a08g046", "renesas,scif-r9a07g044"; + reg =3D <0 0x100ac000 0 0x400>; + interrupts =3D , + , + , + , + , + ; + interrupt-names =3D "eri", "rxi", "txi", + "bri", "dri", "tei"; + clocks =3D <&cpg CPG_MOD R9A08G046_SCIF0_CLK_PCK>; + clock-names =3D "fck"; + power-domains =3D <&cpg>; + resets =3D <&cpg R9A08G046_SCIF0_RST_SYSTEM_N>; + status =3D "disabled"; + }; + + i2c0: i2c@100ae000 { + reg =3D <0 0x100ae000 0 0x400>; + #address-cells =3D <1>; + #size-cells =3D <0>; + /* placeholder */ + }; + + canfd: can@100c0000 { + reg =3D <0 0x100c0000 0 0x20000>; + /* placeholder */ + }; + + cpg: clock-controller@11010000 { + compatible =3D "renesas,r9a08g046-cpg"; + reg =3D <0 0x11010000 0 0x10000>; + clocks =3D <&extal_clk>, + <ð0_txc_tx_clk>, <ð0_rxc_rx_clk>, + <ð1_txc_tx_clk>, <ð1_rxc_rx_clk>; + clock-names =3D "extal", + "eth0_txc_tx_clk", "eth0_rxc_rx_clk", + "eth1_txc_tx_clk", "eth1_rxc_rx_clk"; + #clock-cells =3D <2>; + #reset-cells =3D <1>; + #power-domain-cells =3D <0>; + }; + + sysc: system-controller@11020000 { + compatible =3D "renesas,r9a08g046-sysc"; + reg =3D <0 0x11020000 0 0x10000>; + interrupts =3D , + , + , + ; + interrupt-names =3D "lpm_int", "ca55stbydone_int", + "cm33stbyr_int", "ca55_deny"; + }; + + pinctrl: pinctrl@11030000 { + reg =3D <0 0x11030000 0 0x10000>; + gpio-controller; + #gpio-cells =3D <2>; + /* placeholder */ + }; + + sdhi1: mmc@11c10000 { + reg =3D <0x0 0x11c10000 0 0x10000>; + /* placeholder */ + }; + + pcie: pcie@11e40000 { + reg =3D <0 0x11e40000 0 0x10000>; + ranges =3D <0x02000000 0 0x30000000 0 0x30000000 0 0x08000000>; + device_type =3D "pci"; + #address-cells =3D <3>; + #size-cells =3D <2>; + /* placeholder */ + + pcie_port0: pcie@0,0 { + reg =3D <0x0 0x0 0x0 0x0 0x0>; + ranges; + device_type =3D "pci"; + #address-cells =3D <3>; + #size-cells =3D <2>; + /* placeholder */ + }; + }; + + gic: interrupt-controller@12400000 { + compatible =3D "arm,gic-v3"; + reg =3D <0x0 0x12400000 0 0x20000>, + <0x0 0x12440000 0 0x80000>; + #interrupt-cells =3D <3>; + #address-cells =3D <0>; + interrupt-controller; + interrupts =3D ; + }; + }; + + timer { + compatible =3D "arm,armv8-timer"; + interrupts =3D , + , + , + , + ; + interrupt-names =3D "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt"; + }; +}; diff --git a/arch/arm64/boot/dts/renesas/r9a08g046l48.dtsi b/arch/arm64/boo= t/dts/renesas/r9a08g046l48.dtsi new file mode 100644 index 000000000000..39b114172af5 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r9a08g046l48.dtsi @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Device Tree Source for the RZ/G3L R9A08G046L48 SoC specific parts + * + * Copyright (C) 2026 Renesas Electronics Corp. + */ + +/dts-v1/; +#include "r9a08g046.dtsi" + +/ { + compatible =3D "renesas,r9a08g046l48", "renesas,r9a08g046"; +}; --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 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 5113A3F23C5 for ; Tue, 24 Mar 2026 11:43:43 +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=1774352630; cv=none; b=hTHp0H4QyaNE3ycg6elaLgOMmJHoKCWhGHZNdHRtOfinQHQljyaBpuWQBcs68vQmsuG6XxcVzoedtdakKgrXwhsyNyY1m78+sDYiwUTYadLm6eqlHND2ZobUDkS0DK0wD3wLfo6r+RHGcKu7IqReBJlqDB7RME84mqJjPszdUHI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352630; c=relaxed/simple; bh=zTHSvgauhk1fL2rH+ZBSq/RVMv1G8G+YQUAc1AEK3Sc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o4ZfZxITM/QBzDj+9v55xYDVBI/5j/p+itjrL7sIPfikO+oznIP68888cIRb7wW6tahjv1eAIlPtwAcufEzHEyWaya0f1AD7XE16WFCkK+fkD7w1OerBB88BhtLZ+iLbeh0UAOTvnThqWCza+OvGVBrd9lb3+RXAriFUKKpDpy0= 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=nYsOMKGP; 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="nYsOMKGP" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-486fda2a389so30957985e9.1 for ; Tue, 24 Mar 2026 04:43:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352622; x=1774957422; 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=QInh7f+kJYLhky42CpiKQ2Xvp48u5QVAak/vIZ1XsNA=; b=nYsOMKGPq2hh/RqEhR/un45pNIVYcjayw38CnagGfapsAi2WNtCrgxMlMmjIf2oMDq yTJRvG7UJ0/02OZ4E8TDBKnmcO72mjsK/mIMmlFp3nK941ynnVncEHg4wUSUJacD8bRH AbtFOvEh6zbTW+6Fo9JtISTA0nXO16BmpIy817WyFuMnQkTyMXziRGjtqLSeGSqC6JFg d1UMZ76/31aUem0Xyp/HnSRS4bF4iCkOeICmsCle1TtTVJ12SbR2sn8NhQaCQi5w5CFV YhNQgzClJwjQyf70iZXGA/eM4lVQHs9CoV+LbRxf95Fx2eHB7t0+XCXBWfFS7E4VVrGw Y+FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352622; x=1774957422; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=QInh7f+kJYLhky42CpiKQ2Xvp48u5QVAak/vIZ1XsNA=; b=SYjO8HSU/kvFh2+6rO+m6TfFlJoOdUPEMIWJXLuNtbHodb0sqhDT4eLahyugGyDnHZ rlcmlQW5fRV0hdWxTup7wN9ZTrbswrqwB4IVuw1hA+8PyjdHW2mfclj2CXz2M5Ye0HXs mp9TPtijcHW7hnsVo7rbsYKvB6dcbpP+OahkDS3AHDsugujIHYXm6Y3hxZhCynm5nMQ6 1Ao8f8I8yGot9yTdBerwW3gf5quu2a8TIB8L35WEDVrZnGK9qN264gv1BoAsAP534CuV 6WG5p31Z0D4ojo+mYZjjpK+Y2XTM8SYVIR3HA/t6wH0o7ZxU57OxF6l0GyovMaU7miPi CzDA== X-Forwarded-Encrypted: i=1; AJvYcCXv+BKWdatrd24MQlcp6jyFS40QfKK3U4oEgbMpW4cYsEqslRn5O5yFXybLvX1ZmvTLYXKncJT1eJegCK8=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3edeMakkYhiNteS/sDt638/xwTXNZNBq+WARugRqSBT0RxrFV +lfo/fEipCsLgoiUVevnTHf6s7Bxs4Q8dbYF15a/ThDNLXbUot0eZFfx X-Gm-Gg: ATEYQzylAtswnX+AhMGDWXkn/nNBhM+AjFwUTCwePifCbphz+/1ZoKMl3b+qacuQnPw P6KmeCRqcKJzaHWGqaItSFyovrspiNZvi/W8Eha6+tV3+LefJ9SiPkYNiy7bXA9v/oRu7/SvZKu xKLUGflmAYT+oit9X55V0PSwmbi8P5kGI6mhjMT20MEzL2FNGIV6fAdNdBUyuYu0vy99mJOTvh9 Qtt/QU1itzSnJC7xb11rBch0GCQtgXYFcgFtHZCG5TnJSWWVYcspbB0crXRzsqqMNFM7JL4gu0C XrWYJt/+C9Sg6EB90yvg9oahjNudicl2NzQPbi2n/pHuor9Q9PN5Jy0hiOayG4jZx6i29oKj/A0 In33yEO+nb5FVioZEtwTB7lRbgHSZ/qSXkd/yxztHBkYMcqvtb33E9M/O7lLaQazTx9m8pHxUhm a1wL8HUFYMJ0MLJ87omoIqpVckxuS1jDSzUk12k6Add4pn53/+ X-Received: by 2002:a05:600c:5291:b0:485:4278:24fb with SMTP id 5b1f17b1804b1-486ff04d6afmr219757615e9.32.1774352622090; Tue, 24 Mar 2026 04:43:42 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:41 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Magnus Damm , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Biju Das , linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 09/11] arm64: dts: renesas: Add initial support for RZ/G3L SMARC SoM Date: Tue, 24 Mar 2026 11:43:14 +0000 Message-ID: <20260324114329.268249-10-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das Add initial support for the RZ/G3L SMARC SoM with 2GB memory and extal clk. Reviewed-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v7->v8: * No change v6->v7: * No change v5->v6: * No change v4->v5: * No change v3->v4: * Collected the tag. v2->v3: * No change. v1->v2: * Dropped gpio.h header file. --- .../boot/dts/renesas/rzg3l-smarc-som.dtsi | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 arch/arm64/boot/dts/renesas/rzg3l-smarc-som.dtsi diff --git a/arch/arm64/boot/dts/renesas/rzg3l-smarc-som.dtsi b/arch/arm64/= boot/dts/renesas/rzg3l-smarc-som.dtsi new file mode 100644 index 000000000000..7c21afaee9bc --- /dev/null +++ b/arch/arm64/boot/dts/renesas/rzg3l-smarc-som.dtsi @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Device Tree Source for R9A08G046L48 SMARC SoM board. + * + * Copyright (C) 2026 Renesas Electronics Corp. + */ + +/ { + compatible =3D "renesas,rzg3l-smarcm", "renesas,r9a08g046l48", "renesas,r= 9a08g046"; + + memory@48000000 { + device_type =3D "memory"; + /* First 128MB is reserved for secure area. */ + reg =3D <0x0 0x48000000 0x0 0x78000000>; + }; +}; + +&extal_clk { + clock-frequency =3D <24000000>; +}; --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 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 1AF453F23CD for ; Tue, 24 Mar 2026 11:43:45 +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=1774352631; cv=none; b=MNNQTaBdVoQDidE59E+fWU/hC/JO8iPYSX57TZkYJjaiAwPijb9aCnrmfS4Kg8/BHLRH1OrSO12S//Yp+t8wnsyODQWyOovCe8udxb0vCDWj8r/Ygf3y5Iooa+OrqDmMItCW+/fRM7oydw8IgefFmzbiOr+l9VwhBPzsZPqxzIA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352631; c=relaxed/simple; bh=WCsOz191eih0MXZ0OznFJ4IlSh5CQa4XbzsA9hxPo7Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XaUU2gzbyl/19dXBjIMskF7VJRegThFr/9yaFOHJOhWb1qCkWLgXSe8lH6/bqoC/Cul7PX4CCfxO3YtHq2R5zkW9bcVVKDBUiQFK6dD9EqCbIEBASyqZyc/6cC8t1ud/1ovRURunzLfLO/2GNMIZbbtbaT5saXMc34KNUs5UaE0= 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=NH7zYCdl; 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="NH7zYCdl" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-48374014a77so51559385e9.3 for ; Tue, 24 Mar 2026 04:43:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352623; x=1774957423; 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=lNXpm+EocPv/pt5Oe0CQXzjdsdk5Us4vsSky/67Xf6w=; b=NH7zYCdlHsaE1baao25TcMDKmlAaUhHZlWV8SLly0LLaKintP+/vkT87LW1OOWHWrp uxTxYlTWELYPVWTLNhNl/ogul7yeV+1dbVWK+X2A9Qw9dZHI/z6zWrUzZt/W7jdtMbuD e2HI6jK26owEx5ckGZ3JPHiwPhL+MdvfDItRNXi0Z0l+iS8W/3u1wpSmcOtPCbHyGpIP SD/ys9Jzg2HIY5x/yMen0TllMRo8eqjhKFlmqBZeJ0Do/Lx2OYqiJ06sG89p9LEgpnq7 S2/cxYwreaW5jTv5JrcslGsVymWGngUr7Js34HvXlh/xNh7vxe5qQ6WIHTr8YI9bqSlY THig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352623; x=1774957423; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lNXpm+EocPv/pt5Oe0CQXzjdsdk5Us4vsSky/67Xf6w=; b=FXSPODNWQE44lSeKP6mc3S08YK2EUF5BmeN2SfcN1G5rBg5y0HNEHwwkglc5bTnD6l 2zU762VIV4yijg0KtYW3yNm4hHa6BQ0MjsejSnBAcpvZLb8qo0BJmNID2QGBIL7ely1p J7MGws39SVpGp4MCOnu88Nuee4nCm0vja04RY2zZ9U2+64mjhLQcfUl5p5dNzjg0HE7U 8pOcZzS23eMpAdOKPToyLc2d+bj1SMcrCs1Esrgexj+sVLIKVj2STHHoTuGeMR6Wol0P N6m0qOZDIxLYQ+M/O4IWQ5Y6pYHR4hoJDibi9N7t+oJtPJBSKC03V6oCQ3NKoPHb0nQd Posg== X-Forwarded-Encrypted: i=1; AJvYcCWsBiBH8ynEvIr5Xrn4IRhz66cKjNT+LnsLQFcj6hyrkzultYbyD9O/qgs4vH4/scZwiYPh1kdmm6b68a8=@vger.kernel.org X-Gm-Message-State: AOJu0YzovhKjjsh2oaRy0Dg1gatXcLh3IQ9wv9a43gHo7XOt8ris/oyj rD1tq1BBh2MBD1pR/GEm7eEEM5nqZJkvwUh31BYcFJ0/Q15CayDQA0jG X-Gm-Gg: ATEYQzwIvqRFixty+WoWrTiP4Pt3nCuYQdbI+CGTyE6F+CPKNS8pRuDJe97O47Gg46T XVOgYK4e2R5fnR/r9OYt+9/A6BswCRwziXOt3Yr1mqv3/o8DAV++87CnVsvcRGl/xp672Vdz6TP WfPfSeicDMjxlYMzSWyUxkAdIwGXcrViq35dcXUWM9FqIh2rjaWbbm3scqkrToqoK+iKJJXaNTD blKhfgsN2hHWhmUWdSgA48u/RrlruarDscLYGrtbuHuybXBe1KkxwojeFxfwo4u1UFuLrhuj/7y thz4+Jd90WHOVFLhjaSQClOYQrEL/X62mmJK4v5UrfYqPMmd5wlgG2uaTMKHz44vxSuHOKo7K5j qmfrBL8vj5En+vVYZwhYf0OI+WVmHmxPq9b4WS5NvgJTvawzkKn2pxaxmrJQMx9Q6CWeH7x3KBp h487E59X5mgU0JouO5SvkMbWv92ERXVhVfH/zer2+9F/Krh54P X-Received: by 2002:a05:600c:c173:b0:485:5981:1411 with SMTP id 5b1f17b1804b1-486fee1a26bmr200847485e9.23.1774352622882; Tue, 24 Mar 2026 04:43:42 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:42 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Magnus Damm , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Biju Das , linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 10/11] arm64: dts: renesas: renesas-smarc2: Move usb3 nodes to board DTS Date: Tue, 24 Mar 2026 11:43:15 +0000 Message-ID: <20260324114329.268249-11-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das The SMARC2 board DTSI is common to multiple SoCs. Move the USB3 nodes to the board DTS, as some SoCs (e.g. RZ/G3{S,L}) do not support USB3. Reviewed-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v7->v8: * No change v6->v7: * No change v5->v6: * No change v4->v5: * No change v3->v4: * Updated commit description * Collected the tag v2->v3: * No change v1->v2: * No change --- arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts | 6 ++++++ arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi | 8 -------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts b/arch/arm6= 4/boot/dts/renesas/r9a09g047e57-smarc.dts index 30ffd458f188..9d16c3117cb9 100644 --- a/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts +++ b/arch/arm64/boot/dts/renesas/r9a09g047e57-smarc.dts @@ -264,7 +264,13 @@ &sdhi1 { vqmmc-supply =3D <&vqmmc_sd1_pvdd>; }; =20 +&usb3_phy { + status =3D "okay"; +}; + &xhci { pinctrl-0 =3D <&usb3_pins>; pinctrl-names =3D "default"; + + status =3D "okay"; }; diff --git a/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi b/arch/arm64/b= oot/dts/renesas/renesas-smarc2.dtsi index b607b5d6c259..69c0101ff7f5 100644 --- a/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi +++ b/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi @@ -107,11 +107,3 @@ &sdhi1 { =20 status =3D "okay"; }; - -&usb3_phy { - status =3D "okay"; -}; - -&xhci { - status =3D "okay"; -}; --=20 2.43.0 From nobody Thu Apr 2 09:43:50 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 A9F753F54C1 for ; Tue, 24 Mar 2026 11:43:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352634; cv=none; b=tJwL6jVN5T66RsyVLx646/G9O0wWsb00qQIO0C3Sg01dZz7QozW87gO9nQeE/zRfaNp/E4annD2j4LYGNs5BPWDc8XxP5XHcN0WU4f7xGj42/d4FGhhVXWA97ayopW0WQrcCKeLkG1gH+N4Y8Oup7SFRBfhUJIp7FL47ovyeqWY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352634; c=relaxed/simple; bh=mR2hItSWrC3t16vQFhBn43dO7fQNDpoPvvx1+2mjr6U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mgns5xlknhVfqOnR4dE5YnIdxklJ3Ux/VhhD0NXIGUdYZgWrFTRuq88ZjO2dhIP0Rz0byxjn3JCE0nlbnwt0OxhlbXWAkXolN3IEnDBPC/Dssfy6jQ9g3sbRV1Xu1DNle2XbrbnX+gfUXzAZSTxZVMMnWd1XGHm+Tv7Chh8bcVY= 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=lnV6I8d2; arc=none smtp.client-ip=209.85.128.43 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="lnV6I8d2" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-48700b1ba53so36458945e9.1 for ; Tue, 24 Mar 2026 04:43:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774352624; x=1774957424; 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=6O+qe+u4/j1RQP5lvPZzC/67zh2chDnbOC9lz0tvoJQ=; b=lnV6I8d2Rg4lIJROHljBNMcb4Xf8skjLw+3U2O6FS3aHvu19EOyZRkIFK3lNphlv6T aeIZlucc/04NN9YPh+GlrMPE1D/E8+qJKy+a/xNpG04JHWAQWP82/g14ofAJwziSjBVc GnMd6rc4wI4aOCTc0M/jl4VS2lrVPDWD5c1hvDUxJJBs9D6kvWkeoiiEKPJj7KqaupXc BI/yGLZj7V2v//+sP1onP3EjT99vQQJjjm+hihu9RLoIN46O2Oy3TiP2csVMkd0JRnz9 05yMGA1YBgNHpgfZqu/jCdIUqdn2128BcYUIDEzxdtyoNZmwtQjMlnHgEeG2AX/9byTZ 7BAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774352624; x=1774957424; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=6O+qe+u4/j1RQP5lvPZzC/67zh2chDnbOC9lz0tvoJQ=; b=b0LmqUveW0z+N4dij2dSzW8PIwTBcg8MimCtRJmaSLFwFaB6lFgoKtalzOnp7i8RW7 l4N64TI+4thQJqEcxgIe75E8SrDR7XgYZiBf1rVK5grqQ+ASLvsBwdKitP1mE4Alf5YZ /EtzsDNKlSvVWSrrDRiMv7rxrRr4W+Cvj3yd1j2J5nogjNybs7KD1syFG95KJte54ttf QjDwncCxBgXS8/5SC6hFI7Pd3F4OnnOcAWrMbNBjHIeniOvpoxUxJQl/PgttJ0cMoiLP yprXpoMeLHoglgQ9zUMF/fIuswAIPCv8rkSULwY8YiX4U8GDcYE8N3lr6uteTNx6LBiK qAVQ== X-Forwarded-Encrypted: i=1; AJvYcCWBoxtUfbjY7vG7BsDyZBSLXxnFr4OZp2Ns3ze0X3R6JYcWw8L2klZHktMLntOUw2DZn03cRfGW3HQF868=@vger.kernel.org X-Gm-Message-State: AOJu0Yy308T5whDnm26NjRYEAgKALBU0M0jKEhcQqtPEig3Vkr4nVEb1 P7s9aXZDp3wHZ/j5PBLpMr0fc6m2elXJxIzzidvufPjEv1pBCYc/576A X-Gm-Gg: ATEYQzzNusPcI6AuzeciUYK4phy7rp8r9XFSs8SijHsg4k6QSuFOQm0uECIMIIsLGVB RoybxUuk46BiuixNxs1kYR9NWye3Ik8nusFn+thYixT9B7H6OmNyXNOGQKQNa37MOPlNHeGjvUs KnOjkCbs3cjXS89LnD9XeDNese10DMML37EMKgxMw0XmhG8ombQU+DmgFMCme41OkLsUqEBtQRe geQ2nuUbP4vSUn/9k1rAVVjOSmz7Hi8ElSnpdL3tUuSFmGf6/AX00AWyO1HclnU6B6zqaD+xxes F3nqAZdBb7iEhX6u5lHgn3DeafXc6X9zX3lVP9XDBkVsSLiUzrUS4kVk3O+25j92R9pR0vAsddV T1Gl5DP/PC3MpJZZ7Sm7PQAUYDMk7cGGaPzvSKUz1/veLOvCSjfXK5by+//Py60d/urP+Y1WuPj v9kMIssgqysroKe3V3w+UZnKKc58tUoYIBo3xIK43MSlrMZ6q3 X-Received: by 2002:a05:600c:1c0a:b0:486:fbc8:8dee with SMTP id 5b1f17b1804b1-486fee2dc56mr233497465e9.33.1774352623796; Tue, 24 Mar 2026 04:43:43 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a4a6:e61e:cd81:c756]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4870f7f5682sm25416465e9.3.2026.03.24.04.43.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 04:43:43 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Magnus Damm , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Biju Das , linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v8 11/11] arm64: dts: renesas: Add initial device tree for RZ/G3L SMARC EVK board Date: Tue, 24 Mar 2026 11:43:16 +0000 Message-ID: <20260324114329.268249-12-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260324114329.268249-1-biju.das.jz@bp.renesas.com> References: <20260324114329.268249-1-biju.das.jz@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: Biju Das Add the initial device tree for the Renesas RZ/G3L SMARC EVK board. Added placeholders to avoid compilation error with the common code in renesas-smarc2.dtsi. Reviewed-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v7->v8: * No change v6->v7: * No change v5->v6: * No change v4->v5: * No change v3->v4: * Collected the tag v2->v3: * No change. v1->v2: * Dropped scif node as it is already included in common platform file. --- arch/arm64/boot/dts/renesas/Makefile | 2 + .../boot/dts/renesas/r9a08g046l48-smarc.dts | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/ren= esas/Makefile index d4dfb7fd973b..76df20d2fd29 100644 --- a/arch/arm64/boot/dts/renesas/Makefile +++ b/arch/arm64/boot/dts/renesas/Makefile @@ -179,6 +179,8 @@ dtb-$(CONFIG_ARCH_R9A08G045) +=3D r9a08g045s33-smarc-pm= od1-type-3a.dtbo r9a08g045s33-smarc-pmod1-type-3a-dtbs :=3D r9a08g045s33-smarc.dtb r9a08g04= 5s33-smarc-pmod1-type-3a.dtbo dtb-$(CONFIG_ARCH_R9A08G045) +=3D r9a08g045s33-smarc-pmod1-type-3a.dtb =20 +dtb-$(CONFIG_ARCH_R9A08G046) +=3D r9a08g046l48-smarc.dtb + dtb-$(CONFIG_ARCH_R9A09G011) +=3D r9a09g011-v2mevk2.dtb =20 dtb-$(CONFIG_ARCH_R9A09G047) +=3D r9a09g047e57-smarc.dtb diff --git a/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts b/arch/arm6= 4/boot/dts/renesas/r9a08g046l48-smarc.dts new file mode 100644 index 000000000000..86db86335d5e --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc.dts @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +/* + * Device Tree Source for the RZ/G3L SMARC EVK board + * + * Copyright (C) 2026 Renesas Electronics Corp. + */ + +/dts-v1/; + +/* Add place holder to avoid compilation error with renesas-smarc2.dtsi */ +#define KEY_1_GPIO 1 +#define KEY_2_GPIO 2 +#define KEY_3_GPIO 3 + +#include +#include +#include "r9a08g046l48.dtsi" +#include "rzg3l-smarc-som.dtsi" +#include "renesas-smarc2.dtsi" + +/ { + model =3D "Renesas SMARC EVK version 2 based on r9a08g046l48"; + compatible =3D "renesas,smarc2-evk", "renesas,rzg3l-smarcm", + "renesas,r9a08g046l48", "renesas,r9a08g046"; + + aliases { + serial3 =3D &scif0; + }; +}; + +&keys { + status =3D "disabled"; + + /delete-node/ key-1; + /delete-node/ key-2; + /delete-node/ key-3; +}; --=20 2.43.0