From nobody Sun Oct 5 10:47:05 2025 Received: from smtpbg151.qq.com (smtpbg151.qq.com [18.169.211.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 30B691F19A; Tue, 5 Aug 2025 13:01:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=18.169.211.239 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754398918; cv=none; b=nqbGZugD0XmK7J9p31uogWa6PBYVRvINP+8PSrx5J2+YnbKnlRD+FBGLRpiee5UJAKoh6QfPHX/1K5hYQZZ5gO7VGeZgNxzBnDbnAd4/FHP1+caQA+5FXSM2Jwd2lULPeUpqh5Aw1t4kCXNxPkIu7p+ZpBtgXloZoFUc/oUxD+w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754398918; c=relaxed/simple; bh=5BkvHDYGZxcrey1OnIOFiDWh/mlgsN57huK66iChlDA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UTURHsc1RrCFKxZdocQ8tdzwwDgtS08zXnjpIGZ7QxYIRlkOYbCcvrqKLfbIJSNXRGdbEf12vcjDgoBxS0xO/tGt4MF2jBQvMH2ttg1Y+Jl1IW9BlvaKk/VMjW7+0EHtPG+iWGpStXQPp2JsyuM4UuOjKEetjyTnRXJw4VkBsPQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com; spf=none smtp.mailfrom=linux.spacemit.com; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b=uHEJ1rrp; arc=none smtp.client-ip=18.169.211.239 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b="uHEJ1rrp" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1754398896; bh=FVBPVEeUd1bxjQJhz//RpBXorx7jPTLOEKGvJHJaQ6I=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=uHEJ1rrp8lcFNQEhaZH83d0TGSxh9/MSb2rI3Tk71G4A78BOeZEnlqSzxd8bdC0gl 4aI8s8HHr62oWtRKRFX4+EBbzWUp74TfTUR0EDaWVYFaErzExwm6f17+9lZKHHgj9Y Ehg63CRZep78d6sUEKcUIlloLxYs1XprVwDfObZ8= X-QQ-mid: zesmtpip2t1754398895tfe7aa0dd X-QQ-Originating-IP: CPpRJvHoFk9wwvAZxLC1CoM7Jc+eYsDtqwv2sfJO/dA= Received: from = ( [localhost]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 05 Aug 2025 21:01:33 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 9963814642751996560 EX-QQ-RecipientCnt: 15 From: Troy Mitchell Date: Tue, 05 Aug 2025 21:01:09 +0800 Subject: [PATCH v4 1/2] dt-bindings: clock: spacemit: CLK_SSPA_I2S_BCLK for SSPA Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250805-k1-clk-i2s-v4-1-038181284dd4@linux.spacemit.com> References: <20250805-k1-clk-i2s-v4-0-038181284dd4@linux.spacemit.com> In-Reply-To: <20250805-k1-clk-i2s-v4-0-038181284dd4@linux.spacemit.com> To: Michael Turquette , Stephen Boyd , Yixun Lan , Alex Elder , Haylen Chu , Inochi Amaoto , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-clk@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Troy Mitchell X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1754398873; l=907; i=troy.mitchell@linux.spacemit.com; s=20250712; h=from:subject:message-id; bh=5BkvHDYGZxcrey1OnIOFiDWh/mlgsN57huK66iChlDA=; b=SxTtW4MUMwC7dLisiqic3znXA6OPJqUWvrb5W5Pn6+JFG8K/Yh3eUkw2+FCEHT/mEu4vhreEc rAhO0DskONhChyvl0uXygnVqsvgGn/ntlTHpow6ebqltPYLSEQ4B0QC X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=ed25519; pk=zhRP1xE0bftrurqSWI+SzcSdJGIZ0BTTY9Id0ESzqlI= X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpip:linux.spacemit.com:qybglogicsvrsz:qybglogicsvrsz3a-0 X-QQ-XMAILINFO: NaNf4b06WLAJYE2riTHfVtee7rzDHiQpvZJQ1KX3K2Ckt9m3ntLBJ7fX j4XLjWgkYORaEBslikgF/c5CYH9ccOobIEKZHxZyyspmCosCdPkg3Zm9zZMSg1J1SGSpCbn N8DeePNO4Kj3UFFp+XSrPDAnsaTUNAtuMrdbjc9JPiK7QR8LhugWZ2gzbNOBLS6H6qvc4zl V6G9QsP2eOEVOmG4a1W07/xYbW7qNMKsRUXHJ6TKjv4RFdIOM94rzgN0Up1jXpso3XFxjEg AB0nZrr1nnDJEtRiobnc8E7xUlmA5yoyDY8xco8VQLqRFWR2iPhkHOunLLQrSiJxQLIDgMQ CrumY2uadwFXMLORKDexupj00Fe8rMRfY7QJEsOtz5maK/y0NZUaU7IfIuz/AXbnWaN34uN FgYgdlEMTkma4zEwsr8T0K7CXuicHAXbA00E7f3txp4kM7hS448I3gOxlS7sgXTiyCNUsqJ QTguwVsgJY+YL0jqryuB1Vifh0XcAUOIpNWvhrownD2RfoxrrfFhem+M5Yb3HPAg+5/TtgN NPimnszEhJI+eiRjMeQPbcvT/iXLP/vbIpUZVkQ7p4Q+I9a78Vgh8pMW+BQ8PJNh26czQnt 4mA6pfvft9R/MATxkwrG1cW3idow0huF/uA+U8CMMv3GuOEsjBZupKN4x7bB/aWqXG+EF7i CZgwEmed7+YKPq2J6Dj+jNSWNpnu6ZJhi/faZg8K1yJYbh8kEWFUnN8Jc371y9FRm+kKhJm mn1Dq8/aqvIE8qShDHEUQGENJku9+D7DhFLUrOMWrh2HKHgfg1gzwBlOYwpH2svSbBSI+HD 6/aRUtYHhissNt2hQ5PE7jz/BBTzw4sNtRt5Hr7ze2dPYrWpxAgBdMqRlsE58dBjoPKwPCz IJr2MMR5uGpvG0ty/Astx7r/wlfa3g79lhONDlljnwTUVKVNgLRTNQgtEbePE00E/T7ChzU y9pF+ijfV8VzU4X6k+ZdvDNWPLGPmFXSmJSik75QyRsXz6rdHgJPgwZHvofwKkZ6+Je6Jtw rETLImEZ010dfH5rIVYVuQSmKdg9CYvnFdG3K38khV9awWd0Ml3QLc9Es4hyGgWSTt8MiCK pr3nRfbN1+XYZZgRpTRdFMaysO+MmCRaBuOTRG8OzFNZmBOe8J0xgFv//tikN12tQ== X-QQ-XMRINFO: OWPUhxQsoeAVDbp3OJHYyFg= X-QQ-RECHKSPAM: 0 In order to use the virtual clock SSPAx_I2S_BCLK in the device tree and register it in the driver, this patch introduces the macro definition. Acked-by: Rob Herring (Arm) Signed-off-by: Troy Mitchell --- include/dt-bindings/clock/spacemit,k1-syscon.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/dt-bindings/clock/spacemit,k1-syscon.h b/include/dt-bi= ndings/clock/spacemit,k1-syscon.h index 35968ae98246609c889eb4a7d08b4ff7360de53b..9be578953d71e79e93eb10eaa35= b47b97812e826 100644 --- a/include/dt-bindings/clock/spacemit,k1-syscon.h +++ b/include/dt-bindings/clock/spacemit,k1-syscon.h @@ -179,6 +179,8 @@ #define CLK_SSPA1_BUS 97 #define CLK_TSEN_BUS 98 #define CLK_IPC_AP2AUD_BUS 99 +#define CLK_SSPA0_I2S_BCLK 100 +#define CLK_SSPA1_I2S_BCLK 101 =20 /* APMU clocks */ #define CLK_CCI550 0 --=20 2.50.0 From nobody Sun Oct 5 10:47:05 2025 Received: from smtpbgau2.qq.com (smtpbgau2.qq.com [54.206.34.216]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D33872749E8; Tue, 5 Aug 2025 13:17:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.206.34.216 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754399844; cv=none; b=TN67hRcC+QZch+eE0r7IsN2/MZraxP9ICA/scz58U2hlV7NkS+hohuhZu8R/Z1yAO+uGPqR4A6JQu7dsw7BViLa2BpdofxH3w26f98vOgX0dkDh0mtkUl5qa1yyUohtyMTgB5LhqzWQt2QAm4E8sJoFc0r9Oq4THWZilYoLbZ7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754399844; c=relaxed/simple; bh=GXDLqZ9n8KfIJNwv8n0LBseFgDTIjbKd+WPaDTIUSTI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=COnqlUPm0n7iuUBU+OaE6U2XK9fqfHS6l4mR7Qsh8zrgQM7zZuFq9Ejzq/Rj1HvTx1CmCGngtePPDc6pD4jeLfxW/vCK10KZClyKpyydSu8QGSBx6RcJzuk74QHLKmmNiMebgyGq6+XPuyJG5l4lE9uHypcOjA167wB9S+/31BI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com; spf=none smtp.mailfrom=linux.spacemit.com; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b=gPRmjtcF; arc=none smtp.client-ip=54.206.34.216 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.spacemit.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.spacemit.com header.i=@linux.spacemit.com header.b="gPRmjtcF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1754399817; bh=uKRpwftHd76ByzGCZwStgONS7ug7yWYWivbpDDIKLDM=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=gPRmjtcFZIBvcf4kfA2Jn5jj5E45wBKOivzeUG5hPLzQXd4zShfMSq1dcnZCii4bs ZRykz/awaPcBbUGHNtdB4LeutACzV8McUnY4YoLCyhnHIaAoLJ8PIBnUMe9WkXKS07 AYC4tgGMOLDGrK/v0sYprNy6HqWGi91S0puRLQv4= X-QQ-mid: zesmtpip2t1754399812tfdd1d4e4 X-QQ-Originating-IP: v37YLt7kMBXvE8kdPSfrSPPwxyTY26MVd1UE+ZktKOw= Received: from = ( [localhost]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 05 Aug 2025 21:16:49 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 11721054069434364327 EX-QQ-RecipientCnt: 16 From: Troy Mitchell To: troy.mitchell@linux.spacemit.com Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, dlan@gentoo.org, elder@riscstar.com, heylenay@4d2.org, inochiama@outlook.com, krzk+dt@kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, mturquette@baylibre.com, robh@kernel.org, sboyd@kernel.org, spacemit@lists.linux.dev, ziyao@disroot.org Subject: [PATCH v4 2/2] clk: spacemit: fix sspax_clk Date: Tue, 5 Aug 2025 21:16:46 +0800 Message-ID: X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250805-k1-clk-i2s-v4-0-038181284dd4@linux.spacemit.com> References: <20250805-k1-clk-i2s-v4-0-038181284dd4@linux.spacemit.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 X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpip:linux.spacemit.com:qybglogicsvrsz:qybglogicsvrsz3a-0 X-QQ-XMAILINFO: NOIkHYnr7VzduGTDUA6sSxXnskMShZ49WC7yc4MwFchWXBEOWt2lOsWL CXQql0tErv+Ekm7CgkH/Lhrfu2TYBHY3RkDEuVQyP/rXbYV6tgUhisydoh6DSoY6pB7Nl48 EOQINuC1n6LS3kPLBUyCjesQWMFGDK3xuelTopgtX5SBPOXI8U+ZsOqd/EWQjiP7UPVxJ+a O2GEnu+yy4vin8hD4A/8LkEDiDS85oaZcyq/8c8Mz8aheWNfhIW6w5PCJ6SmgHqi3nZH1Rz IQIvYo03XhLKcVAITNMyaBWMLyjs+lu2iDsqGDNEJG+4X4wB7/uiG9eoIhYt7g5Kn+aEYoB 4F1vFjKUY72F7zThaNgRFf92bGzLf3wA+emCnu0vnNHaABADgLOVB1BXlUcfaMEsImwjjPr F/LIir8oby04L5R0f1F+9EPI4Tasnv2mymV9GjL8eSvtlJdiYiAU6kgjXx2lAMSvI9qsVx3 AvlyQqf8hwGGSBdsd/QaYENThMqsBegRcRQomkTBQYt4c78o2olw2gnha1sbSwCvB17lycj wc8mmTUFlOoupWyCpOnamnJmlwGivFN3oMsHByTxf9oWRNNf67cPIj5Qk3fViTj/l6DCrEx V5WsSNuNB4OBSRvYO+erk0LOa4EBYPt/YJqEZ/R6RpL0VPuza7zO/q3LDBOBVqkNpfQJsd5 7drK+5VxEZGn9aXWuLHP+ckCDW7V5gXGV1ebz+kWb/QNcbNyuptf0bbT+ZPAIyv2NvoAZBj B1D8XIo6/U1H8GVJQTFTcqBXx/Y0frEhuao1+OhwTfbTFVEGZWo0z4VjyKL+JNOs1wY1neH JN1y0rCs5YZ5ue1lnk233ImlFFBJiaF4lQlVfqxliNqU5uylNIYLGUePkwhwXZeFPPqHuZK SAItQVfqCiccYZI7OI3cTjKUGC2PXaXEAsVmbeMnfXH9W+dwMHEHspU/7z8Nvb3Zyx6rVnq eTTHtao6Mcu5JNogecmIgWkAkB1jPKStYmu2oXYSRwPJzndZuNhXw8RgLxm9GxJehqZGw1u XhXJ48YHp922M7yb9NeCgcpJTu+y+5MxDAZu7zAH2aES1Uvs8tobxvdUwMCN2ijy5wt3r3v NAKisuJdhs+ X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU= X-QQ-RECHKSPAM: 0 Content-Type: text/plain; charset="utf-8" Hardware Requirement: When FNCLKSEL in APBC_SSPAX_CLK_RST is set to 7 (3'b111), BIT3 must be set to 1 for the SSPAx parent clock to be I2S_BCLK. This patch introduces SSPAx_I2S_BCLK as a virtual gate to enable BIT3. Suggested-by: Yao Zi Reviewed-by: Haylen Chu Signed-off-by: Troy Mitchell --- drivers/clk/spacemit/ccu-k1.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/drivers/clk/spacemit/ccu-k1.c b/drivers/clk/spacemit/ccu-k1.c index cdde37a05235..4a91d28da2fb 100644 --- a/drivers/clk/spacemit/ccu-k1.c +++ b/drivers/clk/spacemit/ccu-k1.c @@ -349,7 +349,14 @@ CCU_GATE_DEFINE(aib_clk, CCU_PARENT_NAME(vctcxo_24m), = APBC_AIB_CLK_RST, BIT(1), =20 CCU_GATE_DEFINE(onewire_clk, CCU_PARENT_NAME(vctcxo_24m), APBC_ONEWIRE_CLK= _RST, BIT(1), 0); =20 -static const struct clk_parent_data sspa_parents[] =3D { +/* + * When i2s_bclk is selected as the parent clock of sspa, + * the hardware requires bit3 to be set + */ +CCU_GATE_DEFINE(sspa0_i2s_bclk, CCU_PARENT_HW(i2s_bclk), APBC_SSPA0_CLK_RS= T, BIT(3), 0); +CCU_GATE_DEFINE(sspa1_i2s_bclk, CCU_PARENT_HW(i2s_bclk), APBC_SSPA1_CLK_RS= T, BIT(3), 0); + +static const struct clk_parent_data sspa0_parents[] =3D { CCU_PARENT_HW(pll1_d384_6p4), CCU_PARENT_HW(pll1_d192_12p8), CCU_PARENT_HW(pll1_d96_25p6), @@ -357,10 +364,22 @@ static const struct clk_parent_data sspa_parents[] = =3D { CCU_PARENT_HW(pll1_d768_3p2), CCU_PARENT_HW(pll1_d1536_1p6), CCU_PARENT_HW(pll1_d3072_0p8), - CCU_PARENT_HW(i2s_bclk), + CCU_PARENT_HW(sspa0_i2s_bclk), }; -CCU_MUX_GATE_DEFINE(sspa0_clk, sspa_parents, APBC_SSPA0_CLK_RST, 4, 3, BIT= (1), 0); -CCU_MUX_GATE_DEFINE(sspa1_clk, sspa_parents, APBC_SSPA1_CLK_RST, 4, 3, BIT= (1), 0); +CCU_MUX_GATE_DEFINE(sspa0_clk, sspa0_parents, APBC_SSPA0_CLK_RST, 4, 3, BI= T(1), 0); + +static const struct clk_parent_data sspa1_parents[] =3D { + CCU_PARENT_HW(pll1_d384_6p4), + CCU_PARENT_HW(pll1_d192_12p8), + CCU_PARENT_HW(pll1_d96_25p6), + CCU_PARENT_HW(pll1_d48_51p2), + CCU_PARENT_HW(pll1_d768_3p2), + CCU_PARENT_HW(pll1_d1536_1p6), + CCU_PARENT_HW(pll1_d3072_0p8), + CCU_PARENT_HW(sspa1_i2s_bclk), +}; +CCU_MUX_GATE_DEFINE(sspa1_clk, sspa1_parents, APBC_SSPA1_CLK_RST, 4, 3, BI= T(1), 0); + CCU_GATE_DEFINE(dro_clk, CCU_PARENT_HW(apb_clk), APBC_DRO_CLK_RST, BIT(1),= 0); CCU_GATE_DEFINE(ir_clk, CCU_PARENT_HW(apb_clk), APBC_IR_CLK_RST, BIT(1), 0= ); CCU_GATE_DEFINE(tsen_clk, CCU_PARENT_HW(apb_clk), APBC_TSEN_CLK_RST, BIT(1= ), 0); @@ -965,6 +984,8 @@ static struct clk_hw *k1_ccu_apbc_hws[] =3D { [CLK_SSPA1_BUS] =3D &sspa1_bus_clk.common.hw, [CLK_TSEN_BUS] =3D &tsen_bus_clk.common.hw, [CLK_IPC_AP2AUD_BUS] =3D &ipc_ap2aud_bus_clk.common.hw, + [CLK_SSPA0_I2S_BCLK] =3D &sspa0_i2s_bclk.common.hw, + [CLK_SSPA1_I2S_BCLK] =3D &sspa1_i2s_bclk.common.hw, }; =20 static const struct spacemit_ccu_data k1_ccu_apbc_data =3D { --=20 2.50.0