* [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon
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 18:16 ` Conor Dooley
2026-08-20 14:01 ` [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant Amin Gattout
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ 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] 7+ messages in thread* Re: [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon
2026-08-20 14:01 ` [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout
@ 2026-08-20 18:16 ` Conor Dooley
0 siblings, 0 replies; 7+ 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] 7+ messages in thread
* [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant
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 ` [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout
@ 2026-08-20 14:01 ` Amin Gattout
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 ` [PATCH 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 Amin Gattout
3 siblings, 1 reply; 7+ 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] 7+ messages in thread* Re: [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant
2026-08-20 14:01 ` [PATCH 2/4] dt-bindings: phy: rockchip-inno-csi-dphy: add rk3576 variant Amin Gattout
@ 2026-08-20 18:18 ` Conor Dooley
0 siblings, 0 replies; 7+ 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] 7+ messages in thread
* [PATCH 3/4] phy: rockchip: phy-rockchip-inno-csidphy: add support for rk3576 variant
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 ` [PATCH 1/4] dt-bindings: soc: rockchip: add rk3576 csidphy grf syscon Amin Gattout
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 ` [PATCH 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576 Amin Gattout
3 siblings, 0 replies; 7+ 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] 7+ messages in thread* [PATCH 4/4] arm64: dts: rockchip: add csi dphy nodes to rk3576
2026-08-20 14:01 [PATCH 0/4] phy: rockchip: add support for the RK3576 MIPI CSI-2 DPHYs Amin Gattout
` (2 preceding siblings ...)
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
3 siblings, 0 replies; 7+ 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] 7+ messages in thread