diff --git a/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c b/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c index 95a2ce931c0e..fbe53591fc6e 100644 --- a/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c +++ b/drivers/cam_sensor_module/cam_csiphy/cam_csiphy_dev.c @@ -8,6 +8,7 @@ #include "cam_csiphy_soc.h" #include "cam_csiphy_core.h" #include +#include #include "camera_main.h" static struct dentry *root_dentry; @@ -209,6 +210,15 @@ static int cam_csiphy_component_bind(struct device *dev, CAM_ERR(CAM_CSIPHY, "DT parsing failed: %d", rc); goto csiphy_no_resource; } + /* validate PHY FUSE only for CSIPHY4 */ + if ((new_csiphy_dev->soc_info.index == 4) && + !cam_cpas_is_feature_supported( + CAM_CPAS_CSIPHY_FUSE, + (1 << new_csiphy_dev->soc_info.index), NULL)) { + CAM_ERR(CAM_CSIPHY, "PHY%d is not supported: %d", + new_csiphy_dev->soc_info.index); + goto csiphy_no_resource; + } new_csiphy_dev->v4l2_dev_str.internal_ops = &csiphy_subdev_intern_ops;