* [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