From nobody Sat Jul 25 05:59:50 2026 Received: from smtpbgjp3.qq.com (smtpbgjp3.qq.com [54.92.39.34]) (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 F3324396B8C; Fri, 17 Jul 2026 07:26:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.92.39.34 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784273193; cv=none; b=gkJd/O1r7Ducu+bXbO7B38YaE3Rl0BrNJwfpn7IEhhRqMDQr2rr5d+yKtsuyjbmlrwsO26ghQjxQWhnkRP84j6LFfFNVbYaHsvYYXN7tP7rPM6Zos65XB6xz8wJDKbv+8Q56eBdnVLu8LGPkVsm/c3lFI95+lHByruRfroLqMIA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784273193; c=relaxed/simple; bh=pmDemkdZ9ingitjiHnQJPHF6cz5rSUrFawXebGp5onc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DeoJ1fovjqA3p+5DrtfECyx0ijOEHqZT2HaRFJD9Hnlx/5MIxqinfaDyqC5jXaVTySJS3l2h1hzoDfeY8zwp3lQpO5NW2G/i1ORyNKd8xd9b4ptKF5yi02VKcD+QQlfii7ar1wWdVGJyBw8J7SqAC8ABXG+K3HTJGa5f/PjsyeE= 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=JGUhyO+A; arc=none smtp.client-ip=54.92.39.34 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="JGUhyO+A" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1784273181; bh=fymj27WXKJG2RMZe+ljkSj5ptI3AG/Qlm4jztXs9Ax0=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=JGUhyO+A4L2jXlGkKFxGWbfifiqiN/iCCGLnYNrDufcRuurzUjv30kt0tJEz6eUoA Q5CrFSSxX9FFZHTg+N068G2fTRlftzkx2SYXN6ozycDGV8pUeW2NouPp6HPg1Nxeth xsJ927qlGd4nEqC6d0hb2lZXtioCDqqxzR1tPAr0= X-QQ-mid: esmtpsz19t1784273177tf811608e X-QQ-Originating-IP: i5+anhGPQj0cZfDYZeOkgyTzjxq1pAkh6BJR4p17JNI= Received: from = ( [120.237.158.181]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 17 Jul 2026 15:26:14 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 9954810506696884270 EX-QQ-RecipientCnt: 14 From: Troy Mitchell Date: Fri, 17 Jul 2026 00:26:01 -0700 Subject: [PATCH 1/3] dt-bindings: soc: spacemit: k3: add i2s_sysclk, i2s_bclk_factor and i2s1_sysclk_src IDs 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: <20260717-k3-clk-fix-i2s-v1-1-e95001a692ee@linux.spacemit.com> References: <20260717-k3-clk-fix-i2s-v1-0-e95001a692ee@linux.spacemit.com> In-Reply-To: <20260717-k3-clk-fix-i2s-v1-0-e95001a692ee@linux.spacemit.com> To: Michael Turquette , Stephen Boyd , Brian Masney , Yixun Lan , 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, Krzysztof Kozlowski , devicetree@vger.kernel.org, Troy Mitchell X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1318; i=troy.mitchell@linux.spacemit.com; h=from:subject:message-id; bh=pmDemkdZ9ingitjiHnQJPHF6cz5rSUrFawXebGp5onc=; b=owGbwMvMwCU2g/N9w09jE33G02pJDFmRN/m8Wz11pnE8dDmXuOxFvGnZqXJxY47AnWELXaoae xuXinR3lLIwiHExyIopsnQ/4NlW4BNlWyBQ6Aszh5UJZAgDF6cATORxCSPDyQaFznrTkE1vxI4d dOhqtL/jMWOJl+fUBrEeNo2z1VVTGBmaWLXr/Do436zPLV74siyqT6Fmisva851lp+a9jps0pYY TAA== X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=openpgp; fpr=3FE5535CF1B0E658E57DB59BAE1C2FBEA7DB42E1 X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: MpO6L0LObisWp8Fdvp153dHmO9+qilm6Avis1mUkR1ohV3NHecQDptag x8w7HNK19y8kPUNoRkd0FveAXBeUZ0jhJFnBbdEoi8F+1nAWSSGULxpvLfhgreVnzJscziT tQqLccwSCfNlqP67nvh8L4eidajXSJ9Idcfai6OmKuskSsqxyESbQyZBM6e7JzDO2RCsEGm rxG1mJcPyC/87zJYR0tsH32SOac5GzsQTbRyLqs4Xx5LuDj40q9jp+qipgwyGxTOeIqVUMj 8w66rR2fOdQLu33ZFIBwfE2zs1eFP38UuBuDxPer6f/+LB3yJI3mRw66crqJTrZbUtN7Bo8 3ByoYhRISWhUsUaBIY+ktICWTzFwuqqacwKP7qAkTsgEMIW0AHPUreXhHu0xWSFUzM5MIKV mM9KrOj5IpxZUFWABkXVe700WTQ63Pz3BOxD4Uwvnl8s9UF0LYoG2SykAud4kzhMi1+v2i9 kHvXzPWPnk2eazdZ8PIbU2FvS6l8AD2l/8o/kJgsKTMYssKmAuIuNUrmH5ri/GxMEiBOSRU wLxV/GoJcvh0ERUQOYcLu/q4UpJc8uoOfq7ePfSSgouYb8sBHF1/Jeh/e0JArdGI/ktcBwQ pxXnAT6PvBYFOwQ1phA370feM4voL2ZyuTsZ0ofjDLsWbXif4UWkA3kyGDQ9E2g+ubqJN70 +sPwfXyg9sfAG2F9oDeDXv7Pk50jyFaxCDo7dBsu9tR08yPKfy5LOkWkwgdLFthKRUiWA4+ P6oAetXMuxled/KhtydSbhF6pFIvs/KcktuND86WiSo4xgHsvhy3WIu5LKfy/NQhDFQHmMa nVu3zQT6WATpFoLHUdKRZ3Xi1Z7tmD0c3amc5i+JVy7iBgwkOMrlLk4rNVR9snfRb1LZo2M QT8YM+tV0wjnrBeAFFmdDmgx+rJLNWqUaL/4+ZjKYQ6eZd1WesCXC36HMdYGUUST8UgcHS5 Q2tZCYpOBTz/I6l0LzckF7FCYM123IeKLLMXBu07P7yVHKROIDAG/2Z1rtpVbysKprIqmrv SqrjnYSjGJ7U0kGZ1DSmY8MtcxknIb2JXEz3bLa+yjAAOJk6rYNO5/XarpbB0= X-QQ-XMRINFO: NS+P29fieYNwqS3WCnRCOn9D1NpZuCnCRA== X-QQ-RECHKSPAM: 0 Add three new clock IDs to expose clocks introduced by the topology fix: - CLK_MPMU_I2S_SYSCLK (51): the common i2s sysclk DDN at MPMU_ISCCR1 - CLK_MPMU_I2S_BCLK_FACTOR (52): the implicit /2 factor feeding i2s_bclk - CLK_MPMU_I2S1_SYSCLK_SRC (53): the dedicated i2s1 sysclk source mux CLK_MPMU_I2S1_SYSCLK keeps its existing ID (47) but will be repointed to the real per-instance i2s1 clock in a subsequent patch. No in-tree user references this ID so the semantic change is contained. Fixes: efe897b557e2 ("dt-bindings: soc: spacemit: k3: add clock support") Signed-off-by: Troy Mitchell --- include/dt-bindings/clock/spacemit,k3-clocks.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/dt-bindings/clock/spacemit,k3-clocks.h b/include/dt-bi= ndings/clock/spacemit,k3-clocks.h index dfae52547cda..df0b9fe43b76 100644 --- a/include/dt-bindings/clock/spacemit,k3-clocks.h +++ b/include/dt-bindings/clock/spacemit,k3-clocks.h @@ -145,6 +145,9 @@ #define CLK_MPMU_I2S3_SYSCLK 48 #define CLK_MPMU_I2S4_SYSCLK 49 #define CLK_MPMU_I2S5_SYSCLK 50 +#define CLK_MPMU_I2S_SYSCLK 51 +#define CLK_MPMU_I2S_BCLK_FACTOR 52 +#define CLK_MPMU_I2S1_SYSCLK_SRC 53 =20 /* APBC clocks */ #define CLK_APBC_UART0 0 --=20 2.55.0 From nobody Sat Jul 25 05:59:50 2026 Received: from smtpbgeu1.qq.com (smtpbgeu1.qq.com [52.59.177.22]) (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 3C19638D69D; Fri, 17 Jul 2026 07:26:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=52.59.177.22 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784273194; cv=none; b=HiTv3sEnyXBRHj8DaSe1q/qTHznRJQtryphkiY+9HKhPgclumfHf9oBrdob5jfmdA35z8smS5cBorNsP5FXIT7ZIHjLaYrCRj9CM+wYumzLikr4HD8RxgexwNWOr8zrb+EIX9IY2TXHurUy8sE6K1TvLbZXZEOgomzhDt/8Sdtw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784273194; c=relaxed/simple; bh=ccCpnKQ15ic8pJiIzlgrsDeRCORSw6fGPFWzhkR936U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kdtBTE4bDGbPTSm862cEdYDztHbde4GZB2fFHo0ta317RWWfpHzcG1mjKvgY/wzaKloJm0kE+BvmPEB3CY6r43AEm2QV27tx23YA1/OdPjttwNK1ygP11p//s6rqcsuNZsjWvA3ioW5UEJ4oKceWwFgeXKwnCmOkjYUGF8YXAaY= 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=mOiwfw89; arc=none smtp.client-ip=52.59.177.22 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="mOiwfw89" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1784273187; bh=3sqi+qTYcpi2NJ4kQU7sMVmsgzOJTpn+3qWETJCDzUA=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=mOiwfw89k1VnRRc4JlaFWerAJ5/h3ATDl16IohOVNNMkFFukhUqEOM5kj35CzbOou 83eocMnRa5doWLpiePyAqaN+pO/e6Zavm0IYRlK3wFDVzv5d2ZI1XGUi398F0i7puC JRDBib1ceOPG7ADc7tNk1qxK+44DrdA5sqSSZc7Q= X-QQ-mid: esmtpsz16t1784273181te34484dd X-QQ-Originating-IP: jhJhuuxRTxxyu4B4UrVc9so84zNiH/hNsX0G8dLdNDM= Received: from = ( [120.237.158.181]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 17 Jul 2026 15:26:18 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 8878662463003206756 EX-QQ-RecipientCnt: 14 From: Troy Mitchell Date: Fri, 17 Jul 2026 00:26:02 -0700 Subject: [PATCH 2/3] clk: spacemit: k3: fix i2s clock topology 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: <20260717-k3-clk-fix-i2s-v1-2-e95001a692ee@linux.spacemit.com> References: <20260717-k3-clk-fix-i2s-v1-0-e95001a692ee@linux.spacemit.com> In-Reply-To: <20260717-k3-clk-fix-i2s-v1-0-e95001a692ee@linux.spacemit.com> To: Michael Turquette , Stephen Boyd , Brian Masney , Yixun Lan , 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, Krzysztof Kozlowski , devicetree@vger.kernel.org, Troy Mitchell X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4976; i=troy.mitchell@linux.spacemit.com; h=from:subject:message-id; bh=ccCpnKQ15ic8pJiIzlgrsDeRCORSw6fGPFWzhkR936U=; b=owGbwMvMwCU2g/N9w09jE33G02pJDFmRN/k5l1XOS3lZFvpm0efdSw/mf2G8IBYpz2Z092P86 a4Xf/4s7ChlYRDjYpAVU2TpfsCzrcAnyrZAoNAXZg4rE8gQBi5OAZjIrThGhp2nAuNLfBatz8me ovFh8qmuiSqLzz9e+yxvT+W+DomNW4sZGQ6wzmJ6sfZf9Ub+12qWSycyxdY5RB+yy7f44VtxWVJ YnhEA X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=openpgp; fpr=3FE5535CF1B0E658E57DB59BAE1C2FBEA7DB42E1 X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: NWth7vBa++Gdi9gh1igUg3F2KH2WcwTrhlFIlVhPFUhhPb8GLs3sCPVx 30eHDydKk14gywhg8L9HpTOcVfeeQnEY8B2k4WxhXi/g0+2aAgl3jOcb82Bdptr1Ogdc3Fn XMvt4WKuOYvgxmBV+kXpAfkIy+QxMmbo/qiTAEMog5sqZBrveh7I5I0m5XF4Cs9551gqCEn SpaMMbDKvBCBHIX3uiUPh2aKCRe7sNDB7cKzV0cmOWAfCNBR6lHIHnbPq91c0rJlVn0kn/C x+vE/5Gq9WRSr6Lin9HqCgo26vgzYvVG+2qxxcjM8UAF/sSg63I/dqGzBphNmnJgJHsu9ht EzKSPhHDw4WDolvkutSQsJJnOWvdsHItoEOooVsY9ZZf2MIudIKD6JvldFJYtwZf8WgONvP wyWItrpA5zjEw4cUB7GRJGTSaZxRGZKIqfJS7B8DMtHURIkp+gTwCZSVVBHI/SmYMhMYB98 ptXqrp8Pj7U6i+wFwi0ZWMFLnmCLsc+/v/AqH11qJt7RubiadDaf80FiKnbkh206w+4lybH tKifDFT/WLwSBLZJ+oQiXKQhbYkoybns3hcAKEwYRHaSJoxVOVJIEUvAvcc9xEeIqc/JYt1 S7oAXLkTsxGAk7Z5Bi0HDTA09z/1wmYAXF46HG9D+sB7tAq/kmMwdCdD3Is2tuhFRhiA8aD 64Q3YSGLNukvWQhIX9PEy2Mwym9+qmDC8Hq8AbfCLhmVAK+FhJqUZfEAEivk83r3t/0Yyt1 hJllkkPqeSHw0EyhmTpuJQgOYsXaWlutaXQDWYGPjk+yNdIgRoo2qu3HO6/0nhqcPRj3Pqc ZDo2iJ7JtyrQh4jG0R3rGuZkv0kWiIXvA7ASZav4d77VguHXWkMpRNEUllLBasFHFxrcJpy pHBwxN0QQ6p5yvyOUVp9vI2mjccj9Hn9vY2z0v0dZwZIyMHFyf+0MQf2jXUIRFAp+rWn6zV HLcRXU4eq21Sxj33HXwmsUvSHro3X0ITVUHRegPjz1QwnmsIZWsZOKIoCTkCO0zjDEVorCQ fTQ5VM49nh8jJSUeshLJZLV9fEM7Gm0xQv+meojKCEkBuNT9Glbl6wzApzjtso3dGNbvTU+ A== X-QQ-XMRINFO: NS+P29fieYNwqS3WCnRCOn9D1NpZuCnCRA== X-QQ-RECHKSPAM: 0 The K3 i2s clocks were modelled as a single path behind one MPMU register: pll1_d96_25p6 / i2s_153p6_base `-- i2s_sysclk_src (mux+gate, MPMU_ISCCR) `-- i2s1_sysclk (DDN, MPMU_ISCCR) |-- i2s_bclk (div+gate, MPMU_ISCCR) `-- i2s2_sysclk (mux, parent 0) The hardware actually has two i2s clock control registers, ISCCR0 (0x0040) and ISCCR1 (0x0044): ISCCR1 drives the common sysclk shared by i2s0/2/3/4/5 and the common bclk, whose divider always implies a fixed 1/2 factor in front, while ISCCR0 drives a dedicated path for i2s1: pll1_d96_25p6 / i2s_153p6_base |-- i2s_sysclk_src (mux+gate, MPMU_ISCCR1) | `-- i2s_sysclk (DDN, MPMU_ISCCR1) | |-- i2s_bclk_factor (fixed factor, /2) | | `-- i2s_bclk (div+gate, MPMU_ISCCR1) | `-- i2s2_sysclk (mux, parent 0) `-- i2s1_sysclk_src (mux+gate, MPMU_ISCCR0) `-- i2s1_sysclk (DDN, MPMU_ISCCR0) Because of this mismatch, i2s_bclk reported twice the real rate, and the dedicated i2s1 clock path could not be described in DT at all. Model the tree as above: split the MPMU_ISCCR register macro into MPMU_ISCCR0 and MPMU_ISCCR1 to match the hardware register names, rename the common DDN to i2s_sysclk, insert the fixed 1/2 factor i2s_bclk_factor in front of i2s_bclk, and add the i2s1_sysclk_src mux and i2s1_sysclk DDN backed by MPMU_ISCCR0. CLK_MPMU_I2S1_SYSCLK now refers to the dedicated i2s1 clock; no in-tree user references this ID, so nothing is affected by the change of meaning. Fixes: e371a77255b8 ("clk: spacemit: k3: add the clock tree") Signed-off-by: Troy Mitchell --- drivers/clk/spacemit/ccu-k3.c | 21 ++++++++++++++++----- include/soc/spacemit/k3-syscon.h | 3 ++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/drivers/clk/spacemit/ccu-k3.c b/drivers/clk/spacemit/ccu-k3.c index cb0c4277f72a..abcc5caa67bd 100644 --- a/drivers/clk/spacemit/ccu-k3.c +++ b/drivers/clk/spacemit/ccu-k3.c @@ -218,11 +218,19 @@ static const struct clk_parent_data i2s_sysclk_src_pa= rents[] =3D { CCU_PARENT_HW(pll1_d96_25p6), CCU_PARENT_HW(i2s_153p6_base), }; -CCU_MUX_GATE_DEFINE(i2s_sysclk_src, i2s_sysclk_src_parents, MPMU_ISCCR, 30= , 1, BIT(31), 0); +CCU_MUX_GATE_DEFINE(i2s_sysclk_src, i2s_sysclk_src_parents, MPMU_ISCCR1, 3= 0, 1, BIT(31), 0); =20 -CCU_DDN_DEFINE(i2s1_sysclk, i2s_sysclk_src, MPMU_ISCCR, 0, 15, 15, 12, 1, = 0); +CCU_DDN_DEFINE(i2s_sysclk, i2s_sysclk_src, MPMU_ISCCR1, 0, 15, 15, 12, 1, = 0); =20 -CCU_DIV_GATE_DEFINE(i2s_bclk, CCU_PARENT_HW(i2s1_sysclk), MPMU_ISCCR, 27, = 2, BIT(29), 0); +CCU_FACTOR_DEFINE(i2s_bclk_factor, CCU_PARENT_HW(i2s_sysclk), 2, 1); +/* + * Divider of i2s_bclk always implies a 1/2 factor, which is + * described by i2s_bclk_factor. + */ +CCU_DIV_GATE_DEFINE(i2s_bclk, CCU_PARENT_HW(i2s_bclk_factor), MPMU_ISCCR1,= 27, 2, BIT(29), 0); + +CCU_MUX_GATE_DEFINE(i2s1_sysclk_src, i2s_sysclk_src_parents, MPMU_ISCCR0, = 30, 1, BIT(31), 0); +CCU_DDN_DEFINE(i2s1_sysclk, i2s1_sysclk_src, MPMU_ISCCR0, 0, 15, 15, 12, 1= , 0); =20 static const struct clk_parent_data i2s_sysclk_parents[] =3D { CCU_PARENT_HW(pll1_d4_614p4), @@ -243,7 +251,7 @@ CCU_DDN_DEFINE(i2s4_sysclk_div, i2s4_sysclk_sel, MPMU_I= 2S4_SYSCLK, 0, 16, 16, 16 CCU_DDN_DEFINE(i2s5_sysclk_div, i2s5_sysclk_sel, MPMU_I2S5_SYSCLK, 0, 16, = 16, 16, 1, 0); =20 static const struct clk_parent_data i2s2_sysclk_parents[] =3D { - CCU_PARENT_HW(i2s1_sysclk), + CCU_PARENT_HW(i2s_sysclk), CCU_PARENT_HW(i2s2_sysclk_div), }; CCU_GATE_DEFINE(i2s0_sysclk, CCU_PARENT_HW(i2s0_sysclk_div), MPMU_I2S_SYSC= LK_CTRL, BIT(2), 0); @@ -1161,8 +1169,11 @@ static struct clk_hw *k3_ccu_mpmu_hws[] =3D { [CLK_MPMU_I2S_153P6] =3D &i2s_153p6.common.hw, [CLK_MPMU_I2S_153P6_BASE] =3D &i2s_153p6_base.common.hw, [CLK_MPMU_I2S_SYSCLK_SRC] =3D &i2s_sysclk_src.common.hw, - [CLK_MPMU_I2S1_SYSCLK] =3D &i2s1_sysclk.common.hw, + [CLK_MPMU_I2S_SYSCLK] =3D &i2s_sysclk.common.hw, + [CLK_MPMU_I2S_BCLK_FACTOR] =3D &i2s_bclk_factor.common.hw, [CLK_MPMU_I2S_BCLK] =3D &i2s_bclk.common.hw, + [CLK_MPMU_I2S1_SYSCLK_SRC] =3D &i2s1_sysclk_src.common.hw, + [CLK_MPMU_I2S1_SYSCLK] =3D &i2s1_sysclk.common.hw, [CLK_MPMU_I2S0_SYSCLK_SEL] =3D &i2s0_sysclk_sel.common.hw, [CLK_MPMU_I2S2_SYSCLK_SEL] =3D &i2s2_sysclk_sel.common.hw, [CLK_MPMU_I2S3_SYSCLK_SEL] =3D &i2s3_sysclk_sel.common.hw, diff --git a/include/soc/spacemit/k3-syscon.h b/include/soc/spacemit/k3-sys= con.h index a68255dd641f..959d8d0786fe 100644 --- a/include/soc/spacemit/k3-syscon.h +++ b/include/soc/spacemit/k3-syscon.h @@ -45,7 +45,8 @@ #define POSR_PLL7_LOCK BIT(30) #define POSR_PLL8_LOCK BIT(31) #define MPMU_SUCCR 0x0014 -#define MPMU_ISCCR 0x0044 +#define MPMU_ISCCR0 0x0040 +#define MPMU_ISCCR1 0x0044 #define MPMU_WDTPCR 0x0200 #define MPMU_RIPCCR 0x0210 #define MPMU_ACGR 0x1024 --=20 2.55.0 From nobody Sat Jul 25 05:59:50 2026 Received: from smtpbgbr1.qq.com (smtpbgbr1.qq.com [54.207.19.206]) (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 26287396B8C; Fri, 17 Jul 2026 07:26:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.207.19.206 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784273204; cv=none; b=PwCpLJGygE06vkjB2eKHMmEAwElnfo6CrZJiLHZKi1DBetgBf50kADNcVKYjTDW1TgIPpAP4u/Fx7gPJ5/k7zXIE7cGuF/v+irPmUwsXcGwojMs+2/QumNZT1cfIYIvhge82HRm0LweMxXiq4KLCEksXcuS+fzauYRWV4zjvTpU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784273204; c=relaxed/simple; bh=jdxLhGznkgDupAqCdXkunU0hq5sAmj1K4l6yG/K9+Gc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EGMy/HwppzhiPgIZ8NcJUHwy8ngUpWMqRnCqnl1DzXIuGa6uYWy2C+vhfADow1sOLhvxO3zK+/7MG18L6BEPzSRcmnJelJPH3XWf/gDgTGnlbDnsscYrDvoSr7UPWvJ2FAoHTTmaY5EKGQT3O1Has3Zdu5PI+9eXoIVoVN5/ayE= 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=jDjsGZ/s; arc=none smtp.client-ip=54.207.19.206 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="jDjsGZ/s" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.spacemit.com; s=mxsw2412; t=1784273189; bh=38PhwQsCteVhWqZvbvzqZlrs6p1pYCdri5yp22jYWIc=; h=From:Date:Subject:MIME-Version:Message-Id:To; b=jDjsGZ/s0bQhabYDBqhJ+SLYfUQaN+b0+Nfo3jzE/QFlq+vb5L7U2tFG6IOuDCSZP NcP+r2KSBR447cSzWM5XkhGmXmBqVnjHy/FmS2YfYof2L7jipetU9MVyeBWgmLP9tK +WL2YlU8MAl1d1glIk+B0f/on/X9R9K1vtk8l5dU= X-QQ-mid: esmtpsz16t1784273185t0cd49d46 X-QQ-Originating-IP: 0qEVPKCqEdQ1GXAUHe8Nd/dZrwlIlPynUoTPLD47rxs= Received: from = ( [120.237.158.181]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 17 Jul 2026 15:26:22 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 11695669700659989284 EX-QQ-RecipientCnt: 14 From: Troy Mitchell Date: Fri, 17 Jul 2026 00:26:03 -0700 Subject: [PATCH 3/3] clk: spacemit: k3: fix missing /2 factor in i2s sysclk dividers 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: <20260717-k3-clk-fix-i2s-v1-3-e95001a692ee@linux.spacemit.com> References: <20260717-k3-clk-fix-i2s-v1-0-e95001a692ee@linux.spacemit.com> In-Reply-To: <20260717-k3-clk-fix-i2s-v1-0-e95001a692ee@linux.spacemit.com> To: Michael Turquette , Stephen Boyd , Brian Masney , Yixun Lan , 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, Krzysztof Kozlowski , devicetree@vger.kernel.org, Troy Mitchell X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1966; i=troy.mitchell@linux.spacemit.com; h=from:subject:message-id; bh=jdxLhGznkgDupAqCdXkunU0hq5sAmj1K4l6yG/K9+Gc=; b=kA0DAAoWmAnvgPkzNC8ByyZiAGpZ2RGh+AjRw2mKqB/RlTGH2MU1+TNKyWxQw3vLFQRAyynTK 4h1BAAWCgAdFiEEi+AMtnBMWj1wEHFNmAnvgPkzNC8FAmpZ2REACgkQmAnvgPkzNC+BLAEA7Uki nKszCL3B6P3wkkKECxf6bYm/ZqdNV9iiVEh5n80BAO39hlDprHKXIIw/+nK2k3F+aH1Aj99x1ae jGDlBe2sI X-Developer-Key: i=troy.mitchell@linux.spacemit.com; a=openpgp; fpr=3FE5535CF1B0E658E57DB59BAE1C2FBEA7DB42E1 X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:linux.spacemit.com:qybglogicsvrgz:qybglogicsvrgz3a-0 X-QQ-XMAILINFO: MLlmX7a+SkXmi9JWNlYyOmZ7c1knpqu1sQfRoINWj/JdWJo+V+vtnlus sqU2DjA7KeQX82WYE7STGxEL1gWUrThiKySMdL8NVa78r5svVhVKB86B9GXK/ZVtMeid7er XKj/RzrsKpGSHYDGpg8BpwrzYKa5TJ+6WWkeenNKz8/tUAreXpwhmGqTl5kdXrSVSgMCmzA gtGhmQPD6oyFd6vRUh4ReNGazP+FiOdbcEvwZn1GTI0l/ppqBEE0nNYZItTXie5ueoMRzV8 y4lljXAr3nFAUxdeKAIv+aOOqOKboDiJrp0SAvZ3vY25G2XxHRpu1TVmvuFNkm6acxpjma0 YkxnvaX+ppDGHWU18BNip73BdelDpcLygRvgu+U2HdAa2F1yXIChoRUiztA3TMatxOeXn0f T2P6Ln1+qwa4ARpqnsDegoU46XFBQAVY31YNKJqsll2Lpyf49TgIZbIwrWzbmXERpBPxeWo lU2uw1K09AFgHSf+Q7MNcb438SVQ3q8Mo3SyQKX1p1sodcaUV2bvgZWa4zEYm3yi9jRxQAf YLCLX1WjNXcmx3hi8ijA8d1l5eQgSHD0P4F/79WEytqR2w0XwvCOBJL1ahHO6Y+Pg9RjqUj +n2HLRfCaiEa55P08ppFwyroYr92c8XGmE3OiHrclM828CbSJOK3nT5jx1Cf+MXE35rMDBs 1pXFuXECRL3heaZZo/C8bYx+tH1L0QGyySTLhKHOpx63s6/4JqfJk+clihhAOVY3fDtbwZY wI5EGbNirljnUOmqCXSpZO1H3skuHbX4vzHqzrQSUrRfaL2+JQ/SC12rX/0+xxnODMm3wDs HmKPSFS+ChOZMdNj3znlcnG/eTfHuvtkBqxX7AGxLrCA8odz2B2bmyjegGrrUHfFb5fKs3K ZbgDvKEywd/EHOdYQeiKyrxfNSjiA5GcMU2cmepFLCetV5JhL1YJrfgzdvwcRQN75qJbgNL vokdCKJSU/5uim0s8bZGbX2zl+7glPFA1//kAmgYpsiWz23701mc9KMFsdRdQS61vki8nx0 /dtiXfCYKOOBOoL5JDcdZvPpVPS+TCdaRknpM09BzgQwlz9nwZeKG+C9FqhA5HLbZJW8YFo n8m0amJZtK6BPLPJntKgUY= X-QQ-XMRINFO: M/715EihBoGS47X28/vv4NpnfpeBLnr4Qg== X-QQ-RECHKSPAM: 0 The i2s{0,2,3,4,5}_sysclk_div DDNs have an additional fixed 1/2 divider in the hardware IP after the configurable divider, so the real output rate is: rate =3D parent_rate * num / (den * 2) Set pre_div to 2 to account for it. Fixes: e371a77255b8 ("clk: spacemit: k3: add the clock tree") Signed-off-by: Troy Mitchell --- drivers/clk/spacemit/ccu-k3.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/clk/spacemit/ccu-k3.c b/drivers/clk/spacemit/ccu-k3.c index abcc5caa67bd..675cf03d98f0 100644 --- a/drivers/clk/spacemit/ccu-k3.c +++ b/drivers/clk/spacemit/ccu-k3.c @@ -244,11 +244,11 @@ CCU_MUX_DEFINE(i2s3_sysclk_sel, i2s_sysclk_parents, M= PMU_I2S_SYSCLK_CTRL, 12, 2, CCU_MUX_DEFINE(i2s4_sysclk_sel, i2s_sysclk_parents, MPMU_I2S_SYSCLK_CTRL, = 16, 2, 0); CCU_MUX_DEFINE(i2s5_sysclk_sel, i2s_sysclk_parents, MPMU_I2S_SYSCLK_CTRL, = 20, 2, 0); =20 -CCU_DDN_DEFINE(i2s0_sysclk_div, i2s0_sysclk_sel, MPMU_I2S0_SYSCLK, 0, 16, = 16, 16, 1, 0); -CCU_DDN_DEFINE(i2s2_sysclk_div, i2s2_sysclk_sel, MPMU_I2S2_SYSCLK, 0, 16, = 16, 16, 1, 0); -CCU_DDN_DEFINE(i2s3_sysclk_div, i2s3_sysclk_sel, MPMU_I2S3_SYSCLK, 0, 16, = 16, 16, 1, 0); -CCU_DDN_DEFINE(i2s4_sysclk_div, i2s4_sysclk_sel, MPMU_I2S4_SYSCLK, 0, 16, = 16, 16, 1, 0); -CCU_DDN_DEFINE(i2s5_sysclk_div, i2s5_sysclk_sel, MPMU_I2S5_SYSCLK, 0, 16, = 16, 16, 1, 0); +CCU_DDN_DEFINE(i2s0_sysclk_div, i2s0_sysclk_sel, MPMU_I2S0_SYSCLK, 0, 16, = 16, 16, 2, 0); +CCU_DDN_DEFINE(i2s2_sysclk_div, i2s2_sysclk_sel, MPMU_I2S2_SYSCLK, 0, 16, = 16, 16, 2, 0); +CCU_DDN_DEFINE(i2s3_sysclk_div, i2s3_sysclk_sel, MPMU_I2S3_SYSCLK, 0, 16, = 16, 16, 2, 0); +CCU_DDN_DEFINE(i2s4_sysclk_div, i2s4_sysclk_sel, MPMU_I2S4_SYSCLK, 0, 16, = 16, 16, 2, 0); +CCU_DDN_DEFINE(i2s5_sysclk_div, i2s5_sysclk_sel, MPMU_I2S5_SYSCLK, 0, 16, = 16, 16, 2, 0); =20 static const struct clk_parent_data i2s2_sysclk_parents[] =3D { CCU_PARENT_HW(i2s_sysclk), --=20 2.55.0