summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/starfive/v4l2_driver/Readme.txt5
-rw-r--r--drivers/media/platform/starfive/v4l2_driver/stf_common.h2
-rw-r--r--drivers/media/platform/starfive/v4l2_driver/stf_csi.c6
-rw-r--r--drivers/media/platform/starfive/v4l2_driver/stf_csi.h1
-rw-r--r--drivers/media/platform/starfive/v4l2_driver/stf_csi_hw_ops.c18
-rw-r--r--drivers/media/platform/starfive/v4l2_driver/stf_csiphy_hw_ops.c12
6 files changed, 11 insertions, 33 deletions
diff --git a/drivers/media/platform/starfive/v4l2_driver/Readme.txt b/drivers/media/platform/starfive/v4l2_driver/Readme.txt
index fc3dad63d10f..b291f1cb3a7b 100644
--- a/drivers/media/platform/starfive/v4l2_driver/Readme.txt
+++ b/drivers/media/platform/starfive/v4l2_driver/Readme.txt
@@ -4,8 +4,7 @@
ensure linux/arch/riscv/configs/starfive_jh7110_defconfig:
CONFIG_VIDEO_STF_VIN=y
-CONFIG_VIN_SENSOR_SC2235=y
-CONFIG_VIN_SENSOR_OV4689=y
+CONFIG_VIN_SENSOR_IMX219=y
-Only support the lane0/lane5 of dphy as clock lane, lane1/lane2/lane3/lane4
+Only support the lane4/lane5 of dphy as clock lane, lane0/lane1/lane2/lane3
as data lane.
diff --git a/drivers/media/platform/starfive/v4l2_driver/stf_common.h b/drivers/media/platform/starfive/v4l2_driver/stf_common.h
index aafc821b0283..efd2678467af 100644
--- a/drivers/media/platform/starfive/v4l2_driver/stf_common.h
+++ b/drivers/media/platform/starfive/v4l2_driver/stf_common.h
@@ -11,7 +11,7 @@
// #define STF_DEBUG
-// #define USE_CSIDPHY_ONE_CLK_MODE 1
+#define USE_CSIDPHY_ONE_CLK_MODE 1
enum {
ST_DVP = 0x0001,
diff --git a/drivers/media/platform/starfive/v4l2_driver/stf_csi.c b/drivers/media/platform/starfive/v4l2_driver/stf_csi.c
index d204cd111140..c25730f3406b 100644
--- a/drivers/media/platform/starfive/v4l2_driver/stf_csi.c
+++ b/drivers/media/platform/starfive/v4l2_driver/stf_csi.c
@@ -411,11 +411,7 @@ int stf_csi_register(struct stf_csi_dev *csi_dev, struct v4l2_device *v4l2_dev)
struct media_pad *pads = csi_dev->pads;
int ret;
- csi_dev->mipirx_1p8 = devm_regulator_get(dev, "mipirx_1p8");
- if (IS_ERR(csi_dev->mipirx_1p8))
- return PTR_ERR(csi_dev->mipirx_1p8);
-
- csi_dev->mipirx_0p9 = devm_regulator_get(dev, "mipirx_0p9");
+ csi_dev->mipirx_0p9 = devm_regulator_get(dev, "mipi_0p9");
if (IS_ERR(csi_dev->mipirx_0p9))
return PTR_ERR(csi_dev->mipirx_0p9);
diff --git a/drivers/media/platform/starfive/v4l2_driver/stf_csi.h b/drivers/media/platform/starfive/v4l2_driver/stf_csi.h
index f55b67b7ddba..690d2b5fe2e9 100644
--- a/drivers/media/platform/starfive/v4l2_driver/stf_csi.h
+++ b/drivers/media/platform/starfive/v4l2_driver/stf_csi.h
@@ -47,7 +47,6 @@ struct stf_csi_dev {
struct csi_hw_ops *hw_ops;
struct mutex stream_lock;
int stream_count;
- struct regulator *mipirx_1p8;
struct regulator *mipirx_0p9;
};
diff --git a/drivers/media/platform/starfive/v4l2_driver/stf_csi_hw_ops.c b/drivers/media/platform/starfive/v4l2_driver/stf_csi_hw_ops.c
index ff8c2f33ad7a..8141feccbbff 100644
--- a/drivers/media/platform/starfive/v4l2_driver/stf_csi_hw_ops.c
+++ b/drivers/media/platform/starfive/v4l2_driver/stf_csi_hw_ops.c
@@ -42,32 +42,18 @@ static int stf_csi_power_on(struct stf_csi_dev *csi_dev, u8 on)
int ret;
if (on) {
- ret = regulator_enable(csi_dev->mipirx_1p8);
- if (ret) {
- st_err(ST_CSI, "Cannot enable mipirx_1p8 regulator\n");
- goto err_1p8;
- }
-
ret = regulator_enable(csi_dev->mipirx_0p9);
if (ret) {
st_err(ST_CSI, "Cannot enable mipirx_0p9 regulator\n");
- goto err_0p9;
+ return ret;
}
- } else {
- regulator_disable(csi_dev->mipirx_1p8);
+ } else
regulator_disable(csi_dev->mipirx_0p9);
- }
regmap_update_bits(stfcamss->stf_aon_syscon, stfcamss->aon_gp_reg,
BIT(31), BIT(31));
return 0;
-
-err_0p9:
- regulator_disable(csi_dev->mipirx_1p8);
-err_1p8:
- return ret;
-
}
static int stf_csi_clk_enable(struct stf_csi_dev *csi_dev)
diff --git a/drivers/media/platform/starfive/v4l2_driver/stf_csiphy_hw_ops.c b/drivers/media/platform/starfive/v4l2_driver/stf_csiphy_hw_ops.c
index 50beebab436f..2b8f15a04be6 100644
--- a/drivers/media/platform/starfive/v4l2_driver/stf_csiphy_hw_ops.c
+++ b/drivers/media/platform/starfive/v4l2_driver/stf_csiphy_hw_ops.c
@@ -67,12 +67,12 @@ int try_cfg(struct csi2phy_cfg2 *cfg, struct csi2phy_cfg *cfg0,
{
int i = 0;
- cfg->clock_lane = 0;
+ cfg->clock_lane = 4;
cfg->clock1_lane = 5;
- cfg->data_lanes[0] = 1;
- cfg->data_lanes[1] = 2;
- cfg->data_lanes[2] = 3;
- cfg->data_lanes[3] = 4;
+ cfg->data_lanes[0] = 0;
+ cfg->data_lanes[1] = 1;
+ cfg->data_lanes[2] = 2;
+ cfg->data_lanes[3] = 3;
if (cfg0 && cfg1) {
st_debug(ST_CSIPHY, "CSIPHY use 2 clk mode\n");
@@ -101,7 +101,6 @@ int try_cfg(struct csi2phy_cfg2 *cfg, struct csi2phy_cfg *cfg0,
st_debug(ST_CSIPHY, "CSIPHY cfg0 use 1 clk mode\n");
cfg->num_clks = 1;
cfg->num_data_lanes = cfg0->num_data_lanes;
- cfg->clock_lane = cfg->clock1_lane = cfg0->clock_lane;
cfg->lane_polarities[0] = cfg->lane_polarities[1] =
cfg0->lane_polarities[0];
for (i = 0; i < cfg0->num_data_lanes; i++) {
@@ -112,7 +111,6 @@ int try_cfg(struct csi2phy_cfg2 *cfg, struct csi2phy_cfg *cfg0,
st_debug(ST_CSIPHY, "CSIPHY cfg1 use 1 clk mode\n");
cfg->num_clks = 1;
cfg->num_data_lanes = cfg1->num_data_lanes;
- cfg->clock_lane = cfg->clock1_lane = cfg1->clock_lane;
cfg->lane_polarities[0] = cfg->lane_polarities[1] =
cfg1->lane_polarities[0];
for (i = 0; i < cfg1->num_data_lanes; i++) {