|
@@ -9,6 +9,7 @@
|
|
#include "cam_csiphy_core.h"
|
|
#include "cam_csiphy_core.h"
|
|
#include <media/cam_sensor.h>
|
|
#include <media/cam_sensor.h>
|
|
#include "camera_main.h"
|
|
#include "camera_main.h"
|
|
|
|
+#include <dt-bindings/msm-camera.h>
|
|
|
|
|
|
#define CSIPHY_DEBUGFS_NAME_MAX_SIZE 10
|
|
#define CSIPHY_DEBUGFS_NAME_MAX_SIZE 10
|
|
static struct dentry *root_dentry;
|
|
static struct dentry *root_dentry;
|
|
@@ -248,6 +249,16 @@ static int cam_csiphy_component_bind(struct device *dev,
|
|
goto csiphy_no_resource;
|
|
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",
|
|
|
|
+ new_csiphy_dev->soc_info.index);
|
|
|
|
+ goto csiphy_no_resource;
|
|
|
|
+ }
|
|
|
|
+
|
|
new_csiphy_dev->v4l2_dev_str.internal_ops =
|
|
new_csiphy_dev->v4l2_dev_str.internal_ops =
|
|
&csiphy_subdev_intern_ops;
|
|
&csiphy_subdev_intern_ops;
|
|
new_csiphy_dev->v4l2_dev_str.ops =
|
|
new_csiphy_dev->v4l2_dev_str.ops =
|