[PATCH 9/9] phy: qcom-mipi-csi2: accept PHY_QCOM_CSI2_MODE_DPHY phy-cell
From: Ramshouriesh
Date: Wed Jun 10 2026 - 07:21:56 EST
qcom_csi2_phy_xlate() validates the phy-cell against the generic
PHY_TYPE_DPHY (10) instead of PHY_QCOM_CSI2_MODE_DPHY (0), so a correct
DPHY request from the camss DTSI is rejected with -EOPNOTSUPP and camss
probe fails with -95.
Include the CSI2 mode header and check the phy-cell against
PHY_QCOM_CSI2_MODE_DPHY.
Signed-off-by: Ramshouriesh <rshouriesh@xxxxxxxxx>
---
drivers/phy/qualcomm/phy-qcom-mipi-csi2-core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/phy/qualcomm/phy-qcom-mipi-csi2-core.c b/drivers/phy/qualcomm/phy-qcom-mipi-csi2-core.c
index dfeff863a406..857c54cbaea6 100644
--- a/drivers/phy/qualcomm/phy-qcom-mipi-csi2-core.c
+++ b/drivers/phy/qualcomm/phy-qcom-mipi-csi2-core.c
@@ -3,6 +3,7 @@
* Copyright (c) 2025, Linaro Ltd.
*/
#include <dt-bindings/phy/phy.h>
+#include <dt-bindings/phy/phy-qcom-mipi-csi2.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/err.h>
@@ -188,7 +189,7 @@ static struct phy *qcom_csi2_phy_xlate(struct device *dev,
{
struct mipi_csi2phy_device *csi2phy = dev_get_drvdata(dev);
- if (args->args[0] != PHY_TYPE_DPHY) {
+ if (args->args[0] != PHY_QCOM_CSI2_MODE_DPHY) {
dev_err(csi2phy->dev, "mode %d -EOPNOTSUPP\n", args->args[0]);
return ERR_PTR(-EOPNOTSUPP);
}
--
2.53.0