mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs
@ 2026-09-15 10:42 Amin Gattout
  2026-09-15 10:42 ` [PATCH v2 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Amin Gattout @ 2026-09-15 10:42 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, Conor Dooley, 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!

---
Changes in v2:
- Patch 3: drop the RK3576 GRF register table, which duplicated the
  RK3588 one, and reuse rk3588_grf_dphy_regs instead, so that the reset
  names are now the only difference between the two variants (Michael)
- Patch 3: reword the commit message accordingly
- Patch 2: spell out in the commit message why the RK3576 compatible
  cannot use a fallback (Conor)
- Collected Acked-by from Conor on patches 1 and 2
- Link to v1: https://patch.msgid.link/20260820-rk3576-dphy-v1-0-70e25e8d5e78@gmail.com

---
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   | 15 ++++++++++
 4 files changed, 52 insertions(+)
---
base-commit: bd5f485f3f026225b86573e559af0b7254ef4184
change-id: 20260819-rk3576-dphy-2304f848215b

Best regards,
--  
Amin Gattout <amin.gattout@gmail.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon
  2026-09-15 10:42 [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout
@ 2026-09-15 10:42 ` Amin Gattout
  2026-09-15 10:42 ` [PATCH v2 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant Amin Gattout
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Amin Gattout @ 2026-09-15 10:42 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, Conor Dooley, Amin Gattout

Document the syscon compatible for the General Register Files of the
RK3576 MIPI CSI-2 DPHYs.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
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	[flat|nested] 6+ messages in thread

* [PATCH v2 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant
  2026-09-15 10:42 [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout
  2026-09-15 10:42 ` [PATCH v2 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout
@ 2026-09-15 10:42 ` Amin Gattout
  2026-09-15 10:42 ` [PATCH v2 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for " Amin Gattout
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Amin Gattout @ 2026-09-15 10:42 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, Conor Dooley, 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.

No fallback compatible is used because the RK3576 DPHYs match neither
existing variant: their control bits sit in a dedicated CSI-DPHY GRF as
on RK3588 (rather than in the shared VI GRF used on RK3568), while only
a single APB reset is wired up, as on RK3568. Falling back to
"rockchip,rk3588-csi-dphy" would make the driver request a second,
non-existent reset, and falling back to "rockchip,rk3568-csi-dphy"
would make it write to the wrong GRF offsets, so dedicated match data
is required.

Acked-by: Conor Dooley <conor.dooley@microchip.com>
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	[flat|nested] 6+ messages in thread

* [PATCH v2 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant
  2026-09-15 10:42 [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout
  2026-09-15 10:42 ` [PATCH v2 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout
  2026-09-15 10:42 ` [PATCH v2 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant Amin Gattout
@ 2026-09-15 10:42 ` Amin Gattout
  2026-09-15 10:42 ` [PATCH v2 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 Amin Gattout
  2026-09-18 15:07 ` [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Michael Riesch
  4 siblings, 0 replies; 6+ messages in thread
From: Amin Gattout @ 2026-09-15 10:42 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, but they need their own driver data:
as on RK3588 the GRF control bits live in a dedicated CSI-DPHY GRF at
offset 0x0, while each PHY instance only has an APB reset line, as on
RK3568.

Signed-off-by: Amin Gattout <amin.gattout@gmail.com>
---
 drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
index c79fb53d8ee5..177beb685f70 100644
--- a/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-csidphy.c
@@ -403,6 +403,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 = rk3588_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 +446,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	[flat|nested] 6+ messages in thread

* [PATCH v2 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576
  2026-09-15 10:42 [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout
                   ` (2 preceding siblings ...)
  2026-09-15 10:42 ` [PATCH v2 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for " Amin Gattout
@ 2026-09-15 10:42 ` Amin Gattout
  2026-09-18 15:07 ` [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Michael Riesch
  4 siblings, 0 replies; 6+ messages in thread
From: Amin Gattout @ 2026-09-15 10:42 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	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs
  2026-09-15 10:42 [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout
                   ` (3 preceding siblings ...)
  2026-09-15 10:42 ` [PATCH v2 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 Amin Gattout
@ 2026-09-18 15:07 ` Michael Riesch
  4 siblings, 0 replies; 6+ messages in thread
From: Michael Riesch @ 2026-09-18 15:07 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, Conor Dooley

Hi Amin,

Thanks for your work, very nice!

On 9/15/26 12:42, Amin Gattout wrote:
> 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!
> 
> ---
> Changes in v2:
> - Patch 3: drop the RK3576 GRF register table, which duplicated the
>   RK3588 one, and reuse rk3588_grf_dphy_regs instead, so that the reset
>   names are now the only difference between the two variants (Michael)
> - Patch 3: reword the commit message accordingly
> - Patch 2: spell out in the commit message why the RK3576 compatible
>   cannot use a fallback (Conor)
> - Collected Acked-by from Conor on patches 1 and 2
> - Link to v1: https://patch.msgid.link/20260820-rk3576-dphy-v1-0-70e25e8d5e78@gmail.com
> 
> ---
> 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


For the complete series:

Reviewed-by: Michael Riesch <michael.riesch@collabora.com>

Best regards,
Michael

> 
>  .../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   | 15 ++++++++++
>  4 files changed, 52 insertions(+)
> ---
> base-commit: bd5f485f3f026225b86573e559af0b7254ef4184
> change-id: 20260819-rk3576-dphy-2304f848215b
> 
> Best regards,
> --  
> Amin Gattout <amin.gattout@gmail.com>
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-09-18 15:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-15 10:42 [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout
2026-09-15 10:42 ` [PATCH v2 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout
2026-09-15 10:42 ` [PATCH v2 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant Amin Gattout
2026-09-15 10:42 ` [PATCH v2 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for " Amin Gattout
2026-09-15 10:42 ` [PATCH v2 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 Amin Gattout
2026-09-18 15:07 ` [PATCH v2 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Michael Riesch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®