Dedicated MIPI calibration block appears only in Tegra114, before Tegra114
all MIPI calibration pads were part of VI block.

Signed-off-by: Svyatoslav Ryhel <clamo...@gmail.com>
---
 drivers/staging/media/tegra-video/csi.c      | 12 +++++++-----
 drivers/staging/media/tegra-video/csi.h      |  1 +
 drivers/staging/media/tegra-video/tegra210.c |  1 +
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/media/tegra-video/csi.c 
b/drivers/staging/media/tegra-video/csi.c
index 74c92db1032f..2f9907a20db1 100644
--- a/drivers/staging/media/tegra-video/csi.c
+++ b/drivers/staging/media/tegra-video/csi.c
@@ -485,11 +485,13 @@ static int tegra_csi_channel_alloc(struct tegra_csi *csi,
        if (IS_ENABLED(CONFIG_VIDEO_TEGRA_TPG))
                return 0;
 
-       chan->mipi = tegra_mipi_request(csi->dev, node);
-       if (IS_ERR(chan->mipi)) {
-               ret = PTR_ERR(chan->mipi);
-               chan->mipi = NULL;
-               dev_err(csi->dev, "failed to get mipi device: %d\n", ret);
+       if (csi->soc->has_mipi_calibration) {
+               chan->mipi = tegra_mipi_request(csi->dev, node);
+               if (IS_ERR(chan->mipi)) {
+                       ret = PTR_ERR(chan->mipi);
+                       chan->mipi = NULL;
+                       dev_err(csi->dev, "failed to get mipi device: %d\n", 
ret);
+               }
        }
 
        return ret;
diff --git a/drivers/staging/media/tegra-video/csi.h 
b/drivers/staging/media/tegra-video/csi.h
index 3ed2dbc73ce9..400b913bb1cb 100644
--- a/drivers/staging/media/tegra-video/csi.h
+++ b/drivers/staging/media/tegra-video/csi.h
@@ -128,6 +128,7 @@ struct tegra_csi_soc {
        unsigned int num_clks;
        const struct tpg_framerate *tpg_frmrate_table;
        unsigned int tpg_frmrate_table_size;
+       bool has_mipi_calibration;
 };
 
 /**
diff --git a/drivers/staging/media/tegra-video/tegra210.c 
b/drivers/staging/media/tegra-video/tegra210.c
index da99f19a39e7..305472e94af4 100644
--- a/drivers/staging/media/tegra-video/tegra210.c
+++ b/drivers/staging/media/tegra-video/tegra210.c
@@ -1218,4 +1218,5 @@ const struct tegra_csi_soc tegra210_csi_soc = {
        .num_clks = ARRAY_SIZE(tegra210_csi_cil_clks),
        .tpg_frmrate_table = tegra210_tpg_frmrate_table,
        .tpg_frmrate_table_size = ARRAY_SIZE(tegra210_tpg_frmrate_table),
+       .has_mipi_calibration = true,
 };
-- 
2.48.1

Reply via email to