From nobody Thu Apr 9 19:21:35 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 A4B5C3976A7; Wed, 4 Mar 2026 11:05:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772622332; cv=none; b=ndnJS4ZVxARcnhjw0UbRsWXz5sfwH7QARnQ4Q4xZTC6VvALbwvZ8SIPeiqYpE7AY07O3hsbToogNNAzx8oBGZut1OlNt7HOu9idR+8uSJtbkjwaUjmSeGzo3W609q2b2HwDehnz7Hmr3c5mCPcOC/JuIqMiWOiXtQ44h1pMEwP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772622332; c=relaxed/simple; bh=oNtScFnsv11UDaKYBOINzknnrX3eHJJSbkK3kyF8YPc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cciaYSgOREFgeSP1kCjjwKHu0yQMUj0a7PSzCgXGmI1MavJTkzlR9nR7XPgDmeOyzqUj2Q7V0D0H1yAgrV6BilasgDi8OqHrzpzQbLsFscy7l/bnc30pWuSHtCMbe/ZawXl3vflOG85NWOYoWneJcmIMC/cXsqs7Pll3Yr2hST8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oipMk5D+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oipMk5D+" Received: by smtp.kernel.org (Postfix) with ESMTPS id 7A9D9C2BCAF; Wed, 4 Mar 2026 11:05:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772622332; bh=oNtScFnsv11UDaKYBOINzknnrX3eHJJSbkK3kyF8YPc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=oipMk5D+9lLUo32zwOPvNoN/bRHaLXrYrBHpDNCLQz5X89WKFynj7dWphOYvbXvhb rq7UKe3ASJX8168EOQ0qh7dlfKrdykAZNEnLQnkIfvfzgFuw69Sqj1sj0h8ruBIeJS elTDE1gILSQNKFoRzJV0pZZeGchsXPRQCWyvEn5HWDo3ZzHHqv84J2smFZHTZ2UwKc LrhwNbrGBO1emqY1Xry1dge6/xVdY0eeFEk1pRf4t269j9zi6FFKW1McMjhlkraBK+ Rtclpvl29d2RthLjYZoGoOdkbi4CuFlL+c1JFXg7qrr7aJuyCtL7mwyrid0BKy94Tz 4XjEMb8xEZFNg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 722A5EB7ECA; Wed, 4 Mar 2026 11:05:32 +0000 (UTC) From: David Heidelberg via B4 Relay Date: Wed, 04 Mar 2026 12:05:29 +0100 Subject: [PATCH v4 3/4] arm64: dts: rockchip: Use reference PCIe clock generator for BPI-R2-Pro 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: <20260304-rk3568-bri-r2-pro-fix-pcie-v4-3-37abd7ba29d0@ixit.cz> References: <20260304-rk3568-bri-r2-pro-fix-pcie-v4-0-37abd7ba29d0@ixit.cz> In-Reply-To: <20260304-rk3568-bri-r2-pro-fix-pcie-v4-0-37abd7ba29d0@ixit.cz> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Frank Wunderlich Cc: Martin Filla , Charalampos Mitrodimas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, David Heidelberg X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3580; i=david@ixit.cz; h=from:subject:message-id; bh=qow4qUP3UIWSB18kpm/RoKVGt1Pe1atZ2k7LXtc2JZw=; b=owEBbQKS/ZANAwAIAWACP8TTSSByAcsmYgBpqBH5dQ3gPB87fst4g5zWYK+0nDYlwyVSNYcd3 5c8TJrFEriJAjMEAAEIAB0WIQTXegnP7twrvVOnBHRgAj/E00kgcgUCaagR+QAKCRBgAj/E00kg ciYRD/0cu8MG+uMTfJQKXS9CYcxXuoAF+bdGfSLBMYoi6k7r+KLtuehwdjtD5rUyZ4szLNmotBl fwm/APb57O22uzO27eeKTmiQpDh03qBRpZBFJuLxb/yKXXVWbpWVbegd0LJx94rDPuqGlT3/O9S o/a7wzBBIVf1Kp9/so1mph7eSu2OCQMpNRfLe26OISEGzKUihQJ7CJWoixXS54J0r6gAuqSqk3h 4hat6TxNtmgwJgCrnEjM2woKGO+XtWTAlavduRSIGPPbYct2XZbkqtxA75llV3gk0t/uRBTDMzj du1HJD20ucSpv67qsEQmrsUQgJw+ekvTY4Mb1dzyDSdEUkoIu0mqU5wRUcyOQx9YfG2Bv1CoKPn FNsCjlYHwj8jDpB7OKqEhW0O3vwp481StztCFTMqu7MzFUe68rGGFAO3o9wcbtOUsfMN3fIUqmA tHUbxLBgFXmeKmZljklNkFgEjC3uyADbHQIpl1Qz60O8MSMWyCDh6hqvI+OEmZt70R8gdue73Fo P70nNqz5gtpKS8gMn2l6NEJ/EeigCi4Xg/0mzosVrj4laqUIS20yGl0vYGVzfpieTO27Fk12Nte MLi2+AK5CUEVT1VDIeDh57O7fFZqabX1h1TLt3KpQXQs8vxwEgHFmAPXpTp8IwsztQvKr77Ttph lSPn72tzpw6o2nA== X-Developer-Key: i=david@ixit.cz; a=openpgp; fpr=D77A09CFEEDC2BBD53A7047460023FC4D3492072 X-Endpoint-Received: by B4 Relay for david@ixit.cz/default with auth_id=355 X-Original-From: David Heidelberg Reply-To: david@ixit.cz From: David Heidelberg Describe properly PCIe clock, which allow us correct the topology (removing the vcc3v3-{minipcie,ngff} dependency on pi6c as supply) and adding the clock dependency in the PCIe nodes. Suggested-by: Heiko Stuebner Tested-by: Martin Filla Signed-off-by: David Heidelberg --- arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 47 +++++++++++++++---= ---- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts b/arch/arm6= 4/boot/dts/rockchip/rk3568-bpi-r2-pro.dts index d02b82c5f979a..3cdea9456a28c 100644 --- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts +++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts @@ -120,18 +120,13 @@ pcie_refclk_gen: pcie-refclk-gen-clock { clock-frequency =3D <100000000>; }; =20 - vcc3v3_pi6c_05: regulator-vcc3v3-pi6c-05 { - compatible =3D "regulator-fixed"; - regulator-name =3D "vcc3v3_pcie"; - regulator-min-microvolt =3D <3300000>; - regulator-max-microvolt =3D <3300000>; - enable-active-high; - gpios =3D <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; - startup-delay-us =3D <200000>; - vin-supply =3D <&vcc5v0_sys>; + pcie_refclk: pcie-refclk-clock { + compatible =3D "gpio-gate-clock"; + clocks =3D <&pcie_refclk_gen>; + #clock-cells =3D <0>; + enable-gpios =3D <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; }; =20 - /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */ vcc3v3_minipcie: regulator-vcc3v3-minipcie { compatible =3D "regulator-fixed"; regulator-name =3D "vcc3v3_minipcie"; @@ -142,10 +137,9 @@ vcc3v3_minipcie: regulator-vcc3v3-minipcie { pinctrl-names =3D "default"; pinctrl-0 =3D <&minipcie_enable_h>; startup-delay-us =3D <50000>; - vin-supply =3D <&vcc3v3_pi6c_05>; + vin-supply =3D <&vcc3v3_sys>; }; =20 - /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */ vcc3v3_ngff: regulator-vcc3v3-ngff { compatible =3D "regulator-fixed"; regulator-name =3D "vcc3v3_ngff"; @@ -156,7 +150,7 @@ vcc3v3_ngff: regulator-vcc3v3-ngff { pinctrl-names =3D "default"; pinctrl-0 =3D <&ngffpcie_enable_h>; startup-delay-us =3D <50000>; - vin-supply =3D <&vcc3v3_pi6c_05>; + vin-supply =3D <&vcc3v3_sys>; }; =20 vcc5v0_usb: regulator-vcc5v0-usb { @@ -586,12 +580,24 @@ rgmii_phy1: ethernet-phy@0 { =20 &pcie30phy { data-lanes =3D <1 2>; - phy-supply =3D <&vcc3v3_pi6c_05>; + status =3D "okay"; }; =20 &pcie3x1 { /* M.2 slot */ + /* + * The board has a gpio-controlled "pcie_refclk" generator, + * so add it to the list of clocks. + */ + clocks =3D <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>, + <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>, + <&cru CLK_PCIE30X1_AUX_NDFT>, + <&cru CLK_PCIE30X1_PIPE_DFT>, + <&pcie_refclk>; + clock-names =3D "aclk_mst", "aclk_slv", + "aclk_dbi", "pclk", "aux", + "pipe", "ref"; num-lanes =3D <1>; pinctrl-names =3D "default"; pinctrl-0 =3D <&ngffpcie_reset_h>; @@ -602,6 +608,19 @@ &pcie3x1 { =20 &pcie3x2 { /* mPCIe slot */ + /* + * The board has a gpio-controlled "pcie_refclk" generator, + * so add it to the list of clocks. + */ + clocks =3D <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>, + <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>, + <&cru CLK_PCIE30X2_AUX_NDFT>, + <&cru CLK_PCIE30X2_PIPE_DFT>, + <&pcie_refclk>; + clock-names =3D "aclk_mst", "aclk_slv", + "aclk_dbi", "pclk", "aux", + "pipe", "ref"; + num-lanes =3D <1>; pinctrl-names =3D "default"; pinctrl-0 =3D <&minipcie_reset_h>; --=20 2.53.0