* [PATCH 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs
@ 2026-08-20 14:01 ` Amin Gattout
0 siblings, 0 replies; 26+ messages in thread
From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner,
Vinod Koul, Neil Armstrong
Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip,
linux-kernel, linux-phy, Amin Gattout
Hi all,
The Rockchip RK3576 features two MIPI CSI-2 DPHYs. The CSI-2 DPHYs can be
supported using the existing phy-rockchip-inno-csidphy driver.
This patch series adds support for this variant.
As you may have guessed, this is part of the efforts to bring the
support for the RK3576 camera pipeline (VICAP) mainline.
Looking forward to your comments!
---
Amin Gattout (4):
dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon
dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant
phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant
arm64: dts: rockchip: add csi dphy nodes to rk3576
.../bindings/phy/rockchip-inno-csi-dphy.yaml | 2 ++
.../devicetree/bindings/soc/rockchip/grf.yaml | 1 +
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 34 ++++++++++++++++++++++
drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++
4 files changed, 59 insertions(+)
---
base-commit: bd5f485f3f026225b86573e559af0b7254ef4184
change-id: 20260819-rk3576-dphy-2304f848215b
Best regards,
--
Amin Gattout <amin.gattout@gmail.com>
^ permalink raw reply [flat|nested] 26+ messages in thread* [PATCH 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout Hi all, The Rockchip RK3576 features two MIPI CSI-2 DPHYs. The CSI-2 DPHYs can be supported using the existing phy-rockchip-inno-csidphy driver. This patch series adds support for this variant. As you may have guessed, this is part of the efforts to bring the support for the RK3576 camera pipeline (VICAP) mainline. Looking forward to your comments! --- Amin Gattout (4): dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant arm64: dts: rockchip: add csi dphy nodes to rk3576 .../bindings/phy/rockchip-inno-csi-dphy.yaml | 2 ++ .../devicetree/bindings/soc/rockchip/grf.yaml | 1 + arch/arm64/boot/dts/rockchip/rk3576.dtsi | 34 ++++++++++++++++++++++ drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++ 4 files changed, 59 insertions(+) --- base-commit: bd5f485f3f026225b86573e559af0b7254ef4184 change-id: 20260819-rk3576-dphy-2304f848215b Best regards, -- Amin Gattout <amin.gattout@gmail.com> _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout Hi all, The Rockchip RK3576 features two MIPI CSI-2 DPHYs. The CSI-2 DPHYs can be supported using the existing phy-rockchip-inno-csidphy driver. This patch series adds support for this variant. As you may have guessed, this is part of the efforts to bring the support for the RK3576 camera pipeline (VICAP) mainline. Looking forward to your comments! --- Amin Gattout (4): dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant arm64: dts: rockchip: add csi dphy nodes to rk3576 .../bindings/phy/rockchip-inno-csi-dphy.yaml | 2 ++ .../devicetree/bindings/soc/rockchip/grf.yaml | 1 + arch/arm64/boot/dts/rockchip/rk3576.dtsi | 34 ++++++++++++++++++++++ drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++ 4 files changed, 59 insertions(+) --- base-commit: bd5f485f3f026225b86573e559af0b7254ef4184 change-id: 20260819-rk3576-dphy-2304f848215b Best regards, -- Amin Gattout <amin.gattout@gmail.com> -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon 2026-08-20 14:01 ` Amin Gattout (?) @ 2026-08-20 14:01 ` Amin Gattout -1 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout Document the syscon compatible for the General Register Files of the RK3576 MIPI CSI-2 DPHYs. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- Documentation/devicetree/bindings/soc/rockchip/grf.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml index 7bcb4e2f47ec..e94c83d7c138 100644 --- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml @@ -32,6 +32,7 @@ properties: - rockchip,rk3568-usb2phy-grf - rockchip,rk3576-bigcore-grf - rockchip,rk3576-cci-grf + - rockchip,rk3576-csidphy-grf - rockchip,rk3576-dcphy-grf - rockchip,rk3576-gpu-grf - rockchip,rk3576-hdptxphy-grf -- 2.43.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout Document the syscon compatible for the General Register Files of the RK3576 MIPI CSI-2 DPHYs. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- Documentation/devicetree/bindings/soc/rockchip/grf.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml index 7bcb4e2f47ec..e94c83d7c138 100644 --- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml @@ -32,6 +32,7 @@ properties: - rockchip,rk3568-usb2phy-grf - rockchip,rk3576-bigcore-grf - rockchip,rk3576-cci-grf + - rockchip,rk3576-csidphy-grf - rockchip,rk3576-dcphy-grf - rockchip,rk3576-gpu-grf - rockchip,rk3576-hdptxphy-grf -- 2.43.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout Document the syscon compatible for the General Register Files of the RK3576 MIPI CSI-2 DPHYs. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- Documentation/devicetree/bindings/soc/rockchip/grf.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml index 7bcb4e2f47ec..e94c83d7c138 100644 --- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml @@ -32,6 +32,7 @@ properties: - rockchip,rk3568-usb2phy-grf - rockchip,rk3576-bigcore-grf - rockchip,rk3576-cci-grf + - rockchip,rk3576-csidphy-grf - rockchip,rk3576-dcphy-grf - rockchip,rk3576-gpu-grf - rockchip,rk3576-hdptxphy-grf -- 2.43.0 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon 2026-08-20 14:01 ` Amin Gattout (?) @ 2026-08-20 18:16 ` Conor Dooley -1 siblings, 0 replies; 26+ messages in thread From: Conor Dooley @ 2026-08-20 18:16 UTC (permalink / raw) To: Amin Gattout Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong, Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy [-- Attachment #1.1: Type: text/plain, Size: 75 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 112 bytes --] -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon @ 2026-08-20 18:16 ` Conor Dooley 0 siblings, 0 replies; 26+ messages in thread From: Conor Dooley @ 2026-08-20 18:16 UTC (permalink / raw) To: Amin Gattout Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong, Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy [-- Attachment #1: Type: text/plain, Size: 75 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon @ 2026-08-20 18:16 ` Conor Dooley 0 siblings, 0 replies; 26+ messages in thread From: Conor Dooley @ 2026-08-20 18:16 UTC (permalink / raw) To: Amin Gattout Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong, Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy [-- Attachment #1.1: Type: text/plain, Size: 75 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 170 bytes --] _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant 2026-08-20 14:01 ` Amin Gattout (?) @ 2026-08-20 14:01 ` Amin Gattout -1 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The Rockchip RK3576 features two MIPI CSI-2 DPHYs compatible with this binding. Unlike the RK3588 variant, each PHY instance only has an APB reset line, so add the new compatible to the single-reset group as well. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml b/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml index 03950b3cad08..92d0c961f4c4 100644 --- a/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml +++ b/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml @@ -21,6 +21,7 @@ properties: - rockchip,rk3326-csi-dphy - rockchip,rk3368-csi-dphy - rockchip,rk3568-csi-dphy + - rockchip,rk3576-csi-dphy - rockchip,rk3588-csi-dphy reg: @@ -89,6 +90,7 @@ allOf: - rockchip,rk3326-csi-dphy - rockchip,rk3368-csi-dphy - rockchip,rk3568-csi-dphy + - rockchip,rk3576-csi-dphy then: properties: resets: -- 2.43.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The Rockchip RK3576 features two MIPI CSI-2 DPHYs compatible with this binding. Unlike the RK3588 variant, each PHY instance only has an APB reset line, so add the new compatible to the single-reset group as well. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml b/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml index 03950b3cad08..92d0c961f4c4 100644 --- a/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml +++ b/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml @@ -21,6 +21,7 @@ properties: - rockchip,rk3326-csi-dphy - rockchip,rk3368-csi-dphy - rockchip,rk3568-csi-dphy + - rockchip,rk3576-csi-dphy - rockchip,rk3588-csi-dphy reg: @@ -89,6 +90,7 @@ allOf: - rockchip,rk3326-csi-dphy - rockchip,rk3368-csi-dphy - rockchip,rk3568-csi-dphy + - rockchip,rk3576-csi-dphy then: properties: resets: -- 2.43.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The Rockchip RK3576 features two MIPI CSI-2 DPHYs compatible with this binding. Unlike the RK3588 variant, each PHY instance only has an APB reset line, so add the new compatible to the single-reset group as well. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml b/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml index 03950b3cad08..92d0c961f4c4 100644 --- a/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml +++ b/Documentation/devicetree/bindings/phy/rockchip-inno-csi-dphy.yaml @@ -21,6 +21,7 @@ properties: - rockchip,rk3326-csi-dphy - rockchip,rk3368-csi-dphy - rockchip,rk3568-csi-dphy + - rockchip,rk3576-csi-dphy - rockchip,rk3588-csi-dphy reg: @@ -89,6 +90,7 @@ allOf: - rockchip,rk3326-csi-dphy - rockchip,rk3368-csi-dphy - rockchip,rk3568-csi-dphy + - rockchip,rk3576-csi-dphy then: properties: resets: -- 2.43.0 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant 2026-08-20 14:01 ` Amin Gattout (?) @ 2026-08-20 18:18 ` Conor Dooley -1 siblings, 0 replies; 26+ messages in thread From: Conor Dooley @ 2026-08-20 18:18 UTC (permalink / raw) To: Amin Gattout Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong, Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy [-- Attachment #1.1: Type: text/plain, Size: 222 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable An explicit note about why it cannot use a fallback would be nice, I thought from the commit message that it'd not have some specific match data. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 170 bytes --] _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant @ 2026-08-20 18:18 ` Conor Dooley 0 siblings, 0 replies; 26+ messages in thread From: Conor Dooley @ 2026-08-20 18:18 UTC (permalink / raw) To: Amin Gattout Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong, Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy [-- Attachment #1.1: Type: text/plain, Size: 222 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable An explicit note about why it cannot use a fallback would be nice, I thought from the commit message that it'd not have some specific match data. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] [-- Attachment #2: Type: text/plain, Size: 112 bytes --] -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant @ 2026-08-20 18:18 ` Conor Dooley 0 siblings, 0 replies; 26+ messages in thread From: Conor Dooley @ 2026-08-20 18:18 UTC (permalink / raw) To: Amin Gattout Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong, Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy [-- Attachment #1: Type: text/plain, Size: 222 bytes --] Acked-by: Conor Dooley <conor.dooley@microchip.com> pw-bot: not-applicable An explicit note about why it cannot use a fallback would be nice, I thought from the commit message that it'd not have some specific match data. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant 2026-08-20 14:01 ` Amin Gattout (?) @ 2026-08-20 14:01 ` Amin Gattout -1 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The two RK3576 MIPI CSI-2 DPHYs can be supported using the existing phy-rockchip-inno-csidphy driver, the notable difference with the RK3588 variant being that each PHY instance only has an APB reset line. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c index c79fb53d8ee5..24aefdcd6361 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c @@ -30,6 +30,7 @@ #define RK3568_GRF_VI_CON0 0x0340 #define RK3568_GRF_VI_CON1 0x0344 +#define RK3576_CSIDPHY_GRF_CON0 0x0000 #define RK3588_CSIDPHY_GRF_CON0 0x0000 /* PHY */ @@ -119,6 +120,12 @@ static const struct dphy_reg rk3568_grf_dphy_regs[] = { [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3568_GRF_VI_CON0, 1, 8), }; +static const struct dphy_reg rk3576_grf_dphy_regs[] = { + [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 0), + [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 4), + [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 1, 8), +}; + static const struct dphy_reg rk3588_grf_dphy_regs[] = { [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 0), [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 4), @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { .resets_num = ARRAY_SIZE(rk3368_reset_names), }; +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { + .pwrctl_offset = -1, + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), + .grf_regs = rk3576_grf_dphy_regs, + .resets = rk3368_reset_names, + .resets_num = ARRAY_SIZE(rk3368_reset_names), +}; + static const struct dphy_drv_data rk3588_mipidphy_drv_data = { .pwrctl_offset = -1, .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, @@ -435,6 +453,10 @@ static const struct of_device_id rockchip_inno_csidphy_match_id[] = { .compatible = "rockchip,rk3568-csi-dphy", .data = &rk3568_mipidphy_drv_data, }, + { + .compatible = "rockchip,rk3576-csi-dphy", + .data = &rk3576_mipidphy_drv_data, + }, { .compatible = "rockchip,rk3588-csi-dphy", .data = &rk3588_mipidphy_drv_data, -- 2.43.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The two RK3576 MIPI CSI-2 DPHYs can be supported using the existing phy-rockchip-inno-csidphy driver, the notable difference with the RK3588 variant being that each PHY instance only has an APB reset line. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c index c79fb53d8ee5..24aefdcd6361 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c @@ -30,6 +30,7 @@ #define RK3568_GRF_VI_CON0 0x0340 #define RK3568_GRF_VI_CON1 0x0344 +#define RK3576_CSIDPHY_GRF_CON0 0x0000 #define RK3588_CSIDPHY_GRF_CON0 0x0000 /* PHY */ @@ -119,6 +120,12 @@ static const struct dphy_reg rk3568_grf_dphy_regs[] = { [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3568_GRF_VI_CON0, 1, 8), }; +static const struct dphy_reg rk3576_grf_dphy_regs[] = { + [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 0), + [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 4), + [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 1, 8), +}; + static const struct dphy_reg rk3588_grf_dphy_regs[] = { [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 0), [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 4), @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { .resets_num = ARRAY_SIZE(rk3368_reset_names), }; +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { + .pwrctl_offset = -1, + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), + .grf_regs = rk3576_grf_dphy_regs, + .resets = rk3368_reset_names, + .resets_num = ARRAY_SIZE(rk3368_reset_names), +}; + static const struct dphy_drv_data rk3588_mipidphy_drv_data = { .pwrctl_offset = -1, .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, @@ -435,6 +453,10 @@ static const struct of_device_id rockchip_inno_csidphy_match_id[] = { .compatible = "rockchip,rk3568-csi-dphy", .data = &rk3568_mipidphy_drv_data, }, + { + .compatible = "rockchip,rk3576-csi-dphy", + .data = &rk3576_mipidphy_drv_data, + }, { .compatible = "rockchip,rk3588-csi-dphy", .data = &rk3588_mipidphy_drv_data, -- 2.43.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The two RK3576 MIPI CSI-2 DPHYs can be supported using the existing phy-rockchip-inno-csidphy driver, the notable difference with the RK3588 variant being that each PHY instance only has an APB reset line. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c index c79fb53d8ee5..24aefdcd6361 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c @@ -30,6 +30,7 @@ #define RK3568_GRF_VI_CON0 0x0340 #define RK3568_GRF_VI_CON1 0x0344 +#define RK3576_CSIDPHY_GRF_CON0 0x0000 #define RK3588_CSIDPHY_GRF_CON0 0x0000 /* PHY */ @@ -119,6 +120,12 @@ static const struct dphy_reg rk3568_grf_dphy_regs[] = { [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3568_GRF_VI_CON0, 1, 8), }; +static const struct dphy_reg rk3576_grf_dphy_regs[] = { + [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 0), + [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 4), + [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 1, 8), +}; + static const struct dphy_reg rk3588_grf_dphy_regs[] = { [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 0), [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 4), @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { .resets_num = ARRAY_SIZE(rk3368_reset_names), }; +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { + .pwrctl_offset = -1, + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), + .grf_regs = rk3576_grf_dphy_regs, + .resets = rk3368_reset_names, + .resets_num = ARRAY_SIZE(rk3368_reset_names), +}; + static const struct dphy_drv_data rk3588_mipidphy_drv_data = { .pwrctl_offset = -1, .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, @@ -435,6 +453,10 @@ static const struct of_device_id rockchip_inno_csidphy_match_id[] = { .compatible = "rockchip,rk3568-csi-dphy", .data = &rk3568_mipidphy_drv_data, }, + { + .compatible = "rockchip,rk3576-csi-dphy", + .data = &rk3576_mipidphy_drv_data, + }, { .compatible = "rockchip,rk3588-csi-dphy", .data = &rk3588_mipidphy_drv_data, -- 2.43.0 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant 2026-08-20 14:01 ` Amin Gattout @ 2026-08-20 14:10 ` sashiko-bot -1 siblings, 0 replies; 26+ messages in thread From: sashiko-bot @ 2026-08-20 14:10 UTC (permalink / raw) To: Amin Gattout Cc: conor+dt, neil.armstrong, linux-phy, vkoul, olteanv, robh, devicetree Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] The driver acquires exclusive control over the PHY resets but never asserts or deasserts them during its lifecycle. -- --- Patch [3]: [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant --- commit f333cc625c5d500108f905c6acdcb428ada8e7d6 Author: Amin Gattout <amin.gattout@gmail.com> phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant This commit adds support for the RK3576 MIPI CSI-2 DPHY to the existing rockchip-inno-csidphy driver. It introduces driver data and register definitions for the new variant. > diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > index c79fb53d8ee5c..24aefdcd63617 100644 > --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c [ ... ] > @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { > .resets_num = ARRAY_SIZE(rk3368_reset_names), > }; > > +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { > + .pwrctl_offset = -1, > + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, > + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, > + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), > + .grf_regs = rk3576_grf_dphy_regs, > + .resets = rk3368_reset_names, > + .resets_num = ARRAY_SIZE(rk3368_reset_names), [Severity: High] This is a pre-existing issue, but does the driver actually use these resets after acquiring them? Looking at rockchip_inno_csidphy_probe(), the driver acquires exclusive control of the resets: drivers/phy/rockchip/phy-rockchip-inno-csidphy.c:rockchip_inno_csidphy_probe() ret = devm_reset_control_bulk_get_exclusive(dev, priv->resets_num, priv->resets); if (ret) { dev_err(dev, "failed to get system reset control\n"); return ret; } However, the driver doesn't appear to ever call reset_control_bulk_deassert() or reset_control_bulk_assert() during its lifecycle (such as in power_on or init paths). Because the driver claims exclusive control, no other subsystem can manage these resets. Will the hardware remain permanently in reset and silently fail to operate if it is left asserted by the bootloader or a previous stage? > +}; > + > static const struct dphy_drv_data rk3588_mipidphy_drv_data = { > .pwrctl_offset = -1, > .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, -- Sashiko AI review · https://sashiko.dev/#/patchset/20260820-rk3576-dphy-v1-0-70e25e8d5e78@gmail.com?part=3 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant @ 2026-08-20 14:10 ` sashiko-bot 0 siblings, 0 replies; 26+ messages in thread From: sashiko-bot @ 2026-08-20 14:10 UTC (permalink / raw) To: Amin Gattout Cc: conor+dt, neil.armstrong, linux-phy, vkoul, olteanv, robh, devicetree Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] The driver acquires exclusive control over the PHY resets but never asserts or deasserts them during its lifecycle. -- --- Patch [3]: [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant --- commit f333cc625c5d500108f905c6acdcb428ada8e7d6 Author: Amin Gattout <amin.gattout@gmail.com> phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant This commit adds support for the RK3576 MIPI CSI-2 DPHY to the existing rockchip-inno-csidphy driver. It introduces driver data and register definitions for the new variant. > diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > index c79fb53d8ee5c..24aefdcd63617 100644 > --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c [ ... ] > @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { > .resets_num = ARRAY_SIZE(rk3368_reset_names), > }; > > +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { > + .pwrctl_offset = -1, > + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, > + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, > + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), > + .grf_regs = rk3576_grf_dphy_regs, > + .resets = rk3368_reset_names, > + .resets_num = ARRAY_SIZE(rk3368_reset_names), [Severity: High] This is a pre-existing issue, but does the driver actually use these resets after acquiring them? Looking at rockchip_inno_csidphy_probe(), the driver acquires exclusive control of the resets: drivers/phy/rockchip/phy-rockchip-inno-csidphy.c:rockchip_inno_csidphy_probe() ret = devm_reset_control_bulk_get_exclusive(dev, priv->resets_num, priv->resets); if (ret) { dev_err(dev, "failed to get system reset control\n"); return ret; } However, the driver doesn't appear to ever call reset_control_bulk_deassert() or reset_control_bulk_assert() during its lifecycle (such as in power_on or init paths). Because the driver claims exclusive control, no other subsystem can manage these resets. Will the hardware remain permanently in reset and silently fail to operate if it is left asserted by the bootloader or a previous stage? > +}; > + > static const struct dphy_drv_data rk3588_mipidphy_drv_data = { > .pwrctl_offset = -1, > .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, -- Sashiko AI review · https://sashiko.dev/#/patchset/20260820-rk3576-dphy-v1-0-70e25e8d5e78@gmail.com?part=3 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant 2026-08-20 14:01 ` Amin Gattout (?) @ 2026-09-07 11:02 ` Michael Riesch -1 siblings, 0 replies; 26+ messages in thread From: Michael Riesch @ 2026-09-07 11:02 UTC (permalink / raw) To: Amin Gattout, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy Hi Amin, Thanks for your patches! On 8/20/26 16:01, Amin Gattout wrote: > The two RK3576 MIPI CSI-2 DPHYs can be supported using the existing > phy-rockchip-inno-csidphy driver, the notable difference with the > RK3588 variant being that each PHY instance only has an APB reset > line. > > Signed-off-by: Amin Gattout <amin.gattout@gmail.com> > --- > drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > index c79fb53d8ee5..24aefdcd6361 100644 > --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > @@ -30,6 +30,7 @@ > #define RK3568_GRF_VI_CON0 0x0340 > #define RK3568_GRF_VI_CON1 0x0344 > > +#define RK3576_CSIDPHY_GRF_CON0 0x0000 This, ... > #define RK3588_CSIDPHY_GRF_CON0 0x0000 > > /* PHY */ > @@ -119,6 +120,12 @@ static const struct dphy_reg rk3568_grf_dphy_regs[] = { > [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3568_GRF_VI_CON0, 1, 8), > }; > > +static const struct dphy_reg rk3576_grf_dphy_regs[] = { > + [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 0), > + [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 4), > + [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 1, 8), > +}; > + and this look pretty identical to RK3588, can't we just drop these two and ... > static const struct dphy_reg rk3588_grf_dphy_regs[] = { > [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 0), > [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 4), > @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { > .resets_num = ARRAY_SIZE(rk3368_reset_names), > }; > > +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { > + .pwrctl_offset = -1, > + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, > + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, > + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), > + .grf_regs = rk3576_grf_dphy_regs, ... use rk3588_grf_dphy_regs here? > + .resets = rk3368_reset_names, So that the reset names are the only difference to RK3588 (which seems to be the case as per commit message)? > + .resets_num = ARRAY_SIZE(rk3368_reset_names), > +}; > + > static const struct dphy_drv_data rk3588_mipidphy_drv_data = { > .pwrctl_offset = -1, > .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > @@ -435,6 +453,10 @@ static const struct of_device_id rockchip_inno_csidphy_match_id[] = { > .compatible = "rockchip,rk3568-csi-dphy", > .data = &rk3568_mipidphy_drv_data, > }, > + { > + .compatible = "rockchip,rk3576-csi-dphy", > + .data = &rk3576_mipidphy_drv_data, > + }, > { > .compatible = "rockchip,rk3588-csi-dphy", > .data = &rk3588_mipidphy_drv_data, > Apart from that LGTM! Best regards, Michael _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant @ 2026-09-07 11:02 ` Michael Riesch 0 siblings, 0 replies; 26+ messages in thread From: Michael Riesch @ 2026-09-07 11:02 UTC (permalink / raw) To: Amin Gattout, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy Hi Amin, Thanks for your patches! On 8/20/26 16:01, Amin Gattout wrote: > The two RK3576 MIPI CSI-2 DPHYs can be supported using the existing > phy-rockchip-inno-csidphy driver, the notable difference with the > RK3588 variant being that each PHY instance only has an APB reset > line. > > Signed-off-by: Amin Gattout <amin.gattout@gmail.com> > --- > drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > index c79fb53d8ee5..24aefdcd6361 100644 > --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > @@ -30,6 +30,7 @@ > #define RK3568_GRF_VI_CON0 0x0340 > #define RK3568_GRF_VI_CON1 0x0344 > > +#define RK3576_CSIDPHY_GRF_CON0 0x0000 This, ... > #define RK3588_CSIDPHY_GRF_CON0 0x0000 > > /* PHY */ > @@ -119,6 +120,12 @@ static const struct dphy_reg rk3568_grf_dphy_regs[] = { > [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3568_GRF_VI_CON0, 1, 8), > }; > > +static const struct dphy_reg rk3576_grf_dphy_regs[] = { > + [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 0), > + [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 4), > + [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 1, 8), > +}; > + and this look pretty identical to RK3588, can't we just drop these two and ... > static const struct dphy_reg rk3588_grf_dphy_regs[] = { > [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 0), > [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 4), > @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { > .resets_num = ARRAY_SIZE(rk3368_reset_names), > }; > > +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { > + .pwrctl_offset = -1, > + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, > + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, > + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), > + .grf_regs = rk3576_grf_dphy_regs, ... use rk3588_grf_dphy_regs here? > + .resets = rk3368_reset_names, So that the reset names are the only difference to RK3588 (which seems to be the case as per commit message)? > + .resets_num = ARRAY_SIZE(rk3368_reset_names), > +}; > + > static const struct dphy_drv_data rk3588_mipidphy_drv_data = { > .pwrctl_offset = -1, > .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > @@ -435,6 +453,10 @@ static const struct of_device_id rockchip_inno_csidphy_match_id[] = { > .compatible = "rockchip,rk3568-csi-dphy", > .data = &rk3568_mipidphy_drv_data, > }, > + { > + .compatible = "rockchip,rk3576-csi-dphy", > + .data = &rk3576_mipidphy_drv_data, > + }, > { > .compatible = "rockchip,rk3588-csi-dphy", > .data = &rk3588_mipidphy_drv_data, > Apart from that LGTM! Best regards, Michael -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant @ 2026-09-07 11:02 ` Michael Riesch 0 siblings, 0 replies; 26+ messages in thread From: Michael Riesch @ 2026-09-07 11:02 UTC (permalink / raw) To: Amin Gattout, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy Hi Amin, Thanks for your patches! On 8/20/26 16:01, Amin Gattout wrote: > The two RK3576 MIPI CSI-2 DPHYs can be supported using the existing > phy-rockchip-inno-csidphy driver, the notable difference with the > RK3588 variant being that each PHY instance only has an APB reset > line. > > Signed-off-by: Amin Gattout <amin.gattout@gmail.com> > --- > drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > index c79fb53d8ee5..24aefdcd6361 100644 > --- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > +++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c > @@ -30,6 +30,7 @@ > #define RK3568_GRF_VI_CON0 0x0340 > #define RK3568_GRF_VI_CON1 0x0344 > > +#define RK3576_CSIDPHY_GRF_CON0 0x0000 This, ... > #define RK3588_CSIDPHY_GRF_CON0 0x0000 > > /* PHY */ > @@ -119,6 +120,12 @@ static const struct dphy_reg rk3568_grf_dphy_regs[] = { > [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3568_GRF_VI_CON0, 1, 8), > }; > > +static const struct dphy_reg rk3576_grf_dphy_regs[] = { > + [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 0), > + [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 4, 4), > + [GRF_DPHY_CSIPHY_CLKLANE_EN] = PHY_REG(RK3576_CSIDPHY_GRF_CON0, 1, 8), > +}; > + and this look pretty identical to RK3588, can't we just drop these two and ... > static const struct dphy_reg rk3588_grf_dphy_regs[] = { > [GRF_DPHY_CSIPHY_FORCERXMODE] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 0), > [GRF_DPHY_CSIPHY_DATALANE_EN] = PHY_REG(RK3588_CSIDPHY_GRF_CON0, 4, 4), > @@ -403,6 +410,17 @@ static const struct dphy_drv_data rk3568_mipidphy_drv_data = { > .resets_num = ARRAY_SIZE(rk3368_reset_names), > }; > > +static const struct dphy_drv_data rk3576_mipidphy_drv_data = { > + .pwrctl_offset = -1, > + .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > + .calib_offset = RK3568_CSIDPHY_CLK_CALIB_EN, > + .hsfreq_ranges = rk1808_mipidphy_hsfreq_ranges, > + .num_hsfreq_ranges = ARRAY_SIZE(rk1808_mipidphy_hsfreq_ranges), > + .grf_regs = rk3576_grf_dphy_regs, ... use rk3588_grf_dphy_regs here? > + .resets = rk3368_reset_names, So that the reset names are the only difference to RK3588 (which seems to be the case as per commit message)? > + .resets_num = ARRAY_SIZE(rk3368_reset_names), > +}; > + > static const struct dphy_drv_data rk3588_mipidphy_drv_data = { > .pwrctl_offset = -1, > .ths_settle_offset = RK3568_CSIDPHY_CLK_WR_THS_SETTLE, > @@ -435,6 +453,10 @@ static const struct of_device_id rockchip_inno_csidphy_match_id[] = { > .compatible = "rockchip,rk3568-csi-dphy", > .data = &rk3568_mipidphy_drv_data, > }, > + { > + .compatible = "rockchip,rk3576-csi-dphy", > + .data = &rk3576_mipidphy_drv_data, > + }, > { > .compatible = "rockchip,rk3588-csi-dphy", > .data = &rk3588_mipidphy_drv_data, > Apart from that LGTM! Best regards, Michael ^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 2026-08-20 14:01 ` Amin Gattout (?) @ 2026-08-20 14:01 ` Amin Gattout -1 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The Rockchip RK3576 features two MIPI CSI-2 DPHYs. Add the device tree nodes for them. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- arch/arm64/boot/dts/rockchip/rk3576.dtsi | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi index b0c0d3c8b1b1..b7a527614243 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi @@ -973,11 +973,21 @@ sdgmac_grf: syscon@26038000 { reg = <0x0 0x26038000 0x0 0x1000>; }; + csidphy0_grf: syscon@2603a000 { + compatible = "rockchip,rk3576-csidphy-grf", "syscon"; + reg = <0x0 0x2603a000 0x0 0x2000>; + }; + ioc_grf: syscon@26040000 { compatible = "rockchip,rk3576-ioc-grf", "syscon", "simple-mfd"; reg = <0x0 0x26040000 0x0 0xc000>; }; + csidphy1_grf: syscon@2604c000 { + compatible = "rockchip,rk3576-csidphy-grf", "syscon"; + reg = <0x0 0x2604c000 0x0 0x2000>; + }; + cru: clock-controller@27200000 { compatible = "rockchip,rk3576-cru"; reg = <0x0 0x27200000 0x0 0x50000>; @@ -2848,6 +2858,30 @@ hdptxphy: hdmiphy@2b000000 { status = "disabled"; }; + csi_dphy0: phy@2b030000 { + compatible = "rockchip,rk3576-csi-dphy"; + reg = <0x0 0x2b030000 0x0 0x10000>; + clocks = <&cru PCLK_CSIDPHY>; + clock-names = "pclk"; + #phy-cells = <0>; + resets = <&cru SRST_P_CSIPHY>; + reset-names = "apb"; + rockchip,grf = <&csidphy0_grf>; + status = "disabled"; + }; + + csi_dphy1: phy@2b070000 { + compatible = "rockchip,rk3576-csi-dphy"; + reg = <0x0 0x2b070000 0x0 0x10000>; + clocks = <&cru PCLK_CSIDPHY1>; + clock-names = "pclk"; + #phy-cells = <0>; + resets = <&cru SRST_P_CSIDPHY1>; + reset-names = "apb"; + rockchip,grf = <&csidphy1_grf>; + status = "disabled"; + }; + sram: sram@3ff88000 { compatible = "mmio-sram"; reg = <0x0 0x3ff88000 0x0 0x78000>; -- 2.43.0 ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The Rockchip RK3576 features two MIPI CSI-2 DPHYs. Add the device tree nodes for them. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- arch/arm64/boot/dts/rockchip/rk3576.dtsi | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi index b0c0d3c8b1b1..b7a527614243 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi @@ -973,11 +973,21 @@ sdgmac_grf: syscon@26038000 { reg = <0x0 0x26038000 0x0 0x1000>; }; + csidphy0_grf: syscon@2603a000 { + compatible = "rockchip,rk3576-csidphy-grf", "syscon"; + reg = <0x0 0x2603a000 0x0 0x2000>; + }; + ioc_grf: syscon@26040000 { compatible = "rockchip,rk3576-ioc-grf", "syscon", "simple-mfd"; reg = <0x0 0x26040000 0x0 0xc000>; }; + csidphy1_grf: syscon@2604c000 { + compatible = "rockchip,rk3576-csidphy-grf", "syscon"; + reg = <0x0 0x2604c000 0x0 0x2000>; + }; + cru: clock-controller@27200000 { compatible = "rockchip,rk3576-cru"; reg = <0x0 0x27200000 0x0 0x50000>; @@ -2848,6 +2858,30 @@ hdptxphy: hdmiphy@2b000000 { status = "disabled"; }; + csi_dphy0: phy@2b030000 { + compatible = "rockchip,rk3576-csi-dphy"; + reg = <0x0 0x2b030000 0x0 0x10000>; + clocks = <&cru PCLK_CSIDPHY>; + clock-names = "pclk"; + #phy-cells = <0>; + resets = <&cru SRST_P_CSIPHY>; + reset-names = "apb"; + rockchip,grf = <&csidphy0_grf>; + status = "disabled"; + }; + + csi_dphy1: phy@2b070000 { + compatible = "rockchip,rk3576-csi-dphy"; + reg = <0x0 0x2b070000 0x0 0x10000>; + clocks = <&cru PCLK_CSIDPHY1>; + clock-names = "pclk"; + #phy-cells = <0>; + resets = <&cru SRST_P_CSIDPHY1>; + reset-names = "apb"; + rockchip,grf = <&csidphy1_grf>; + status = "disabled"; + }; + sram: sram@3ff88000 { compatible = "mmio-sram"; reg = <0x0 0x3ff88000 0x0 0x78000>; -- 2.43.0 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip ^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 @ 2026-08-20 14:01 ` Amin Gattout 0 siblings, 0 replies; 26+ messages in thread From: Amin Gattout @ 2026-08-20 14:01 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner, Vinod Koul, Neil Armstrong Cc: Michael Riesch, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, linux-phy, Amin Gattout The Rockchip RK3576 features two MIPI CSI-2 DPHYs. Add the device tree nodes for them. Signed-off-by: Amin Gattout <amin.gattout@gmail.com> --- arch/arm64/boot/dts/rockchip/rk3576.dtsi | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi index b0c0d3c8b1b1..b7a527614243 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi @@ -973,11 +973,21 @@ sdgmac_grf: syscon@26038000 { reg = <0x0 0x26038000 0x0 0x1000>; }; + csidphy0_grf: syscon@2603a000 { + compatible = "rockchip,rk3576-csidphy-grf", "syscon"; + reg = <0x0 0x2603a000 0x0 0x2000>; + }; + ioc_grf: syscon@26040000 { compatible = "rockchip,rk3576-ioc-grf", "syscon", "simple-mfd"; reg = <0x0 0x26040000 0x0 0xc000>; }; + csidphy1_grf: syscon@2604c000 { + compatible = "rockchip,rk3576-csidphy-grf", "syscon"; + reg = <0x0 0x2604c000 0x0 0x2000>; + }; + cru: clock-controller@27200000 { compatible = "rockchip,rk3576-cru"; reg = <0x0 0x27200000 0x0 0x50000>; @@ -2848,6 +2858,30 @@ hdptxphy: hdmiphy@2b000000 { status = "disabled"; }; + csi_dphy0: phy@2b030000 { + compatible = "rockchip,rk3576-csi-dphy"; + reg = <0x0 0x2b030000 0x0 0x10000>; + clocks = <&cru PCLK_CSIDPHY>; + clock-names = "pclk"; + #phy-cells = <0>; + resets = <&cru SRST_P_CSIPHY>; + reset-names = "apb"; + rockchip,grf = <&csidphy0_grf>; + status = "disabled"; + }; + + csi_dphy1: phy@2b070000 { + compatible = "rockchip,rk3576-csi-dphy"; + reg = <0x0 0x2b070000 0x0 0x10000>; + clocks = <&cru PCLK_CSIDPHY1>; + clock-names = "pclk"; + #phy-cells = <0>; + resets = <&cru SRST_P_CSIDPHY1>; + reset-names = "apb"; + rockchip,grf = <&csidphy1_grf>; + status = "disabled"; + }; + sram: sram@3ff88000 { compatible = "mmio-sram"; reg = <0x0 0x3ff88000 0x0 0x78000>; -- 2.43.0 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 26+ messages in thread
end of thread, other threads:[~2026-09-07 11:02 UTC | newest] Thread overview: 26+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-08-20 14:01 [PATCH 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 14:01 ` [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 18:16 ` Conor Dooley 2026-08-20 18:16 ` Conor Dooley 2026-08-20 18:16 ` Conor Dooley 2026-08-20 14:01 ` [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 18:18 ` Conor Dooley 2026-08-20 18:18 ` Conor Dooley 2026-08-20 18:18 ` Conor Dooley 2026-08-20 14:01 ` [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for " Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 14:10 ` sashiko-bot 2026-08-20 14:10 ` sashiko-bot 2026-09-07 11:02 ` Michael Riesch 2026-09-07 11:02 ` Michael Riesch 2026-09-07 11:02 ` Michael Riesch 2026-08-20 14:01 ` [PATCH 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 Amin Gattout 2026-08-20 14:01 ` Amin Gattout 2026-08-20 14:01 ` Amin Gattout
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.