--- a/src/LINUX/android/kernel/drivers/media/platform/msm/camera_v2/sensor/csid/msm_csid.c
+++ b/src/LINUX/android/kernel/drivers/media/platform/msm/camera_v2/sensor/csid/msm_csid.c
@@ -34,7 +34,8 @@
#define CSID_VERSION_V40 0x40000000
#define MSM_CSID_DRV_NAME "msm_csid"
-#define DBG_CSID 0
+#define CONFIG_MSMB_CAMERA_DEBUG
+#define DBG_CSID 1
#define TRUE 1
#define FALSE 0
@@ -58,6 +59,33 @@ static struct camera_vreg_t csid_8960_vreg_info[] = {
{"mipi_csi_vdd", REG_LDO, 1200000, 1200000, 20000},
};
+static void msm_csid_io_dump(void __iomem *addr, int size)
+{
+char line_str[128], *p_str;
+int i;
+u32 *p = (u32 *) addr;
+u32 data;
+pr_err("%s: %p %dn", __func__, addr, size);
+line_str[0] = '0';
+p_str = line_str;
+for (i = 0; i < size/4; i++) {
+if (i % 4 == 0) {
+snprintf(p_str, 12, "%p: ", p);
+p_str += 10;
+}
+data = readl_relaxed(p++);
+snprintf(p_str, 12, "%08x ", data);
+p_str += 9;
+if ((i + 1) % 4 == 0) {
+pr_err("%sn", line_str);
+line_str[0] = '0';
+p_str = line_str;
+}
+}
+if (line_str[0] != '0')
+pr_err("%sn", line_str);
+}
+
static int msm_csid_cid_lut(
struct msm_camera_csid_lut_params *csid_lut_params,
struct csid_device *csid_dev)
@@ -470,6 +498,8 @@ static int32_t msm_csid_cmd(struct csid_device *csid_dev, void *arg)
rc = msm_csid_config(csid_dev, &csid_params);
for (i--; i >= 0; i--)
kfree(csid_params.lut_params.vc_cfg[i]);
+ pr_err("[Beyond]CSID register dumpn");
+ msm_csid_io_dump(csid_dev->base, (int)resource_size(csid_dev->mem));
break;
}
case CSID_RELEASE:
--- a/src/LINUX/android/kernel/drivers/media/platform/msm/camera_v2/sensor/csiphy/msm_csiphy.c
+++ b/src/LINUX/android/kernel/drivers/media/platform/msm/camera_v2/sensor/csiphy/msm_csiphy.c
@@ -26,7 +26,8 @@
#include "include/msm_csiphy_3_1_hwreg.h"
#include "include/msm_csiphy_3_2_hwreg.h"
-#define DBG_CSIPHY 0
+#define CONFIG_MSMB_CAMERA_DEBUG
+#define DBG_CSIPHY 1
#define V4L2_IDENT_CSIPHY 50003
#define CSIPHY_VERSION_V22 0x01
@@ -46,6 +47,33 @@
#endif
static struct msm_cam_clk_info csiphy_clk_info[CSIPHY_NUM_CLK_MAX];
+static void msm_csiphy_io_dump(void __iomem *addr, int size)
+{
+char line_str[128], *p_str;
+int i;
+u32 *p = (u32 *) addr;
+u32 data;
+pr_err("%s: %p %dn", __func__, addr, size);
+line_str[0] = '0';
+p_str = line_str;
+for (i = 0; i < size/4; i++) {
+if (i % 4 == 0) {
+snprintf(p_str, 12, "%p: ", p);
+p_str += 10;
+}
+data = readl_relaxed(p++);
+snprintf(p_str, 12, "%08x ", data);
+p_str += 9;
+if ((i + 1) % 4 == 0) {
+pr_err("%sn", line_str);
+line_str[0] = '0';
+p_str = line_str;
+}
+}
+if (line_str[0] != '0')
+pr_err("%sn", line_str);
+}
+
static int msm_csiphy_lane_config(struct csiphy_device *csiphy_dev,
struct msm_camera_csiphy_params *csiphy_params)
{
@@ -591,6 +619,8 @@ static int32_t msm_csiphy_cmd(struct csiphy_device *csiphy_dev, void *arg)
break;
}
rc = msm_csiphy_lane_config(csiphy_dev, &csiphy_params);
+ pr_err("[Beyond]CSIPHY register dumpn");
+ msm_csiphy_io_dump(csiphy_dev->base, (int)resource_size(csiphy_dev->mem));
break;
case CSIPHY_RELEASE:
if (copy_from_user(&csi_lane_params,