From nobody Fri Sep 25 02:12:58 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 15DA5595739; Thu, 17 Sep 2026 14:04:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653862; cv=none; b=ONtYn+FK2zZijWBvDEPzwVWCV/ptRfw4vt1mfAtDuQvTxIFQo7ZXPsmXPYBIVSKd7doQJL6++zFYpQ4zE9ShgFVvu/Pb6y8LvsQsvxuPusBTBQQZdRYe4LLltA0NkdJhpQLGQRc6bYahS9N39RqmsG4r0xtA6udG/S254DX88OE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653862; c=relaxed/simple; bh=+lY5BeFcwV5FB838TAcxY9ito2AIXwIBAsYU2ILeoMs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tPonqMOyYcA5hrzn9di70qSoJWr/xwnGKTkR26GigaNtct1fjgr8iOUJFuwed23AzJlu5t3LIpu0q9yialLAIEQMDaDWmzw8eZMlU95QOLH3alHYYA3j0BO+MI3WjIaOTWSTb41uIcIGiEdYMVa1PUVhkch9CknRLOtMfJbMKDo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=GSO8Nouh; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="GSO8Nouh" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1789653858; bh=+lY5BeFcwV5FB838TAcxY9ito2AIXwIBAsYU2ILeoMs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=GSO8NouhnIrUU1B3YujfbZvvE7+mLDvWytQ2vcQlxnMqyetbYJgXGwIAG4ZZBA2/w OsJHnYjRJlwDaDA0Qx+OYr71laPfDa1VH99m2dUjKdeSvv4ZqPqetDVdN1J+ZVU3Lc E+drHNYvWUlQWwgebSB1erGyAmKSSW6HByr+8U7F1GbLVFgqnLEtgNCGVrV2R+gpjD 1M5qV4dgYxndIcz61dAk+JZ/MQ5bP3V6MOPaIx4Xanx7H4mjX+AIIqe0Soa+drlhJj MSquWTWgYoKbPWCwTo2wzbb7Am8GlVvPqxGfSwzdsYfBvzeRvpwUifVN+F1TnX40tX HHCkWfhUwH44w== Received: from jupiter.universe (unknown [100.64.1.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 2A82017E0074; Thu, 17 Sep 2026 16:04:18 +0200 (CEST) Received: by jupiter.universe (Postfix, from userid 1000) id E4586480029; Thu, 17 Sep 2026 16:04:17 +0200 (CEST) From: Sebastian Reichel Date: Thu, 17 Sep 2026 16:04:07 +0200 Subject: [PATCH 1/7] dt-bindings: clock: rk3576: add more DFI clocks 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: <20260917-b4-rockchip-dfi-rk3576-support-v1-1-a5752a29f7bd@collabora.com> References: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> In-Reply-To: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer Cc: Nicolas Frattaroli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=888; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=JMwGtADsjoZugYy5kca2WIyyIS8H1fB5ycX9ZpgOJ8Y=; b=kA0DAAoB2O7X88g7+poByyZiAGqr82Gg+ziNO8WErazFJTt5jJP61npnkoV6x1KcGnWH6jxJu YkCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJqq/NhAAoJENju1/PIO/qarQgP+wdz V84TmRG89qN3+4xvPAMg6GvMv160aZD+ZJ/ND6VqWuNxshjwQg9zOfk5KDWOCpU1GksL+6p78Td 8k0xyuNOLirZe25JfyqxQogMiI06RdOGeQwb6MhS/CsLbSalokUqsJk+htIvjCj/HnIPT6MYknG oMSzql+ZtuGKKP6LKVHQswxrhIUw+KhSCeAJFHNYNGFXZTG8S27CZuO+FJRwGgLQJsozoDKnEAJ xIyYaC0HfXhwy0I43moMQEFXbz8DYOWb+W50SpIBMpDa0HunpRoS6ONn9PimpGICFboUQKTDhpc EDFpExCjKLzYHea7NNYg4fre1MJ+/MdBR5z7/SOCo7YAy1dtLI+leFsqxjz2EEoQlETkQ9S74Cy 7HVT3XQoNeLwlq+aK6LY1WOXFlxDlJIC03cgE5YY/b4ep0OgtoTuvlcmO6L9NFZHjvEvXzUkwES /3OUVXY/xspfEFPu4eGfSMRGmXuRyuEjapwSrrus3n0aZTEqtUSH7woN4siDJlqJPiRT+deUble prz9xlUQnNfQDMJ8+MveNBJGeLN2ZH/Wr6ggW5a/T0au/QjYYpznS5L0ffagrrMNzeWKVy5AR8v xQzGxMAg5LHMooZ/3nWFZHXsqe6EWFSvrZpgeI8tyKiZqtlbTglWd5Dme1SAeU2ovF3w6qGqocW GYFHE X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A From: Nicolas Frattaroli When the RK3576 CRU DT binding got upstreamed, some DFI clocks were missed. Add identifiers for them. Signed-off-by: Nicolas Frattaroli Signed-off-by: Sebastian Reichel --- include/dt-bindings/clock/rockchip,rk3576-cru.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/dt-bindings/clock/rockchip,rk3576-cru.h b/include/dt-b= indings/clock/rockchip,rk3576-cru.h index ded5ce42e62a..c5b74f2d8926 100644 --- a/include/dt-bindings/clock/rockchip,rk3576-cru.h +++ b/include/dt-bindings/clock/rockchip,rk3576-cru.h @@ -604,4 +604,10 @@ #define CLK_FSPI0_TO_IO 576 #define CLK_FSPI1_TO_IO 577 =20 +/* Clocks that were missed initially */ +#define PCLK_DDR_MON_CH1 578 +#define TMCLK_DDR_MON_CH1 579 +#define CLK_DFI_CH0 580 +#define CLK_DFI_CH1 581 + #endif --=20 2.53.0 From nobody Fri Sep 25 02:12:58 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 15D07595737; Thu, 17 Sep 2026 14:04:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653861; cv=none; b=lTF3+nw42OUR7d+dYr4ntNpkO9r4TiLVYYjKvh7cGIfl7A/HeGbe2LH8BOvZkvxtHTdsA4k8sAf8q4rWFNFIlfV0javBd1Xw0zsxRYzW9wMsCB2eJrdK+axyPj3tcFsuUgisHQZpOtJvq9SfegGLaZihnbOrCyeEnZEAdBvIQFc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653861; c=relaxed/simple; bh=la91QlmnzQ+cMr3xbEYXMZpWQxq/64sHaIS6pJZM8PY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SdHTPXeWDATxTcH5gUQa3c2mxlRjsxTMXsvubWF+r6yTm+UEAI2zM/mRDCXZDKg5RPH3s7mfN+ZBF2M2BlK7Jzpbc5sn/EbecULmvqUKw7rRfAafb9+44qiisCwD+fUnMMYP46e7X800i3DwwNFsrBcF/7ewzT+J5Evj6yTNyHw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=nwwbpKnI; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="nwwbpKnI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1789653858; bh=la91QlmnzQ+cMr3xbEYXMZpWQxq/64sHaIS6pJZM8PY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=nwwbpKnIkNnZSKCOqVZpNsy/SfJVMAcsWR9LtSQQ6KPBTN+wj+Gs7Po9qKyEHUls4 nCeksrOY/U8DF/kMXZGZ5boPyX3OxVpF/TTrrIs6Xrt6C5PmA2JZUBhs5IFISiukx9 8c7lxDeHO5SFiaWHsbmvXMFNtIf5mtgOai/WTVLYrQpjHzBvYhyI+NZ8ePiIqMyoc1 sh5q+X23ZiEOoOqIbCxdtFgeZK02tJWUMS8/csOAa5iiIr6U2DTbjoq3IyJmoQlj8H QprVGG2EjW/EJtBizpZQOIia0KPh7P5Xu6d2KSc/n6GAEm0SM/jciSe0TCoxopn4CA 208NlNcFj9y6Q== Received: from jupiter.universe (unknown [100.64.1.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 2E2D417E087F; Thu, 17 Sep 2026 16:04:18 +0200 (CEST) Received: by jupiter.universe (Postfix, from userid 1000) id E587748002F; Thu, 17 Sep 2026 16:04:17 +0200 (CEST) From: Sebastian Reichel Date: Thu, 17 Sep 2026 16:04:08 +0200 Subject: [PATCH 2/7] clk: rockchip: rk3576: add missing DFI clock branch 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: <20260917-b4-rockchip-dfi-rk3576-support-v1-2-a5752a29f7bd@collabora.com> References: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> In-Reply-To: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer Cc: Nicolas Frattaroli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1647; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=jv2cP7PAalymZeRc3au2vjT1JUKCsZkY6Uv6EoH/o0k=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGqr82FktkXT94orgup/c43WCmAIcDc8ndErt 0ZvdhOKI0xWSIkCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJqq/NhAAoJENju1/PI O/qabCAP+QEGU1rHYDnoXLzXs4Vmy2mOsll3+fdbfjsyWAvZuXSwpMrwTvGit7mvx0qp1djpQ5a OwmYWZ/ZwbW0o2ij1+DV4LjeMA8vlsoxaf+4uqau2LAZ1JHjvCnWyBxrgfCYNHPnbGPwnY8Nm88 0pK7lW0F/Wv3MUbLgE1JuG30wMZOLhKGpNVVa8UNpJbYYFLyNBB5OXJl+DTXRTxtU+jrMzxWYgL 9XJJY01rwoQQoSVd3Vk5S7jNGDl8cLOoVIBtTWeuNRy1VLdcSXzGFbLKTf/wzZvI45q1xiX8a3+ SNMJnQSLqlnZ18OoA2HZbm4/lIJwgPkAr6A3GOflsEAWH2jg2zW+J1Ivo+EzhAX+3xzmtrQhyhm BY7wopdOZtxbPoqn5XUgF+inr+JiUwKetTYgeO1D2vnc/WPIspmAAxAbHmhh5uIOCSuwvWiF3Kt BkvT4skj69q6+o/FGU4hobixqZqClNtF0A6Kac091VJL/+iQy7z64luLYbjW2C3KUTv7hsxDJjw YSobTPmJ2tzqu3KdUgcezlD3TIPJerdhW6T7iKpw5qIL2QuDhv4yPwbf2yDurB5HLJAtnqPKkXM umpiN3F2uhSul3ZNIvu1rfndZlJFUyvlu4WbxHb80KN8Jtw+wZbviiPrKCPI4lvYHGHW5VQKuK+ u0JmBi4egr2/DOeb2qtQy6Q== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A From: Nicolas Frattaroli RK3576 DFI has one pclk for each channel's monitor. However, mainline's clock tree does not model this second DDRMON PCLK gate, and got away with it so far because they both default to ungated and there is no upstream RK3576 DFI driver. Add a clock gate branch for it, and remove the CLK_IGNORE_UNUSED flag from its sibling. In opposite to RK3588 we can add a mandatory requirement for a clock reference to the RK3576 DFI DT binding. Signed-off-by: Nicolas Frattaroli Signed-off-by: Sebastian Reichel --- drivers/clk/rockchip/clk-rk3576.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/clk/rockchip/clk-rk3576.c b/drivers/clk/rockchip/clk-r= k3576.c index 2cdd667f4004..0c94e9db81c1 100644 --- a/drivers/clk/rockchip/clk-rk3576.c +++ b/drivers/clk/rockchip/clk-rk3576.c @@ -883,8 +883,10 @@ static struct rockchip_clk_branch rk3576_clk_branches[= ] __initdata =3D { COMPOSITE(PCLK_DDR_ROOT, "pclk_ddr_root", gpll_cpll_24m_p, CLK_IS_CRITICA= L, RK3576_CLKSEL_CON(76), 5, 2, MFLAGS, 0, 5, DFLAGS, RK3576_CLKGATE_CON(21), 0, GFLAGS), - GATE(PCLK_DDR_MON_CH0, "pclk_ddr_mon_ch0", "pclk_ddr_root", CLK_IGNORE_UN= USED, + GATE(PCLK_DDR_MON_CH0, "pclk_ddr_mon_ch0", "pclk_ddr_root", 0, RK3576_CLKGATE_CON(21), 1, GFLAGS), + GATE(PCLK_DDR_MON_CH1, "pclk_ddr_mon_ch1", "pclk_ddr_root", 0, + RK3576_CLKGATE_CON(21), 14, GFLAGS), COMPOSITE(HCLK_DDR_ROOT, "hclk_ddr_root", gpll_cpll_p, CLK_IGNORE_UNUSED, RK3576_CLKSEL_CON(77), 5, 1, MFLAGS, 0, 5, DFLAGS, RK3576_CLKGATE_CON(22), 11, GFLAGS), --=20 2.53.0 From nobody Fri Sep 25 02:12:58 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 33A0E59573E; Thu, 17 Sep 2026 14:04:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653861; cv=none; b=eI2srEvrJ/XoycqFfKlkPvfbcezxNu4Pt/rtg4IA1Iyk9hR9BLbHcmKnBbDCP0kVSrVZHyaA5uik2DgBG+pGh2x2h3tJQggt4C77r0P+7H4w33H76/2AougBxVDspWh7Y7N9uSKMYVcJBpfNkYUVA9bvWIKCBLH7VwM6hV3hNgU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653861; c=relaxed/simple; bh=jfYcxTTge/XmKelpU+UmxaEpjwECbZ6NBqUYAgA9V9c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hbsW009wLceN/06Uew+85wWNXmthZHLKCOA+RaYiPRPwdbQ0dhKQZewe9A5YqlFMIyTNsiORIDHfznbfoFGgXsWqwSwRdtcwbyp+U2DWJyfz3IzHLNoTwBvCq7nAdP5q2rLRbHMZJEeEbG5KnlIY/OHxWhMpSc9M7c00xTnDin0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=WrtFawFI; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="WrtFawFI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1789653858; bh=jfYcxTTge/XmKelpU+UmxaEpjwECbZ6NBqUYAgA9V9c=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=WrtFawFIn/EhfWLxmpRthIry64McmcbFhmBPj/LpvgwnEleBbK4C5Ef5jTx1BkRO6 1OwkR4Mlq5kVbrHq5w2UO53vxVjEq2fpiFAWCIPWUb+WGjX42clLVnxvnnjQexD0X7 WzttJCXlfKMz8MceG2bYf+/r1MB7m9ZB3G0z7aDY9ig8Ur7adPvYemm18564c2VUAx JYUtRZ0Y3ZQSZ+iOrC8csHWXniWcCB0PTIqwNAFHxcq0DGqj5kUro7E1Yyo43qcM93 fUWrLvzJF5oJZvdt68xaqx+LxVqCNS63vQdabA/0IMLSaSXCwhrRdHOia92JhQjiRp BxYRHbIgdX+Xg== Received: from jupiter.universe (unknown [100.64.1.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 3205517E09B5; Thu, 17 Sep 2026 16:04:18 +0200 (CEST) Received: by jupiter.universe (Postfix, from userid 1000) id E743D480030; Thu, 17 Sep 2026 16:04:17 +0200 (CEST) From: Sebastian Reichel Date: Thu, 17 Sep 2026 16:04:09 +0200 Subject: [PATCH 3/7] dt-bindings: devfreq: event: rockchip,dfi: add rk3576 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: <20260917-b4-rockchip-dfi-rk3576-support-v1-3-a5752a29f7bd@collabora.com> References: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> In-Reply-To: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer Cc: Nicolas Frattaroli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1828; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=gg15H4xn9mrUfnzUgOUkLrMFrsLYyUUofwQOjEIeUro=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGqr82HzXT4+aqQkl8zg1fEYbZo9h3mwzv/Vb vMLy3g/aOV9rIkCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJqq/NhAAoJENju1/PI O/qanx8P/jFUMsYVr30zewv03SLoEdGbgd5WIVqWBI8bqMF2KCZLMBGff8SL3Vn1mBZ+vtXeujT ALRNU0DGLAOzsYjmuEPqhEIS+xl2+mAVBdH3qZSLlMEz8cK/+jtB1ypszZnlN7iLdc99c/U3AB1 /dvUa/4cPg3m9mE/ZU/Bxp4m14zgu+kSUh2bQwjNuY+iRu0ItWd4CdOnKAmhCi8/KLJElY9LR/t EKUcK37jicRB0R9rIEipYKuNcguIsElXH7I1axKEvLIA/3C1/LtzA3OB/0SaxrKF1sUE9qYuEGN eOyGHlXgDRJR470bgWgGvXvTDAV//KKnmsz/m66J9R+g8VpFjbhYzBIRZoKEwy3HdiVm5M/EkKg WnSlL4NPcY5K78X3qTfnWcu0vi8MMlUyRDGr5oNetg2lWp4tY3mfFAbur6iOyQQTPv1RiTmKouf rbEtI7rmpZKLXcJKjnt3W160j6kLpDnhHIqUc3Jb6yscALUrZQZk+Zjv6BRnI6cgVWL8ODCzUbR No62VTiFT3HvcJB7OH/U06+63p4l7pkZrKM43nOVeA2S8xseNaIqOVsfszqS7pYU1q4dZirYBH5 J/xbzDzxcffiBMvd2nT8UyPMwc9vi1ztV7T3c8NDZfoydU4q6yfVLysL3VggjMOK6nDedohVRkL RYHiBYMrIys2JbjB7vsI+SQ== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A From: Nicolas Frattaroli The RK3576 has DFI hardware for monitoring the DDR's bandwidth much like other rockchip SoCs do. Unlike the RK3588 however, it only has two memory channels, so only two per-channel pclks for DFI. Add a compatible for this SoC's variant, and add it to the conditionals at the bottom of the bindings file. Signed-off-by: Nicolas Frattaroli Signed-off-by: Sebastian Reichel --- .../bindings/devfreq/event/rockchip,dfi.yaml | 23 ++++++++++++++++++= ++++ 1 file changed, 23 insertions(+) diff --git a/Documentation/devicetree/bindings/devfreq/event/rockchip,dfi.y= aml b/Documentation/devicetree/bindings/devfreq/event/rockchip,dfi.yaml index d6e06a9bea19..964f1827496a 100644 --- a/Documentation/devicetree/bindings/devfreq/event/rockchip,dfi.yaml +++ b/Documentation/devicetree/bindings/devfreq/event/rockchip,dfi.yaml @@ -14,6 +14,7 @@ properties: enum: - rockchip,rk3399-dfi - rockchip,rk3568-dfi + - rockchip,rk3576-dfi - rockchip,rk3588-dfi =20 clocks: @@ -68,6 +69,28 @@ allOf: - clocks - clock-names =20 + - if: + properties: + compatible: + contains: + enum: + - rockchip,rk3576-dfi + then: + properties: + clocks: + items: + - description: + clock driving the DDR monitoring logic for memory channel 0 + - description: + clock driving the DDR monitoring logic for memory channel 1 + clock-names: + items: + - const: pclk_ddr_mon_ch0 + - const: pclk_ddr_mon_ch1 + required: + - clocks + - clock-names + - if: properties: compatible: --=20 2.53.0 From nobody Fri Sep 25 02:12:58 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 3F037595740; Thu, 17 Sep 2026 14:04:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653862; cv=none; b=Akwhfrdv0HgrTvbM9Ga9zQbZTu3ZD5dHKOParVuLJ89tV8y/yQhAVK0qOLnXlLEHrc8lqkAhbXU+Fch17pGEDIRuaKDrGN2gCDRxklFgEBJZpqirEXLXCBDdFYqqPvE17PmUgE6ru9OslJ9BbYCkZaGaVDCxINWk7EAkWVDbdQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653862; c=relaxed/simple; bh=vMgJeIbDY4gfZKXLLhtV9STSMmBqMwbwlOznf1gK9P0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=U1k6QcxvCQOAzSMpEkYOrDFM8LLCj5zQUwm98hTXsYWfQIek5FZOcH6kfR6B2LXA7opaCUU6h4nIrSM8afohcp9zJ5yLyytJ3bzw8XipB9bdP0ofUv8Jay/jCgJrAsEgP44Q0Ym7iHojPDO/jQGxDuLHW/5Kln4R9LIlRmHH3kg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=Mq5lEHqq; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="Mq5lEHqq" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1789653858; bh=vMgJeIbDY4gfZKXLLhtV9STSMmBqMwbwlOznf1gK9P0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Mq5lEHqqKN9k4SnqWL0ROBoGrQITCdZtrIOS+C219lTGh38WfibxB99vBbzxng5bv sZfslvnhpbi6DcWxueZj++3pkw0BoVUTno5wf5BsVe6QORpgXgf92rParLUHAVi8/4 ZdzVmWhEFfqACG/SyH9eQaIFUtoANxZLloRrRX3+kZ2Z9klHT3tNFbOPh/W7zrisqc yvTb0oICpAZhxEuqayMqrdcvenkT80zYAukwLcQnAvsyu1u2bAKb/czcy3lHD/bRvE gEDFOcGAGo44Sp+UxmO+fH6rCCxiIT++IZaSq9eTQO5kDy3QuWUg9gOn08ZU66/ZzL nP3UYXFzS1EXg== Received: from jupiter.universe (unknown [100.64.1.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 3350117E0C7E; Thu, 17 Sep 2026 16:04:18 +0200 (CEST) Received: by jupiter.universe (Postfix, from userid 1000) id E902C480031; Thu, 17 Sep 2026 16:04:17 +0200 (CEST) From: Sebastian Reichel Date: Thu, 17 Sep 2026 16:04:10 +0200 Subject: [PATCH 4/7] arm64: dts: rockchip: add DFI node to RK3576 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: <20260917-b4-rockchip-dfi-rk3576-support-v1-4-a5752a29f7bd@collabora.com> References: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> In-Reply-To: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer Cc: Nicolas Frattaroli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1234; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=TXuERcBa3lyF5yru0hC/lwhYh6FDQ895W7w6eKt3Ed8=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGqr82EIl+BsIL24IfiuW4c4yZ4tq0kfphkbA JI27g4p/2HJt4kCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJqq/NhAAoJENju1/PI O/qaGJUP/3yufEr5zX51XBnayXqJXHfhkp+/bGSX1GDixamcNn+or8LJXRfnGElPdx/RX8AjoUJ b83dcf2sM0cCgeWgUotHvFLMpk2ussnkfVcDM/I+c0POLInkjoT4i10bjhNgAFvVWhej2qdFnbA jAA/UHjFmfVCyQgGMq2CIMe2bOGSXhLQyJSsHDGDDsauE2ZQzev/TvoFIgw7DVzyAk49gl0jwmU kBnT0/YoadcVhE6a+Z3j8E/rAMO0u71Em5NSuMLGUvshvEh8SdyG04oloIUaW4cYEsysd2AUMhL C94VKVMCl+m8RTEerEGWF4cxeHnJyRB/vTIVEfLvJwVO28SPFqxbQPuEedMaf/e74OJ1BHBJ8g7 L04ZWiXqNW86EN01YETmiwqvepGYW6Z0nui9Tqnky+YMjDN148p/tfdAB20klocZ0AGyGDCD+8u MHa3ihdzhWCvSZr//U9nPTUNQ2rnFpEpVLPBBqlM8D4O4jpKp8+uRSVuqLCarL6ezX6bY8/oeSH EaKK2v5Ysjy5JSTs+CgYxgtqchBjJCpOoLL32cJJ7zhU3cEcxa05ZFVntWTeEoaWOObeSMOnIw2 CM6nApRxvts4+J9j+9E0AFOx8y//a35K3ZaUSiVYc+R6w63HL71Y6X9H3fkAKTefv2qAwI+Mpmk 3/KbIHfahNLH9rnSOlZ4xkw== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A From: Nicolas Frattaroli Like previous Rockchip SoCs RK3576 has DFI hardware to measure DDR bandwidth utilisation. Add the node for it to the SoC's DT. Signed-off-by: Nicolas Frattaroli Signed-off-by: Sebastian Reichel --- arch/arm64/boot/dts/rockchip/rk3576.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts= /rockchip/rk3576.dtsi index b0c0d3c8b1b1..197b8c3b76b4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi @@ -1832,6 +1832,17 @@ qos_npu_m1ro: qos@27f22100 { reg =3D <0x0 0x27f22100 0x0 0x20>; }; =20 + dfi: dfi@2a000000 { + compatible =3D "rockchip,rk3576-dfi"; + reg =3D <0x0 0x2a000000 0x0 0x20000>; + clocks =3D <&cru PCLK_DDR_MON_CH0>, + <&cru PCLK_DDR_MON_CH1>; + clock-names =3D "pclk_ddr_mon_ch0", "pclk_ddr_mon_ch1"; + interrupts =3D , + ; + rockchip,pmu =3D <&pmu1_grf>; + }; + gmac0: ethernet@2a220000 { compatible =3D "rockchip,rk3576-gmac", "snps,dwmac-4.20a"; reg =3D <0x0 0x2a220000 0x0 0x10000>; --=20 2.53.0 From nobody Fri Sep 25 02:12:58 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 95508598BFF; Thu, 17 Sep 2026 14:04:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653866; cv=none; b=aV1iir3bCPqBRHc3RWeXbfHnBKBkZBn1MZcro1kn3SXGG/dDMB+bTD0AfRcfLFPD97zYodyS6G2rBnDsdeFS63XaiRZ12Z9wS9e7zRxrQywhvZ0TfpqpffpDj0sAyFkp/QWqrR0i4sib8XmgKgt+9H1bKuI1+NEzMaOv4Ummv4k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653866; c=relaxed/simple; bh=uqMNGGCnilMrPONpheO7c6uhWrV0luIU3LS1piJiwUQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lCXpeWV0E9s3QQQMhkZcgGKu4sgvM1q4ugHbqBaYke0753St1B2YiUM2Yx55pMDJRuA97J9Ug1oZ4ItgnztCZwpJd81YQ7OlFKjwUAibt0fuGPvY+mOODUtjoInyDdkJXErvVk/nsXcqzZG2CmmfLCbdZ9ECUvB4TLrHqzc4Z3k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=Q8Hov7j0; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="Q8Hov7j0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1789653858; bh=uqMNGGCnilMrPONpheO7c6uhWrV0luIU3LS1piJiwUQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Q8Hov7j0bmwbEV8YnTjWrbIpt/gcZtZMdn+u3RRLXekQgankrFeJ211naVE4uDTKg yPLJiUufsGv+6WDiY33665GUtkZNOPmZEOIPegvGHjTJQAvxzyLVj2254egDkOb4XY JWiEb4Oh5nKRzLk7rDNyHex7Rqznz0ziAlOO8k0VHwphF/lmwlEJ9pSRgvrL24b1Em t98T3XMw5rdYDrAxk42ZBqDp2F/HdgkABwStdPRhl+b7BuehDuI5gByOEz9UEKKJL8 S3FmjCBnfekTvNI+Ag4av1ynfh6Q+O27ujlE8CMf3T40LMszVNSaqGxOzkjQMAhSfK PKWkBPX+TUq3w== Received: from jupiter.universe (unknown [100.64.1.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 7B27A17E0CFC; Thu, 17 Sep 2026 16:04:18 +0200 (CEST) Received: by jupiter.universe (Postfix, from userid 1000) id EADB5480035; Thu, 17 Sep 2026 16:04:17 +0200 (CEST) From: Sebastian Reichel Date: Thu, 17 Sep 2026 16:04:11 +0200 Subject: [PATCH 5/7] PM / devfreq: rockchip-dfi: move register offsets to variant struct 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: <20260917-b4-rockchip-dfi-rk3576-support-v1-5-a5752a29f7bd@collabora.com> References: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> In-Reply-To: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer Cc: Nicolas Frattaroli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3887; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=uqMNGGCnilMrPONpheO7c6uhWrV0luIU3LS1piJiwUQ=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGqr82H+Ze7nkGXDHglk/7ea5CuuSw/DYTJQl +wxl/8tXk9Fs4kCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJqq/NhAAoJENju1/PI O/qaOzAP/jdLuPiuDud4XqaorY891Une9jj/j52FzbQK2LBgfx1HVjw9B3PY57k42Z19FRb0XFo aBGmPnPsTVpyfPAo3IjgX+rBcSEBe++gm3OCZp8Vu1k3ZOvZ1sBcrQXN+ORsGAsiE4iWrdU2q5G FeON4JyHMjQHbvqQr1UJpmFajlcHQCO/z5RPGqHC0tgu1NqIe7HrsQ2ddPYscbZoaf/4OyC6wwu Zok4gnULpG1c/10ZZk8stWbQ+JOqykt61IwhRBlfYBvFmjuL+rAVA5BzCMWt6WJyl+NGfsepk+e tPYYqHpRLT7gLQ5gAsb6xXFAgujM2M2kH1N+xLexKXmSMAo/mE403j+OB9zS66HLcfmjHfZ+vLo CBZ6LOixQXUigMPb5kjCb2E3DOQtCtX0D6fQ4+Bkl3+o1/dESFZCwiBKpz8PkYnm6e+bzau7bFn NmP9EZTVpfbCy22iKm2XrTM8YNNUhaufIudqdDZcTPd4h2x6G4Cd/0FiJLcZ4W4hC6+CITWRgmE U4oao2Kc6psfe3k28JKeP406UOv4vwi7vcYkah7eNERRaBgVZ8S89DAUfUvsBHQfwfmUTi95PQD cGtNkOFVfdpFqExMg1/G+Tti2vSIpP+Wk86AzqalDPF2NSdEj70h57P4ornx9WlvS/oIHDc6F9i 7Ved/FfkVk42wpVtiZewy9g== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A DDRMON in version 0x40 (found in RK3576) has two control registers, which moves the register addresses. Move the register offsets from the defines to the varaint struct to ease supporting the newer version. Signed-off-by: Sebastian Reichel --- drivers/devfreq/event/rockchip-dfi.c | 34 ++++++++++++++++++++++++--------= -- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/drivers/devfreq/event/rockchip-dfi.c b/drivers/devfreq/event/r= ockchip-dfi.c index 380361a231a2..8490219f61be 100644 --- a/drivers/devfreq/event/rockchip-dfi.c +++ b/drivers/devfreq/event/rockchip-dfi.c @@ -42,12 +42,6 @@ #define DDRMON_CTRL_TIMER_CNT_EN BIT(0) #define DDRMON_CTRL_LP5_BANK_MODE_MASK GENMASK(8, 7) =20 -#define DDRMON_CH0_WR_NUM 0x20 -#define DDRMON_CH0_RD_NUM 0x24 -#define DDRMON_CH0_COUNT_NUM 0x28 -#define DDRMON_CH0_DFI_ACCESS_NUM 0x2c -#define DDRMON_CH1_COUNT_NUM 0x3c -#define DDRMON_CH1_DFI_ACCESS_NUM 0x40 =20 #define PERF_EVENT_CYCLES 0x0 #define PERF_EVENT_READ_BYTES 0x1 @@ -128,6 +122,10 @@ struct rockchip_dfi { * @clocks_optional: whether not finding the clocks is non-fatal. Set if t= he * DT binding for this variant didn't require clocks in = the * past, so that the driver remains compatible with old = DTs. + * @reg_write_access: register offset for writes access + * @reg_read_access: register offset for read access + * @reg_access: register offset for read/write access + * @reg_clock_cycles: register offset for clock cycles */ struct rockchip_dfi_variant { int (*init)(struct rockchip_dfi *dfi); @@ -137,6 +135,10 @@ struct rockchip_dfi_variant { const char * const *clk_names; unsigned int num_clks; bool clocks_optional; + u8 reg_write_access; + u8 reg_read_access; + u8 reg_access; + u8 reg_clock_cycles; }; =20 static int rockchip_dfi_ddrtype_to_ctrl(struct rockchip_dfi *dfi, u32 *ctr= l) @@ -275,13 +277,13 @@ static void rockchip_dfi_read_counters(struct rockchi= p_dfi *dfi, struct dmc_coun if (!(dfi->channel_mask & BIT(i))) continue; res->c[i].read_access =3D readl_relaxed(dfi_regs + - DDRMON_CH0_RD_NUM + i * dfi->variant->stride); + dfi->variant->reg_read_access + i * dfi->variant->stride); res->c[i].write_access =3D readl_relaxed(dfi_regs + - DDRMON_CH0_WR_NUM + i * dfi->variant->stride); + dfi->variant->reg_write_access + i * dfi->variant->stride); res->c[i].access =3D readl_relaxed(dfi_regs + - DDRMON_CH0_DFI_ACCESS_NUM + i * dfi->variant->stride); + dfi->variant->reg_access + i * dfi->variant->stride); res->c[i].clock_cycles =3D readl_relaxed(dfi_regs + - DDRMON_CH0_COUNT_NUM + i * dfi->variant->stride); + dfi->variant->reg_clock_cycles + i * dfi->variant->stride); } } =20 @@ -829,6 +831,10 @@ static const struct rockchip_dfi_variant rk3399_varian= t =3D { .max_channels =3D 2, .clk_names =3D rk3399_clk_names, .num_clks =3D ARRAY_SIZE(rk3399_clk_names), + .reg_write_access =3D 0x20, + .reg_read_access =3D 0x24, + .reg_clock_cycles =3D 0x28, + .reg_access =3D 0x2c, }; =20 static const struct rockchip_dfi_variant rk3568_variant =3D { @@ -836,6 +842,10 @@ static const struct rockchip_dfi_variant rk3568_varian= t =3D { .stride =3D 0x0, .ctrl_single =3D true, .max_channels =3D 1, + .reg_write_access =3D 0x20, + .reg_read_access =3D 0x24, + .reg_clock_cycles =3D 0x28, + .reg_access =3D 0x2c, }; =20 static const struct rockchip_dfi_variant rk3588_variant =3D { @@ -845,6 +855,10 @@ static const struct rockchip_dfi_variant rk3588_varian= t =3D { .clk_names =3D rk3588_clk_names, .num_clks =3D ARRAY_SIZE(rk3588_clk_names), .clocks_optional =3D true, + .reg_write_access =3D 0x20, + .reg_read_access =3D 0x24, + .reg_clock_cycles =3D 0x28, + .reg_access =3D 0x2c, }; =20 static const struct of_device_id rockchip_dfi_id_match[] =3D { --=20 2.53.0 From nobody Fri Sep 25 02:12:58 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 93812598BFE; Thu, 17 Sep 2026 14:04:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653866; cv=none; b=J6GbjH3+sxP5L4Vf7APUnAwb+JNNjObgt7NnLZN8pJG1RuS3zTBF2EFaZCe9775V7k9F7bR7RBSycFkDopTjRpuY9O0O/YX/fq+4lMLHsGGYZDfDXqOKt3JbWiI67E8gzCSxQqQTFpfC5FNfiDvEoRl56dYUCatLfk2SFlpoBls= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653866; c=relaxed/simple; bh=khr+bJaYjJjoJSh5v4LpM9wTDjoEkflVWzoe5WtEJgM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hgBU30zvS6j92oOL4jhzRvJgY7HHSJ4sZNs5gyLHHt7ZCS2dBUokXiDAX3zjRREoHSxtnfDU6zN/ITYmG98tu4b9d+8aTPrj4gebpef+bVUVcNUKvg2kAlkcmCF8wkS+RczScVPStO+TSNKt5VLGnritJbQym+VLRHTUNKCoyL0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=T3qNmKFe; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="T3qNmKFe" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1789653858; bh=khr+bJaYjJjoJSh5v4LpM9wTDjoEkflVWzoe5WtEJgM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=T3qNmKFeApMKOtApKX/usSPdcB3LvwJU6bcpeae6jZ2wKjGtEIhXJDe4dsL0ZBcKL CQg4IDNEr4tQtdYbo0WyQEuEwaqCp/KMVjmeH8IAR8em/mANqdBb6O6txyDzFrQlM1 9rIqYyHXjfkuV1Oy+IDQelknhu97LkbW0EWRD0kO6iT8DEGV8PZSk5TwHa1doK4jln c3aVf9Et0A4naFVdsbvt5SGr8OwtazNc5NaNgNVLmvy4N+b0Lv8xrH4xzRfE/sU+gH Y6N4bUkuxlyYli2Eskta4oPevIzWGTnBA1Hpsx6Z6AAw/92dIq+Yj2Py/NtjwFkKGH VUrOpTZkP6a2g== Received: from jupiter.universe (unknown [100.64.1.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 7E0A517E0D43; Thu, 17 Sep 2026 16:04:18 +0200 (CEST) Received: by jupiter.universe (Postfix, from userid 1000) id EC8F2480038; Thu, 17 Sep 2026 16:04:17 +0200 (CEST) From: Sebastian Reichel Date: Thu, 17 Sep 2026 16:04:12 +0200 Subject: [PATCH 6/7] PM / devfreq: rockchip-dfi: prepare support for v4 DDRMON 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: <20260917-b4-rockchip-dfi-rk3576-support-v1-6-a5752a29f7bd@collabora.com> References: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> In-Reply-To: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer Cc: Nicolas Frattaroli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=5026; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=khr+bJaYjJjoJSh5v4LpM9wTDjoEkflVWzoe5WtEJgM=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGqr82FaEeKfJc57BjkDkIx7AoYTh94J3gJJM 0Tl3yL08HTqv4kCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJqq/NhAAoJENju1/PI O/qa/U0P/RFtATNKjh6KA3gYEWH78gqYS3eXYIEXLK/PLKqvJsEaTFa6Uww7Ug7M423MPgbkB29 Fj5t8Z8cTjoQkoxVTWRggw8xdnmKTSUzbJkw2CpRXFaLjtLa2/oBxIMuBwR8T2fA6VTc9wKl+aG Kd0sAYdMCuW2z1z+Af91VCaQiQJeIzkJuvWYWB/pqF/hEk7CUFr2ARaoCRpp8+ac6Y57sGMCfoi cpm6bpGO7mUjYjEoJ4fjs4YfYC0h6FT38m/Psu4gjIDfVcxpFn6sdbzTO2i+ixmidqJ/qwtUv+8 c2pRjLXGv6eqsJUel3vUGUTpi7G9v0T2nSUVl0Ich5FJ9iCojZOQJnx23l522DfoP2mm5zhfYWx f4nmqWKiVsy408AcwI+TSEUoHj3fSZkDxMfTRRF7Slf0t4+0e/+hxZx/pk06ou0l3HqeZoM2zB2 EsUs33jKeIELnZdeH8sdWfQ+QlGey2t5BfwLMq3wBRMhcLezWzs8KJt1w9FZV5Ypes1tEbRCrrC aJGrBBu4FC1E+DwKWJg9za8PWj+A7/yX8+OTKX3+Np+6IirD2EPHeBczBTPKeGV+xjDu2+D1h/n 4tPUv1jHM6sasDM6qb3i75TRVylsTLhzEmEqVvCSCf7yAzMYIpewLoAos3uv2zfsVAdlK5Abi2E 0qH/EgqdNdZwOf5mbnXswVg== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A Add support for the new control register layout found for DDRMON controllers having version 0x40. This prepares the driver for adding RK3576 support. Signed-off-by: Sebastian Reichel --- drivers/devfreq/event/rockchip-dfi.c | 85 ++++++++++++++++++++++++++------= ---- 1 file changed, 62 insertions(+), 23 deletions(-) diff --git a/drivers/devfreq/event/rockchip-dfi.c b/drivers/devfreq/event/r= ockchip-dfi.c index 8490219f61be..8ba97af78e3d 100644 --- a/drivers/devfreq/event/rockchip-dfi.c +++ b/drivers/devfreq/event/rockchip-dfi.c @@ -42,6 +42,19 @@ #define DDRMON_CTRL_TIMER_CNT_EN BIT(0) #define DDRMON_CTRL_LP5_BANK_MODE_MASK GENMASK(8, 7) =20 +#define DDRMON_CTRL0 0x04 +#define DDRMON_CTRL0_EXT_TRIGGER_EN BIT(6) +#define DDRMON_CTRL0_DDR4 BIT(5) +#define DDRMON_CTRL0_LPDDR4 BIT(4) +#define DDRMON_CTRL0_HARDWARE_EN BIT(3) +#define DDRMON_CTRL0_LPDDR23 BIT(2) +#define DDRMON_CTRL0_SOFTWARE_EN BIT(1) +#define DDRMON_CTRL0_TIMER_CNT_EN BIT(0) +#define DDRMON_CTRL0_HOT_RANK GENMASK(8, 7) + +#define DDRMON_CTRL1 0x08 +#define DDRMON_CTRL1_LPDDR5 BIT(0) +#define DDRMON_CTRL1_LP5_BANK_MODE_MASK GENMASK(2, 1) =20 #define PERF_EVENT_CYCLES 0x0 #define PERF_EVENT_READ_BYTES 0x1 @@ -143,8 +156,6 @@ struct rockchip_dfi_variant { =20 static int rockchip_dfi_ddrtype_to_ctrl(struct rockchip_dfi *dfi, u32 *ctr= l) { - u32 ddrmon_ver; - switch (dfi->ddr_type) { case ROCKCHIP_DDRTYPE_LPDDR2: case ROCKCHIP_DDRTYPE_LPDDR3: @@ -159,26 +170,43 @@ static int rockchip_dfi_ddrtype_to_ctrl(struct rockch= ip_dfi *dfi, u32 *ctrl) FIELD_PREP_WM16(DDRMON_CTRL_LPDDR5, 0); break; case ROCKCHIP_DDRTYPE_LPDDR5: - ddrmon_ver =3D readl_relaxed(dfi->regs); - if (ddrmon_ver < 0x40) { - *ctrl =3D FIELD_PREP_WM16(DDRMON_CTRL_LPDDR23, 0) | - FIELD_PREP_WM16(DDRMON_CTRL_LPDDR4, 0) | - FIELD_PREP_WM16(DDRMON_CTRL_LPDDR5, 1) | - FIELD_PREP_WM16(DDRMON_CTRL_LP5_BANK_MODE_MASK, - dfi->lp5_bank_mode); - break; - } - - /* - * As it is unknown whether the unpleasant special case - * behaviour used by the vendor kernel is needed for any - * shipping hardware, ask users to report if they have - * some of that hardware. - */ - dev_err(&dfi->edev->dev, - "unsupported DDRMON version 0x%04X, please let linux-rockchip know!\n", - ddrmon_ver); + *ctrl =3D FIELD_PREP_WM16(DDRMON_CTRL_LPDDR23, 0) | + FIELD_PREP_WM16(DDRMON_CTRL_LPDDR4, 0) | + FIELD_PREP_WM16(DDRMON_CTRL_LPDDR5, 1) | + FIELD_PREP_WM16(DDRMON_CTRL_LP5_BANK_MODE_MASK, + dfi->lp5_bank_mode); + break; + default: + dev_err(&dfi->edev->dev, "unsupported memory type 0x%X\n", + dfi->ddr_type); return -EOPNOTSUPP; + } + + return 0; +} + +static int rockchip_dfi_v4_ddrtype_to_ctrl(struct rockchip_dfi *dfi, u32 *= ctrl0, u32 *ctrl1) +{ + switch (dfi->ddr_type) { + case ROCKCHIP_DDRTYPE_LPDDR2: + case ROCKCHIP_DDRTYPE_LPDDR3: + *ctrl0 =3D FIELD_PREP_WM16(DDRMON_CTRL0_LPDDR23, 1) | + FIELD_PREP_WM16(DDRMON_CTRL0_LPDDR4, 0); + *ctrl1 =3D FIELD_PREP_WM16(DDRMON_CTRL1_LPDDR5, 0); + break; + case ROCKCHIP_DDRTYPE_LPDDR4: + case ROCKCHIP_DDRTYPE_LPDDR4X: + *ctrl0 =3D FIELD_PREP_WM16(DDRMON_CTRL0_LPDDR23, 0) | + FIELD_PREP_WM16(DDRMON_CTRL0_LPDDR4, 1); + *ctrl1 =3D FIELD_PREP_WM16(DDRMON_CTRL1_LPDDR5, 0); + break; + case ROCKCHIP_DDRTYPE_LPDDR5: + *ctrl0 =3D FIELD_PREP_WM16(DDRMON_CTRL0_LPDDR23, 0) | + FIELD_PREP_WM16(DDRMON_CTRL0_LPDDR4, 0); + *ctrl1 =3D FIELD_PREP_WM16(DDRMON_CTRL1_LPDDR5, 1) | + FIELD_PREP_WM16(DDRMON_CTRL_LP5_BANK_MODE_MASK, + dfi->lp5_bank_mode); + break; default: dev_err(&dfi->edev->dev, "unsupported memory type 0x%X\n", dfi->ddr_type); @@ -188,11 +216,12 @@ static int rockchip_dfi_ddrtype_to_ctrl(struct rockch= ip_dfi *dfi, u32 *ctrl) return 0; } =20 + static int rockchip_dfi_enable(struct rockchip_dfi *dfi) { void __iomem *dfi_regs =3D dfi->regs; + u32 ctrl, ctrl1, ddrmon_ver; int i, ret =3D 0; - u32 ctrl; =20 mutex_lock(&dfi->mutex); =20 @@ -207,10 +236,16 @@ static int rockchip_dfi_enable(struct rockchip_dfi *d= fi) goto out; } =20 - ret =3D rockchip_dfi_ddrtype_to_ctrl(dfi, &ctrl); + ddrmon_ver =3D readl_relaxed(dfi->regs); + if (ddrmon_ver < 0x40) + ret =3D rockchip_dfi_ddrtype_to_ctrl(dfi, &ctrl); + else + ret =3D rockchip_dfi_v4_ddrtype_to_ctrl(dfi, &ctrl, &ctrl1); + if (ret) goto out; =20 + for (i =3D 0; i < dfi->variant->max_channels; i++) { =20 if (!(dfi->channel_mask & BIT(i))) @@ -225,6 +260,10 @@ static int rockchip_dfi_enable(struct rockchip_dfi *df= i) writel_relaxed(ctrl, dfi_regs + i * dfi->variant->stride + DDRMON_CTRL); =20 + if (ddrmon_ver >=3D 0x40) + writel_relaxed(ctrl1, dfi_regs + i * dfi->variant->stride + + DDRMON_CTRL1); + /* enable count, use software mode */ writel_relaxed(FIELD_PREP_WM16(DDRMON_CTRL_SOFTWARE_EN, 1), dfi_regs + i * dfi->variant->stride + DDRMON_CTRL); --=20 2.53.0 From nobody Fri Sep 25 02:12:58 2026 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (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 AB851598C01; Thu, 17 Sep 2026 14:04:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653866; cv=none; b=QcKtWNczfgoTGAFJ6H5I9DHvs7BsLvqFnvPEeA125AauNBLemGzSfJaLDPKLMNmdUFVVWHvpopR+6rvygCbUaMbnatVDUTAZRGOTILwZInMZteDwCxxttkNVk6mvOnZMXoY7O/ynBU3+RAcVrYPXpwJrcPRIh2ckTAYvE4RDqok= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789653866; c=relaxed/simple; bh=TNtuc9GGI5fjqkVDrU17OxAsxDoMnUnAakkErqmjmpM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=abTLQrhAaCugys0S4XQNPmqQ6jBsqRdS0E7vynorj+EELksdoUrBh5vjOtNZ8InViYgRYBCJi+C6cNSa+CcFtCg3jzMWwMRAF/LZm2/QvawbwuyBP9wIUe3d5+R+1nM/ZMl4nA/dQ6sP8Sd+dA22FT67pzmIn1iHC3MZuup8VgE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=jMT9IhNF; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="jMT9IhNF" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1789653858; bh=TNtuc9GGI5fjqkVDrU17OxAsxDoMnUnAakkErqmjmpM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=jMT9IhNF7HGV7QqLeOyyL93BjgncoG8F+jFqYZJt2y0gROue0GjQ9BGA4YH8dbqRO c157zJ8eXVCIEPJ6EjxpmxqgtYOvWQg5PRlmSovlzD+hrR/rXw3j7CrHyxQoSmWfgz kxNBhCdgUsfdqnVeSsXnEODgTqTrG+rhSql5G2ypsZuK6v1eJE+3/Hkpla9gKjHcVZ MTRdigstC78jIVbc7NM7LQ2lS5yhvyMj0yMaVobIYWWROerDr5yt0FpNMklwMPBm0j 5mGFDa6mb06mZOs1WPPPych7sWDOUjBg5v9wNj4priXir8niTWzoty5XiSP2Hv3UdB YTWqpqd/DgtXw== Received: from jupiter.universe (unknown [100.64.1.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: sre) by bali.collaboradmins.com (Postfix) with ESMTPSA id 84EA717E0D49; Thu, 17 Sep 2026 16:04:18 +0200 (CEST) Received: by jupiter.universe (Postfix, from userid 1000) id EE3E748003A; Thu, 17 Sep 2026 16:04:17 +0200 (CEST) From: Sebastian Reichel Date: Thu, 17 Sep 2026 16:04:13 +0200 Subject: [PATCH 7/7] PM / devfreq: rockchip-dfi: add RK3576 support 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: <20260917-b4-rockchip-dfi-rk3576-support-v1-7-a5752a29f7bd@collabora.com> References: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> In-Reply-To: <20260917-b4-rockchip-dfi-rk3576-support-v1-0-a5752a29f7bd@collabora.com> To: Stephen Boyd , Brian Masney , Jerome Brunet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Chanwoo Choi , MyungJoo Ham , Kyungmin Park , Sascha Hauer Cc: Nicolas Frattaroli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kernel@collabora.com, Sebastian Reichel X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2139; i=sebastian.reichel@collabora.com; h=from:subject:message-id; bh=TNtuc9GGI5fjqkVDrU17OxAsxDoMnUnAakkErqmjmpM=; b=owJ4nAFtApL9kA0DAAoB2O7X88g7+poByyZiAGqr82EejlJ4FuU9C+ypGh5AhmIBgkLkIVLEA skFrKrWWYV3wokCMwQAAQoAHRYhBO9mDQdGP4tyanlUE9ju1/PIO/qaBQJqq/NhAAoJENju1/PI O/qa8+YP+QEDsuu3RP/2L/Qy2ETZ2iabxGV5UWbgrhU1pPnDMxMaAssY2VYSmij376j5jUg30yZ CsDgJztC5EgYglcDRzFTjrF7jY1BUqFwPInLGCn8rvy25PKxICcLtn5SaqNr3CgfmrwoKw0vgcZ LlwhUyyamFvSN/fbb5CJR2jBBemSEEDiDT1GS7xA7pW+4agVXoqpVd/Fq3NVJYVV5BCKSPsDaUL eJWoL/ynSBl62rS1ycp9uzCQONR3NubE285zGeLZ9vvtEIQTIlAKg6uiu6pu5P9fEEvnScZ5ihF OIVCaS5dT4Sz3BIjTnIQwligCNrcHt0VQ+nEBMDNUKx0pDl/BiNHME5g3RrDG55alodx1brJ/3N W9tceAUrE+Kt7debuHyb6+lSWWd8FGpePaa5vh0fYeAPCpPJgphs4Z4il5RZmcFnVZLXl9qDbxD xvexArxbuKPEQdJgXsXk2DHhnBFurWLaq6siNybPVNqY+GTfOOFt6OOsFx0K+AItSxGbJK+whay TGMNqwEGiWjXSVUnEhpEGSLN3e9A3+Q1c0YuRrwsktw4jOBk9FP1exsuvw4u63SVnNPeRCP2eNI Lf7x2N4OShGGhtLgDildct0SDJxrWALQEPIjTUc0SGJ/+vQzQFk50GZWmLbeqdeyYw5fHV4vrsN qnibFnxZbttyxFtVEw7kqJA== X-Developer-Key: i=sebastian.reichel@collabora.com; a=openpgp; fpr=EF660D07463F8B726A795413D8EED7F3C83BFA9A Add RK3576 support to the DFI driver exposing the same functionality as found on previous chips. This uses the RK3588 init for getting the DRAM type info from the GRF registers. In contrast to RK3588 it uses a newer DDRMON controller IP, though (version 0x40). Co-developed-by: Nicolas Frattaroli Signed-off-by: Nicolas Frattaroli Signed-off-by: Sebastian Reichel --- drivers/devfreq/event/rockchip-dfi.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/devfreq/event/rockchip-dfi.c b/drivers/devfreq/event/r= ockchip-dfi.c index 8ba97af78e3d..a895e566b4b9 100644 --- a/drivers/devfreq/event/rockchip-dfi.c +++ b/drivers/devfreq/event/rockchip-dfi.c @@ -858,6 +858,10 @@ static const char * const rk3399_clk_names[] =3D { "pclk_ddr_mon", }; =20 +static const char * const rk3576_clk_names[] =3D { + "pclk_ddr_mon_ch0", "pclk_ddr_mon_ch1", +}; + static const char * const rk3588_clk_names[] =3D { "pclk_ddr_mon_ch0", "pclk_ddr_mon_ch1", "pclk_ddr_mon_ch2", "pclk_ddr_mon_ch3", @@ -887,6 +891,18 @@ static const struct rockchip_dfi_variant rk3568_varian= t =3D { .reg_access =3D 0x2c, }; =20 +static const struct rockchip_dfi_variant rk3576_variant =3D { + .init =3D rk3588_dfi_init, + .stride =3D 0x10000, + .max_channels =3D 2, + .clk_names =3D rk3576_clk_names, + .num_clks =3D ARRAY_SIZE(rk3576_clk_names), + .reg_write_access =3D 0x28, + .reg_read_access =3D 0x2c, + .reg_access =3D 0x34, + .reg_clock_cycles =3D 0x30, +}; + static const struct rockchip_dfi_variant rk3588_variant =3D { .init =3D rk3588_dfi_init, .stride =3D 0x4000, @@ -903,6 +919,7 @@ static const struct rockchip_dfi_variant rk3588_variant= =3D { static const struct of_device_id rockchip_dfi_id_match[] =3D { { .compatible =3D "rockchip,rk3399-dfi", .data =3D &rk3399_variant }, { .compatible =3D "rockchip,rk3568-dfi", .data =3D &rk3568_variant }, + { .compatible =3D "rockchip,rk3576-dfi", .data =3D &rk3576_variant }, { .compatible =3D "rockchip,rk3588-dfi", .data =3D &rk3588_variant }, { }, }; --=20 2.53.0