v4l2: delete csiphy1 and csi1 subdev
authorchanghuang.liang <changhuang.liang@starfivetech.com>
Fri, 8 Jul 2022 02:34:19 +0000 (10:34 +0800)
committerchanghuang.liang <changhuang.liang@starfivetech.com>
Fri, 8 Jul 2022 03:35:51 +0000 (11:35 +0800)
Signed-off-by: changhuang.liang <changhuang.liang@starfivetech.com>
15 files changed:
arch/riscv/boot/dts/starfive/jh7110-common.dtsi
arch/riscv/boot/dts/starfive/jh7110.dtsi
drivers/media/platform/starfive/v4l2_driver/stf_csi.c
drivers/media/platform/starfive/v4l2_driver/stf_csi.h
drivers/media/platform/starfive/v4l2_driver/stf_csi_hw_ops.c
drivers/media/platform/starfive/v4l2_driver/stf_csiphy.c
drivers/media/platform/starfive/v4l2_driver/stf_csiphy.h
drivers/media/platform/starfive/v4l2_driver/stf_csiphy_hw_ops.c
drivers/media/platform/starfive/v4l2_driver/stf_dvp.c
drivers/media/platform/starfive/v4l2_driver/stf_dvp.h
drivers/media/platform/starfive/v4l2_driver/stf_vin.c
drivers/media/platform/starfive/v4l2_driver/stf_vin.h
drivers/media/platform/starfive/v4l2_driver/stfcamss.c
drivers/media/platform/starfive/v4l2_driver/stfcamss.h
include/video/stf-vin.h

index 3175e12..193cfe4 100644 (file)
 };
 
 &vin_sysctl {
-       /* when use dvp open this pinctrl*/
        status = "okay";
 
        ports {
                #address-cells = <1>;
                #size-cells = <0>;
 
-               port@2 {
-                       reg = <2>;
+               port@0 {
+                       reg = <0>;
                        #address-cells = <1>;
                        #size-cells = <0>;
 
                        };
                };
 
-               port@3 {
-                       reg = <3>;
+               port@1 {
+                       reg = <1>;
                        #address-cells = <1>;
                        #size-cells = <0>;
 
index 431adf4..b0cfdcb 100644 (file)
                        reg = <0x0 0x19800000 0x0 0x10000>,
                                <0x0 0x19810000 0x0 0x10000>,
                                <0x0 0x19820000 0x0 0x10000>,
-                               <0x0 0x19830000 0x0 0x10000>,
                                <0x0 0x19840000 0x0 0x10000>,
                                <0x0 0x19870000 0x0 0x30000>,
                                <0x0 0x11840000 0x0 0x10000>,
                                <0x0 0x17030000 0x0 0x10000>,
                                <0x0 0x13020000 0x0 0x10000>;
-                       reg-names = "mipi0", "vclk", "vrst", "mipi1", "sctrl",
+                       reg-names = "csi2rx", "vclk", "vrst", "sctrl",
                                "isp", "trst", "pmu", "syscrg";
                        clocks = <&clkisp JH7110_DOM4_APB_FUNC>,
                                 <&clkisp JH7110_U0_VIN_PCLK>,
index 2eb6bea..6fef42a 100644 (file)
@@ -31,12 +31,10 @@ static int csi_find_format(u32 code,
        return -EINVAL;
 }
 
-int stf_csi_subdev_init(struct stfcamss *stfcamss, int id)
+int stf_csi_subdev_init(struct stfcamss *stfcamss)
 {
-       struct stf_csi_dev *csi_dev = &stfcamss->csi_dev[id];
+       struct stf_csi_dev *csi_dev = stfcamss->csi_dev;
 
-       csi_dev->id = id;
-       csi_dev->csiphy_id = id;
        csi_dev->s_type = SENSOR_VIN;
        csi_dev->hw_ops = &csi_ops;
        csi_dev->stfcamss = stfcamss;
@@ -69,14 +67,10 @@ __csi_get_format(struct stf_csi_dev *csi_dev,
 static int csi_set_stream(struct v4l2_subdev *sd, int enable)
 {
        struct stf_csi_dev *csi_dev = v4l2_get_subdevdata(sd);
-       struct stf_csi_dev *csi0_dev = &csi_dev->stfcamss->csi_dev[0];
        struct v4l2_mbus_framefmt *format;
        int ret = 0, is_raw10 = 0;
        u32 code;
 
-       if (csi_dev->id == 1)
-               csi_set_stream(&csi0_dev->subdev, enable);
-
        format = __csi_get_format(csi_dev, NULL, STF_CSI_PAD_SRC,
                                V4L2_SUBDEV_FORMAT_ACTIVE);
        if (format == NULL)
@@ -97,7 +91,6 @@ static int csi_set_stream(struct v4l2_subdev *sd, int enable)
        mutex_lock(&csi_dev->stream_lock);
        if (enable) {
                if (csi_dev->stream_count == 0) {
-                       //csi_dev->hw_ops->csi_config_set(csi_dev);
                        csi_dev->hw_ops->csi_clk_enable(csi_dev);
                        csi_dev->hw_ops->csi_set_format(csi_dev,
                                        format->height,
@@ -307,8 +300,7 @@ static int csi_link_setup(struct media_entity *entity,
                        csi_dev->s_type = SENSOR_VIN;
                if (line->sdev_type == ISP_DEV_TYPE)
                        csi_dev->s_type = SENSOR_ISP;
-               st_info(ST_CSI, "CSI%d device sensor type: %d\n",
-                               csi_dev->id, csi_dev->s_type);
+               st_info(ST_CSI, "CSI device sensor type: %d\n", csi_dev->s_type);
        }
 
        if ((local->flags & MEDIA_PAD_FL_SINK) &&
@@ -326,9 +318,7 @@ static int csi_link_setup(struct media_entity *entity,
                sd = media_entity_to_v4l2_subdev(remote->entity);
                csiphy_dev = v4l2_get_subdevdata(sd);
 
-               csi_dev->csiphy_id = csiphy_dev->id;
-               st_info(ST_CSI, "CSI%d link to csiphy%d\n",
-                               csi_dev->id, csi_dev->csiphy_id);
+               st_info(ST_CSI, "CSI0 link to csiphy0\n");
        }
 
        return 0;
@@ -383,7 +373,7 @@ int stf_csi_register(struct stf_csi_dev *csi_dev, struct v4l2_device *v4l2_dev)
        sd->internal_ops = &csi_v4l2_internal_ops;
        sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
        snprintf(sd->name, ARRAY_SIZE(sd->name), "%s%d",
-               STF_CSI_NAME, csi_dev->id);
+               STF_CSI_NAME, 0);
        v4l2_set_subdevdata(sd, csi_dev);
 
        ret = csi_init_formats(sd, NULL);
index a3e2656..34279a1 100644 (file)
@@ -28,7 +28,6 @@ struct csi_hw_ops {
        int (*csi_power_on)(struct stf_csi_dev *csi_dev, u8 on);
        int (*csi_clk_enable)(struct stf_csi_dev *csi_dev);
        int (*csi_clk_disable)(struct stf_csi_dev *csi_dev);
-       int (*csi_config_set)(struct stf_csi_dev *csi_dev);
        int (*csi_set_format)(struct stf_csi_dev *csi_dev,
                        u32 vsize, u8 bpp, int is_raw10);
        int (*csi_stream_set)(struct stf_csi_dev *csi_dev, int on);
@@ -36,8 +35,6 @@ struct csi_hw_ops {
 
 struct stf_csi_dev {
        struct stfcamss *stfcamss;
-       u8 id;
-       u8 csiphy_id;
        enum sensor_type s_type;
        struct v4l2_subdev subdev;
        struct media_pad pads[STF_CSI_PADS_NUM];
@@ -51,16 +48,11 @@ struct stf_csi_dev {
        struct regulator *mipirx_0p9;
 };
 
-extern int stf_csi_subdev_init(struct stfcamss *stfcamss, int id);
+extern int stf_csi_subdev_init(struct stfcamss *stfcamss);
 extern int stf_csi_register(struct stf_csi_dev *csi_dev,
                        struct v4l2_device *v4l2_dev);
 extern int stf_csi_unregister(struct stf_csi_dev *csi_dev);
-extern int raw_csi2rx_dphy_config(struct stf_vin_dev *vin,
-                       const csi2rx_dphy_cfg_t *cfg);
-extern int raw_csi2rx_config(struct stf_vin_dev *vin,
-                       int id,
-                       const csi2rx_cfg_t *cfg);
 extern struct csi_hw_ops csi_ops;
-extern void dump_csi_reg(void *__iomem csibase, int id);
+extern void dump_csi_reg(void *__iomem csibase);
 
 #endif /* STF_CSI_H */
index defc67f..e78b499 100644 (file)
@@ -108,51 +108,10 @@ static int stf_csi_clk_disable(struct stf_csi_dev *csi_dev)
        return 0;
 }
 
-static int stf_csi_config_set(struct stf_csi_dev *csi_dev)
-{
-       struct stf_vin_dev *vin = csi_dev->stfcamss->vin;
-       u32 mipi_channel_sel, mipi_vc = 0;
-
-       st_info(ST_CSI, "%s, csi_id = %d\n", __func__, csi_dev->id);
-
-       switch (csi_dev->s_type) {
-       case SENSOR_VIN:
-               st_err(ST_CSI, "%s, %d: need todo\n", __func__, __LINE__);
-               break;
-       case SENSOR_ISP:
-               reg_set_bit(vin->clkgen_base,
-                               CLK_ISP_MIPI_CTRL,
-                               BIT(24), csi_dev->id << 24);
-
-               reg_set_bit(vin->clkgen_base,
-                               CLK_C_ISP_CTRL,
-                               BIT(25) | BIT(24),
-                               csi_dev->id << 24);
-
-               mipi_channel_sel = csi_dev->id * 4 + mipi_vc;
-               reg_set_bit(vin->sysctrl_base,
-                               SYSCTRL_VIN_SRC_CHAN_SEL,
-                               0xF, mipi_channel_sel);
-               break;
-       default:
-               break;
-       }
-
-       return 0;
-}
-
 static int stf_csi_set_format(struct stf_csi_dev *csi_dev,
                        u32 vsize, u8 bpp, int is_raw10)
 {
        struct stf_vin_dev *vin = csi_dev->stfcamss->vin;
-       void *reg_base = NULL;
-
-       if (csi_dev->id == 0)
-               reg_base = vin->mipi0_base;
-       else if (csi_dev->id == 1)
-               reg_base = vin->mipi1_base;
-       else
-               return 0;
 
        switch (csi_dev->s_type) {
        case SENSOR_VIN:
@@ -185,13 +144,13 @@ static int csi2rx_start(struct stf_csi_dev *csi_dev, void *reg_base)
 {
        struct stfcamss *stfcamss = csi_dev->stfcamss;
        struct csi2phy_cfg *csiphy =
-               stfcamss->csiphy_dev[csi_dev->csiphy_id].csiphy;
+               stfcamss->csiphy_dev->csiphy;
        unsigned int i;
        unsigned long lanes_used = 0;
        u32 reg;
 
        if (!csiphy) {
-               st_err(ST_CSI, "csiphy%d config not exist\n", csi_dev->csiphy_id);
+               st_err(ST_CSI, "csiphy0 config not exist\n");
                return -EINVAL;
        }
 
@@ -275,14 +234,7 @@ static int stf_csi_stream_set(struct stf_csi_dev *csi_dev, int on)
 {
        struct stfcamss *stfcamss = csi_dev->stfcamss;
        struct stf_vin_dev *vin = csi_dev->stfcamss->vin;
-       void *reg_base = NULL;
-
-       if (csi_dev->id == 0)
-               reg_base = vin->mipi0_base;
-       else if (csi_dev->id == 1)
-               reg_base = vin->mipi1_base;
-       else
-               return 0;
+       void __iomem *reg_base = vin->csi2rx_base;
 
        switch (csi_dev->s_type) {
        case SENSOR_VIN:
@@ -331,9 +283,9 @@ static int stf_csi_stream_set(struct stf_csi_dev *csi_dev, int on)
        return 0;
 }
 
-void dump_csi_reg(void *__iomem csibase, int id)
+void dump_csi_reg(void *__iomem csibase)
 {
-       st_info(ST_CSI, "DUMP CSI%d register:\n", id);
+       st_info(ST_CSI, "DUMP CSI register:\n");
        print_reg(ST_CSI, csibase, 0x00);
        print_reg(ST_CSI, csibase, 0x04);
        print_reg(ST_CSI, csibase, 0x08);
@@ -349,7 +301,6 @@ struct csi_hw_ops csi_ops = {
        .csi_power_on          = stf_csi_power_on,
        .csi_clk_enable        = stf_csi_clk_enable,
        .csi_clk_disable       = stf_csi_clk_disable,
-       .csi_config_set        = stf_csi_config_set,
        .csi_set_format        = stf_csi_set_format,
        .csi_stream_set        = stf_csi_stream_set,
 };
index bd0d148..5bc490a 100644 (file)
@@ -19,12 +19,10 @@ static const struct csiphy_format csiphy_formats_st7110[] = {
        { MEDIA_BUS_FMT_SBGGR10_1X10, 10},
 };
 
-int stf_csiphy_subdev_init(struct stfcamss *stfcamss, int id)
+int stf_csiphy_subdev_init(struct stfcamss *stfcamss)
 {
-       struct stf_csiphy_dev *csiphy_dev = &stfcamss->csiphy_dev[id];
+       struct stf_csiphy_dev *csiphy_dev = stfcamss->csiphy_dev;
 
-       csiphy_dev->id = id;
-       csiphy_dev->csi_id = id;
        csiphy_dev->hw_ops = &csiphy_ops;
        csiphy_dev->stfcamss = stfcamss;
        csiphy_dev->formats = csiphy_formats_st7110;
@@ -35,12 +33,6 @@ int stf_csiphy_subdev_init(struct stfcamss *stfcamss, int id)
 
 static int csiphy_set_power(struct v4l2_subdev *sd, int on)
 {
-#ifdef CONFIG_VIDEO_CADENCE_CSI2RX
-       struct stf_csiphy_dev *csiphy_dev = v4l2_get_subdevdata(sd);
-
-       if (on)
-               csiphy_dev->hw_ops->cdns_csi_power(csiphy_dev, on);
-#endif
        return 0;
 }
 
@@ -68,10 +60,6 @@ static int csiphy_set_stream(struct v4l2_subdev *sd, int enable)
 exit:
        mutex_unlock(&csiphy_dev->stream_lock);
 
-#ifdef CONFIG_VIDEO_CADENCE_CSI2RX
-       if (!enable)
-               csiphy_dev->hw_ops->cdns_csi_power(csiphy_dev, enable);
-#endif
        return 0;
 }
 
@@ -278,9 +266,7 @@ static int csiphy_link_setup(struct media_entity *entity,
 
                sd = media_entity_to_v4l2_subdev(remote->entity);
                csi_dev = v4l2_get_subdevdata(sd);
-               csiphy_dev->csi_id = csi_dev->id;
-               st_info(ST_CSIPHY, "CSIPHY%d link to CSI%d\n",
-                               csiphy_dev->id, csiphy_dev->csi_id);
+               st_info(ST_CSIPHY, "CSIPHY0 link to CSI0\n");
        }
 
        return 0;
@@ -328,7 +314,7 @@ int stf_csiphy_register(struct stf_csiphy_dev *csiphy_dev,
        sd->internal_ops = &csiphy_v4l2_internal_ops;
        sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
        snprintf(sd->name, ARRAY_SIZE(sd->name), "%s%d",
-               STF_CSIPHY_NAME, csiphy_dev->id);
+               STF_CSIPHY_NAME, 0);
        v4l2_set_subdevdata(sd, csiphy_dev);
 
        ret = csiphy_init_formats(sd, NULL);
@@ -348,20 +334,11 @@ int stf_csiphy_register(struct stf_csiphy_dev *csiphy_dev,
                return ret;
        }
 
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
        ret = v4l2_device_register_subdev(v4l2_dev, sd);
        if (ret < 0) {
                dev_err(dev, "Failed to register subdev: %d\n", ret);
                goto err_sreg;
        }
-#else
-       sd->dev = dev;
-       ret = v4l2_async_register_subdev(sd);
-       if (ret < 0) {
-               dev_err(dev, "Failed to async register subdev: %d\n", ret);
-               goto err_sreg;
-       }
-#endif
 
        return 0;
 
index 4bd0d45..aa4e61e 100644 (file)
@@ -161,16 +161,11 @@ struct csiphy_hw_ops {
        int (*csiphy_clk_disable)(struct stf_csiphy_dev *csiphy_dev);
        int (*csiphy_config_set)(struct stf_csiphy_dev *csiphy_dev);
        int (*csiphy_stream_set)(struct stf_csiphy_dev *csiphy_dev, int on);
-#ifdef CONFIG_VIDEO_CADENCE_CSI2RX
-       int (*cdns_csi_power)(struct stf_csiphy_dev *csiphy_dev, int on);
-#endif
 };
 
 struct stf_csiphy_dev {
        struct stfcamss *stfcamss;
        struct csi2phy_cfg *csiphy;
-       u8 id;
-       u8 csi_id;
        struct v4l2_subdev subdev;
        struct media_pad pads[STF_CSIPHY_PADS_NUM];
        struct v4l2_mbus_framefmt fmt[STF_CSIPHY_PADS_NUM];
@@ -181,7 +176,7 @@ struct stf_csiphy_dev {
        int stream_count;
 };
 
-extern int stf_csiphy_subdev_init(struct stfcamss *stfcamss, int id);
+extern int stf_csiphy_subdev_init(struct stfcamss *stfcamss);
 extern int stf_csiphy_register(struct stf_csiphy_dev *csiphy_dev,
                        struct v4l2_device *v4l2_dev);
 extern int stf_csiphy_unregister(struct stf_csiphy_dev *csiphy_dev);
index 9ab9a80..b903566 100644 (file)
@@ -135,31 +135,12 @@ static int csi2rx_dphy_config(struct stf_vin_dev *vin,
 {
        struct csi2phy_cfg2 cfg2 = {0};
        struct csi2phy_cfg2 *cfg = &cfg2;
-       struct stf_csiphy_dev *csiphy0_dev =
-               &csiphy_dev->stfcamss->csiphy_dev[0];
-       struct stf_csiphy_dev *csiphy1_dev =
-               &csiphy_dev->stfcamss->csiphy_dev[1];
-       struct csi2phy_cfg *phy0cfg = csiphy0_dev->csiphy;
-       struct csi2phy_cfg *phy1cfg = csiphy1_dev->csiphy;
-       int id = csiphy_dev->id;
+       struct csi2phy_cfg *phycfg = csiphy_dev->csiphy;
 
-       st_debug(ST_CSIPHY, "%s, csiphy id = %d\n",
-                       __func__, id);
-
-       if (!phy0cfg && !phy1cfg)
+       if (!phycfg)
                return -EINVAL;
 
-#ifdef USE_CSIDPHY_ONE_CLK_MODE
-       if (id == 0) {
-               phy0cfg = csiphy0_dev->csiphy;
-               phy1cfg = NULL;
-       } else {
-               phy0cfg = NULL;
-               phy1cfg = csiphy1_dev->csiphy;
-       }
-#endif
-
-       if (try_cfg(cfg, phy0cfg, phy1cfg))
+       if (try_cfg(cfg, phycfg, NULL))
                return -EINVAL;
 
        reg_write(vin->rstgen_base, M31DPHY_APBCFGSAIF__SYSCFG_4, 0x0);
@@ -335,9 +316,6 @@ static int stf_csiphy_config_set(struct stf_csiphy_dev *csiphy_dev)
 {
        struct stf_vin_dev *vin = csiphy_dev->stfcamss->vin;
 
-       st_debug(ST_CSIPHY, "%s, csiphy id = %d\n",
-                       __func__, csiphy_dev->id);
-
        csi2rx_dphy_config(vin, csiphy_dev);
        return 0;
 }
@@ -347,131 +325,9 @@ static int stf_csiphy_stream_set(struct stf_csiphy_dev *csiphy_dev, int on)
        return 0;
 }
 
-#ifdef CONFIG_VIDEO_CADENCE_CSI2RX
-static int stf_csi_clk_enable(struct stf_csiphy_dev *csiphy_dev)
-{
-       struct stf_vin_dev *vin = csiphy_dev->stfcamss->vin;
-
-       reg_set_highest_bit(vin->clkgen_base, CLK_CSI2RX0_APB_CTRL);
-
-       if (csiphy_dev->id == 0) {
-               reg_set_bit(vin->clkgen_base,
-                               CLK_MIPI_RX0_PXL_CTRL,
-                               0x1F, 0x3);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_0_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_1_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_2_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_3_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_SYS0_CTRL);
-       } else {
-               reg_set_bit(vin->clkgen_base,
-                               CLK_MIPI_RX1_PXL_CTRL,
-                               0x1F, 0x3);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_0_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_1_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_2_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_3_CTRL);
-               reg_set_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_SYS1_CTRL);
-       }
-
-       return 0;
-}
-
-static int stf_csi_clk_disable(struct stf_csiphy_dev *csiphy_dev)
-{
-       struct stf_vin_dev *vin = csiphy_dev->stfcamss->vin;
-
-       reg_clr_highest_bit(vin->clkgen_base, CLK_CSI2RX0_APB_CTRL);
-
-       if (csiphy_dev->id == 0) {
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_0_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_1_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_2_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_PXL_3_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX0_SYS0_CTRL);
-       } else {
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_0_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_1_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_2_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_PXL_3_CTRL);
-               reg_clr_highest_bit(vin->clkgen_base, CLK_MIPI_RX1_SYS1_CTRL);
-       }
-
-       return 0;
-}
-
-static int stf_csi_config_set(struct stf_csiphy_dev *csiphy_dev, int is_raw10)
-{
-       struct stf_vin_dev *vin = csiphy_dev->stfcamss->vin;
-       u32 mipi_channel_sel, mipi_vc = 0;
-       enum sensor_type s_type = SENSOR_ISP;
-
-       switch (s_type) {
-       case SENSOR_VIN:
-               break;
-       case SENSOR_ISP:
-               reg_set_bit(vin->clkgen_base,
-                               CLK_ISP_MIPI_CTRL,
-                               BIT(24), csiphy_dev->id << 24);
-
-               reg_set_bit(vin->clkgen_base,
-                               CLK_C_ISP_CTRL,
-                               BIT(25) | BIT(24),
-                               csiphy_dev->id << 24);
-
-               mipi_channel_sel = csiphy_dev->id * 4 + mipi_vc;
-               reg_set_bit(vin->sysctrl_base,
-                               SYSCTRL_VIN_SRC_CHAN_SEL,
-                               0xF, mipi_channel_sel);
-
-               if (is_raw10)
-                       reg_set_bit(vin->sysctrl_base,
-                                       SYSCTRL_VIN_SRC_DW_SEL,
-                                       BIT(4), 1 << 4);
-               break;
-       case SENSOR_ISP1:
-               reg_set_bit(vin->clkgen_base,
-                               CLK_ISP1_MIPI_CTRL,
-                               BIT(24), csiphy_dev->id << 24);
-               reg_set_bit(vin->clkgen_base,
-                               CLK_C_ISP1_CTRL,
-                               BIT(25) | BIT(24),
-                               csiphy_dev->id << 24);
-
-               mipi_channel_sel = csiphy_dev->id * 4 + mipi_vc;
-               reg_set_bit(vin->sysctrl_base,
-                               SYSCTRL_VIN_SRC_CHAN_SEL,
-                               0xF << 4, mipi_channel_sel << 4);
-
-               if (is_raw10)
-                       reg_set_bit(vin->sysctrl_base,
-                                       SYSCTRL_VIN_SRC_DW_SEL,
-                                       BIT(5), 1 << 5);
-       default:
-               break;
-       }
-
-       return 0;
-}
-
-static int stf_cdns_csi_power(struct stf_csiphy_dev *csiphy_dev, int on)
-{
-       if (on) {
-               stf_csi_config_set(csiphy_dev, 1);
-               stf_csi_clk_enable(csiphy_dev);
-       } else
-               stf_csi_clk_disable(csiphy_dev);
-
-       return 0;
-}
-#endif
-
 struct csiphy_hw_ops csiphy_ops = {
        .csiphy_clk_enable        = stf_csiphy_clk_enable,
        .csiphy_clk_disable       = stf_csiphy_clk_disable,
        .csiphy_config_set        = stf_csiphy_config_set,
        .csiphy_stream_set        = stf_csiphy_stream_set,
-#ifdef CONFIG_VIDEO_CADENCE_CSI2RX
-       .cdns_csi_power           = stf_cdns_csi_power,
-#endif
 };
index 6def60b..ba00211 100644 (file)
@@ -339,7 +339,7 @@ int stf_dvp_register(struct stf_dvp_dev *dvp_dev,
        sd->internal_ops = &dvp_v4l2_internal_ops;
        sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
        snprintf(sd->name, ARRAY_SIZE(sd->name), "%s%d",
-               STF_DVP_NAME, dvp_dev->id);
+               STF_DVP_NAME, 0);
        v4l2_set_subdevdata(sd, dvp_dev);
 
        ret = dvp_init_formats(sd, NULL);
index cefafa9..b61a71f 100644 (file)
@@ -43,7 +43,6 @@ struct dvp_hw_ops {
 struct stf_dvp_dev {
        struct stfcamss *stfcamss;
        struct dvp_cfg *dvp;
-       u8 id;
        enum sensor_type s_type;
        struct v4l2_subdev subdev;
        struct media_pad pads[STF_DVP_PADS_NUM];
index 9ba04e3..109cf44 100644 (file)
@@ -1369,7 +1369,7 @@ int stf_vin_register(struct stf_vin2_dev *vin_dev, struct v4l2_device *v4l2_dev)
                sd->internal_ops = &vin_v4l2_internal_ops;
                sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
                snprintf(sd->name, ARRAY_SIZE(sd->name), "%s%d_%s",
-                       STF_VIN_NAME, vin_dev->id, sub_name);
+                       STF_VIN_NAME, 0, sub_name);
                v4l2_set_subdevdata(sd, &vin_dev->line[i]);
 
                ret = vin_init_formats(sd, NULL);
index 072741c..75fd7ce 100644 (file)
@@ -156,7 +156,6 @@ struct dummy_buffer {
 
 struct stf_vin2_dev {
        struct stfcamss *stfcamss;
-       u8 id;
        struct vin_line line[VIN_LINE_MAX];
        struct dummy_buffer dummy_buffer[STF_DUMMY_MODULE_NUMS];
        struct vin_hw_ops *hw_ops;
index d3fd5ca..9176649 100644 (file)
@@ -44,12 +44,9 @@ EXPORT_SYMBOL_GPL(stdbg_level);
 EXPORT_SYMBOL_GPL(stdbg_mask);
 
 static const struct reg_name mem_reg_name[] = {
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       {"mipi0"},
-#endif
+       {"csi2rx"},
        {"vclk"},
        {"vrst"},
-       {"mipi1"},
        {"sctrl"},
        {"isp"},
        {"trst"},
@@ -108,10 +105,10 @@ int stfcamss_get_mem_res(struct platform_device *pdev, struct stf_vin_dev *vin)
                if (!res)
                        return -EINVAL;
 
-               if (!strcmp(name, "mipi0")) {
-                       vin->mipi0_base = devm_ioremap_resource(dev, res);
-                       if (IS_ERR(vin->mipi0_base))
-                               return PTR_ERR(vin->mipi0_base);
+               if (!strcmp(name, "csi2rx")) {
+                       vin->csi2rx_base = devm_ioremap_resource(dev, res);
+                       if (IS_ERR(vin->csi2rx_base))
+                               return PTR_ERR(vin->csi2rx_base);
                } else if (!strcmp(name, "vclk")) {
                        vin->clkgen_base = ioremap(res->start, resource_size(res));
                        if (!vin->clkgen_base)
@@ -120,10 +117,6 @@ int stfcamss_get_mem_res(struct platform_device *pdev, struct stf_vin_dev *vin)
                        vin->rstgen_base = devm_ioremap_resource(dev, res);
                        if (IS_ERR(vin->rstgen_base))
                                return PTR_ERR(vin->rstgen_base);
-               } else if (!strcmp(name, "mipi1")) {
-                       vin->mipi1_base = devm_ioremap_resource(dev, res);
-                       if (IS_ERR(vin->mipi1_base))
-                               return PTR_ERR(vin->mipi1_base);
                } else if (!strcmp(name, "sctrl")) {
                        vin->sysctrl_base = devm_ioremap_resource(dev, res);
                        if (IS_ERR(vin->sysctrl_base))
@@ -145,7 +138,6 @@ int stfcamss_get_mem_res(struct platform_device *pdev, struct stf_vin_dev *vin)
                        if (!vin->sys_crg)
                                return -ENOMEM;
                } else {
-
                        st_err(ST_CAMSS, "Could not match resource name\n");
                }
        }
@@ -203,9 +195,6 @@ static int stfcamss_of_parse_endpoint_node(struct device *dev,
 
        csd->port = vep.base.port;
        switch (csd->port) {
-       case CSI2RX0_PORT_NUMBER:
-       case CSI2RX1_PORT_NUMBER:
-               break;
        case DVP_SENSOR_PORT_NUMBER:
                st_debug(ST_CAMSS, "%s, flags = 0x%x\n", __func__,
                                parallel_bus->flags);
@@ -213,8 +202,7 @@ static int stfcamss_of_parse_endpoint_node(struct device *dev,
                dvp->bus_width = parallel_bus->bus_width;
                dvp->data_shift = parallel_bus->data_shift;
                break;
-       case CSI2RX0_SENSOR_PORT_NUMBER:
-       case CSI2RX1_SENSOR_PORT_NUMBER:
+       case CSI2RX_SENSOR_PORT_NUMBER:
                st_debug(ST_CAMSS, "%s, CSI2 flags = 0x%x\n",
                                __func__, parallel_bus->flags);
                csiphy->flags = csi2_bus->flags;
@@ -278,7 +266,7 @@ err_cleanup:
 
 static int stfcamss_init_subdevices(struct stfcamss *stfcamss)
 {
-       int ret, i;
+       int ret;
 
        ret = stf_dvp_subdev_init(stfcamss);
        if (ret < 0) {
@@ -288,27 +276,21 @@ static int stfcamss_init_subdevices(struct stfcamss *stfcamss)
                return ret;
        }
 
-       for (i = 0; i < stfcamss->csiphy_num; i++) {
-               ret = stf_csiphy_subdev_init(stfcamss, i);
-               if (ret < 0) {
-                       st_err(ST_CAMSS,
-                               "Failed to init stf_csiphy sub-device: %d\n",
-                               ret);
-                       return ret;
-               }
+       ret = stf_csiphy_subdev_init(stfcamss);
+       if (ret < 0) {
+               st_err(ST_CAMSS,
+                       "Failed to init stf_csiphy sub-device: %d\n",
+                       ret);
+               return ret;
        }
 
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       for (i = 0; i < stfcamss->csi_num; i++) {
-               ret = stf_csi_subdev_init(stfcamss, i);
-               if (ret < 0) {
-                       st_err(ST_CAMSS,
-                               "Failed to init stf_csi sub-device: %d\n",
-                               ret);
-                       return ret;
-               }
+       ret = stf_csi_subdev_init(stfcamss);
+       if (ret < 0) {
+               st_err(ST_CAMSS,
+                       "Failed to init stf_csi sub-device: %d\n",
+                       ret);
+               return ret;
        }
-#endif
 
        ret = stf_isp_subdev_init(stfcamss);
        if (ret < 0) {
@@ -330,7 +312,7 @@ static int stfcamss_init_subdevices(struct stfcamss *stfcamss)
 
 static int stfcamss_register_subdevices(struct stfcamss *stfcamss)
 {
-       int ret, i, j;
+       int ret;
        struct stf_vin2_dev *vin_dev = stfcamss->vin_dev;
        struct stf_dvp_dev *dvp_dev = stfcamss->dvp_dev;
        struct stf_csiphy_dev *csiphy_dev = stfcamss->csiphy_dev;
@@ -340,41 +322,32 @@ static int stfcamss_register_subdevices(struct stfcamss *stfcamss)
        ret = stf_dvp_register(dvp_dev, &stfcamss->v4l2_dev);
        if (ret < 0) {
                st_err(ST_CAMSS,
-                       "Failed to register stf dvp entity: %d\n",
-                       ret);
+                       "Failed to register stf dvp%d entity: %d\n",
+                       0, ret);
                goto err_reg_dvp;
        }
 
-       for (i = 0; i < stfcamss->csiphy_num; i++) {
-               ret = stf_csiphy_register(&csiphy_dev[i],
-                               &stfcamss->v4l2_dev);
-               if (ret < 0) {
-                       st_err(ST_CAMSS,
-                               "Failed to register stf csiphy%d entity: %d\n",
-                               i, ret);
-                       goto err_reg_csiphy;
-               }
+       ret = stf_csiphy_register(csiphy_dev, &stfcamss->v4l2_dev);
+       if (ret < 0) {
+               st_err(ST_CAMSS,
+                       "Failed to register stf csiphy%d entity: %d\n",
+                       0, ret);
+               goto err_reg_csiphy;
        }
 
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       for (i = 0; i < stfcamss->csi_num; i++) {
-               ret = stf_csi_register(&csi_dev[i],
-                               &stfcamss->v4l2_dev);
-               if (ret < 0) {
-                       st_err(ST_CAMSS,
-                               "Failed to register stf csi%d entity: %d\n",
-                               i, ret);
-                       goto err_reg_csi;
-               }
+       ret = stf_csi_register(csi_dev, &stfcamss->v4l2_dev);
+       if (ret < 0) {
+               st_err(ST_CAMSS,
+                       "Failed to register stf csi%d entity: %d\n",
+                       0, ret);
+               goto err_reg_csi;
        }
-#endif
 
-       ret = stf_isp_register(isp_dev,
-                       &stfcamss->v4l2_dev);
+       ret = stf_isp_register(isp_dev, &stfcamss->v4l2_dev);
        if (ret < 0) {
                st_err(ST_CAMSS,
                        "Failed to register stf isp%d entity: %d\n",
-                       i, ret);
+                       0, ret);
                goto err_reg_isp;
        }
 
@@ -400,40 +373,34 @@ static int stfcamss_register_subdevices(struct stfcamss *stfcamss)
                goto err_link;
        }
 
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       for (i = 0; i < stfcamss->csi_num; i++) {
-               ret = media_create_pad_link(
-                       &csi_dev[i].subdev.entity,
-                       STF_CSI_PAD_SRC,
-                       &vin_dev->line[VIN_LINE_WR].subdev.entity,
-                       STF_VIN_PAD_SINK,
-                       0);
-               if (ret < 0) {
-                       st_err(ST_CAMSS,
-                               "Failed to link %s->vin entities: %d\n",
-                               csi_dev[i].subdev.entity.name,
-                               ret);
-                       goto err_link;
-               }
+       ret = media_create_pad_link(
+               &csi_dev->subdev.entity,
+               STF_CSI_PAD_SRC,
+               &vin_dev->line[VIN_LINE_WR].subdev.entity,
+               STF_VIN_PAD_SINK,
+               0);
+       if (ret < 0) {
+               st_err(ST_CAMSS,
+                       "Failed to link %s->vin entities: %d\n",
+                       csi_dev->subdev.entity.name,
+                       ret);
+               goto err_link;
        }
 
-       for (j = 0; j < stfcamss->csi_num; j++) {
-               ret = media_create_pad_link(
-                       &csiphy_dev[j].subdev.entity,
-                       STF_CSIPHY_PAD_SRC,
-                       &csi_dev[j].subdev.entity,
-                       STF_CSI_PAD_SINK,
-                       MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
-               if (ret < 0) {
-                       st_err(ST_CAMSS,
-                               "Failed to link %s->%s entities: %d\n",
-                               csiphy_dev[j].subdev.entity.name,
-                               csi_dev[j].subdev.entity.name,
-                               ret);
-                       goto err_link;
-               }
+       ret = media_create_pad_link(
+               &csiphy_dev->subdev.entity,
+               STF_CSIPHY_PAD_SRC,
+               &csi_dev->subdev.entity,
+               STF_CSI_PAD_SINK,
+               MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
+       if (ret < 0) {
+               st_err(ST_CAMSS,
+                       "Failed to link %s->%s entities: %d\n",
+                       csiphy_dev->subdev.entity.name,
+                       csi_dev->subdev.entity.name,
+                       ret);
+               goto err_link;
        }
-#endif
 
        ret = media_create_pad_link(
                &isp_dev->subdev.entity,
@@ -461,7 +428,7 @@ static int stfcamss_register_subdevices(struct stfcamss *stfcamss)
                st_err(ST_CAMSS,
                        "Failed to link %s->%s entities: %d\n",
                        isp_dev->subdev.entity.name,
-                       vin_dev->line[i + VIN_LINE_ISP_SS0]
+                       vin_dev->line[VIN_LINE_ISP_SS0]
                        .subdev.entity.name,
                        ret);
                goto err_link;
@@ -562,24 +529,20 @@ static int stfcamss_register_subdevices(struct stfcamss *stfcamss)
                goto err_link;
        }
 
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       for (j = 0; j < stfcamss->csi_num; j++) {
-               ret = media_create_pad_link(
-                       &csi_dev[j].subdev.entity,
-                       STF_CSI_PAD_SRC,
-                       &isp_dev->subdev.entity,
-                       STF_ISP_PAD_SINK,
-                       0);
-               if (ret < 0) {
-                       st_err(ST_CAMSS,
-                               "Failed to link %s->%s entities: %d\n",
-                               csi_dev[j].subdev.entity.name,
-                               isp_dev->subdev.entity.name,
-                               ret);
-                       goto err_link;
-               }
+       ret = media_create_pad_link(
+               &csi_dev->subdev.entity,
+               STF_CSI_PAD_SRC,
+               &isp_dev->subdev.entity,
+               STF_ISP_PAD_SINK,
+               0);
+       if (ret < 0) {
+               st_err(ST_CAMSS,
+                       "Failed to link %s->%s entities: %d\n",
+                       csi_dev->subdev.entity.name,
+                       isp_dev->subdev.entity.name,
+                       ret);
+               goto err_link;
        }
-#endif
 
        return ret;
 
@@ -588,18 +551,10 @@ err_link:
 err_reg_vin:
        stf_isp_unregister(stfcamss->isp_dev);
 err_reg_isp:
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       i = stfcamss->csi_num;
+       stf_csi_unregister(stfcamss->csi_dev);
 err_reg_csi:
-       for (i--; i >= 0; i--)
-               stf_csi_unregister(&stfcamss->csi_dev[i]);
-#endif
-
-       i = stfcamss->csiphy_num;
+       stf_csiphy_unregister(stfcamss->csiphy_dev);
 err_reg_csiphy:
-       for (i--; i >= 0; i--)
-               stf_csiphy_unregister(&stfcamss->csiphy_dev[i]);
-
        stf_dvp_unregister(stfcamss->dvp_dev);
 err_reg_dvp:
        return ret;
@@ -607,22 +562,10 @@ err_reg_dvp:
 
 static void stfcamss_unregister_subdevices(struct stfcamss *stfcamss)
 {
-       int i;
-
        stf_dvp_unregister(stfcamss->dvp_dev);
-
-       i = stfcamss->csiphy_num;
-       for (i--; i >= 0; i--)
-               stf_csiphy_unregister(&stfcamss->csiphy_dev[i]);
-
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       i = stfcamss->csi_num;
-       for (i--; i >= 0; i--)
-               stf_csi_unregister(&stfcamss->csi_dev[i]);
-#endif
-
+       stf_csiphy_unregister(stfcamss->csiphy_dev);
+       stf_csi_unregister(stfcamss->csi_dev);
        stf_isp_unregister(stfcamss->isp_dev);
-
        stf_vin_unregister(stfcamss->vin_dev);
 }
 
@@ -682,23 +625,13 @@ static int stfcamss_subdev_notifier_bound(struct v4l2_async_notifier *async,
        enum port_num port = csd->port;
        struct stf_dvp_dev *dvp_dev = stfcamss->dvp_dev;
        struct stf_csiphy_dev *csiphy_dev = stfcamss->csiphy_dev;
-       struct stf_isp_dev *isp_dev = stfcamss->isp_dev;
-       u32 id;
 
        switch (port) {
-       case CSI2RX0_PORT_NUMBER:
-       case CSI2RX1_PORT_NUMBER:
-               id = port - CSI2RX0_PORT_NUMBER;
-               subdev->host_priv = &isp_dev->subdev.entity;
-               break;
        case DVP_SENSOR_PORT_NUMBER:
                dvp_dev->dvp = &csd->interface.dvp;
                subdev->host_priv = &dvp_dev->subdev.entity;
                break;
-       case CSI2RX0_SENSOR_PORT_NUMBER:
-       case CSI2RX1_SENSOR_PORT_NUMBER:
-               id = port - CSI2RX0_SENSOR_PORT_NUMBER;
-               csiphy_dev = &csiphy_dev[id];
+       case CSI2RX_SENSOR_PORT_NUMBER:
                csiphy_dev->csiphy = &csd->interface.csiphy;
                subdev->host_priv = &csiphy_dev->subdev.entity;
                break;
@@ -770,8 +703,7 @@ static const struct media_device_ops stfcamss_media_ops = {
 enum module_id {
        VIN_MODULE = 0,
        ISP_MODULE,
-       CSI0_MODULE,
-       CSI1_MODULE,
+       CSI_MODULE,
        CSIPHY_MODULE,
        DVP_MODULE,
        CLK_MODULE,
@@ -797,8 +729,7 @@ static ssize_t vin_debug_read(struct file *file, char __user *user_buf,
        struct stf_vin_dev *vin = stfcamss->vin;
        struct stf_vin2_dev *vin_dev = stfcamss->vin_dev;
        struct stf_isp_dev *isp_dev = stfcamss->isp_dev;
-       struct stf_csi_dev *csi0_dev = &stfcamss->csi_dev[0];
-       struct stf_csi_dev *csi1_dev = &stfcamss->csi_dev[1];
+       struct stf_csi_dev *csi0_dev = stfcamss->csi_dev;
 
        switch (id_num) {
        case VIN_MODULE:
@@ -819,22 +750,14 @@ static ssize_t vin_debug_read(struct file *file, char __user *user_buf,
                }
                mutex_unlock(&isp_dev->stream_lock);
                break;
-       case CSI0_MODULE:
+       case CSI_MODULE:
                mutex_lock(&csi0_dev->stream_lock);
                if (csi0_dev->stream_count > 0) {
-                       reg_base = vin->mipi0_base;
-                       dump_csi_reg(reg_base, 0);
+                       reg_base = vin->csi2rx_base;
+                       dump_csi_reg(reg_base);
                }
                mutex_unlock(&csi0_dev->stream_lock);
                break;
-       case CSI1_MODULE:
-               mutex_lock(&csi1_dev->stream_lock);
-               if (csi1_dev->stream_count > 0) {
-                       reg_base = vin->mipi1_base;
-                       dump_csi_reg(reg_base, 1);
-               }
-               mutex_unlock(&csi1_dev->stream_lock);
-               break;
        case CLK_MODULE:
                mutex_lock(&vin_dev->power_lock);
                if (vin_dev->power_count > 0) {
@@ -855,8 +778,7 @@ static void set_reg_val(struct stfcamss *stfcamss, int id, u32 offset, u32 val)
        struct stf_vin_dev *vin = stfcamss->vin;
        struct stf_vin2_dev *vin_dev = stfcamss->vin_dev;
        struct stf_isp_dev *isp_dev = stfcamss->isp_dev;
-       struct stf_csi_dev *csi0_dev = &stfcamss->csi_dev[0];
-       struct stf_csi_dev *csi1_dev = &stfcamss->csi_dev[1];
+       struct stf_csi_dev *csi_dev = stfcamss->csi_dev;
        void __iomem *reg_base;
 
        switch (id) {
@@ -882,25 +804,15 @@ static void set_reg_val(struct stfcamss *stfcamss, int id, u32 offset, u32 val)
                }
                mutex_unlock(&isp_dev->stream_lock);
                break;
-       case CSI0_MODULE:
-               mutex_lock(&csi0_dev->stream_lock);
-               if (csi0_dev->stream_count > 0) {
-                       reg_base = vin->mipi0_base;
+       case CSI_MODULE:
+               mutex_lock(&csi_dev->stream_lock);
+               if (csi_dev->stream_count > 0) {
+                       reg_base = vin->csi2rx_base;
                        print_reg(ST_CSI, reg_base, offset);
                        reg_write(reg_base, offset, val);
                        print_reg(ST_CSI, reg_base, offset);
                }
-               mutex_unlock(&csi0_dev->stream_lock);
-               break;
-       case CSI1_MODULE:
-               mutex_lock(&csi1_dev->stream_lock);
-               if (csi1_dev->stream_count > 0) {
-                       reg_base = vin->mipi1_base;
-                       print_reg(ST_CSI, reg_base, offset);
-                       reg_write(reg_base, offset, val);
-                       print_reg(ST_CSI, reg_base, offset);
-               }
-               mutex_unlock(&csi1_dev->stream_lock);
+               mutex_unlock(&csi_dev->stream_lock);
                break;
        case CLK_MODULE:
                mutex_lock(&vin_dev->power_lock);
@@ -1018,13 +930,6 @@ static int stfcamss_probe(struct platform_device *pdev)
        if (!stfcamss)
                return -ENOMEM;
 
-       stfcamss->csi_num = 2;
-#ifndef CONFIG_VIDEO_CADENCE_CSI2RX
-       stfcamss->csiphy_num = 2;
-#else
-       stfcamss->csiphy_num = 1;
-#endif
-
        stfcamss->dvp_dev = devm_kzalloc(dev,
                sizeof(*stfcamss->dvp_dev), GFP_KERNEL);
        if (!stfcamss->dvp_dev) {
@@ -1033,7 +938,7 @@ static int stfcamss_probe(struct platform_device *pdev)
        }
 
        stfcamss->csiphy_dev = devm_kzalloc(dev,
-               stfcamss->csiphy_num * sizeof(*stfcamss->csiphy_dev),
+               sizeof(*stfcamss->csiphy_dev),
                GFP_KERNEL);
        if (!stfcamss->csiphy_dev) {
                ret = -ENOMEM;
@@ -1041,7 +946,7 @@ static int stfcamss_probe(struct platform_device *pdev)
        }
 
        stfcamss->csi_dev = devm_kzalloc(dev,
-               stfcamss->csi_num * sizeof(*stfcamss->csi_dev),
+               sizeof(*stfcamss->csi_dev),
                GFP_KERNEL);
        if (!stfcamss->csi_dev) {
                ret = -ENOMEM;
index db68ab5..cd4fb31 100644 (file)
@@ -33,11 +33,8 @@ enum subdev_type {
 #define STF_PADS_NUM   2
 
 enum port_num {
-       CSI2RX0_PORT_NUMBER = 0,
-       CSI2RX1_PORT_NUMBER,
-       DVP_SENSOR_PORT_NUMBER,
-       CSI2RX0_SENSOR_PORT_NUMBER,
-       CSI2RX1_SENSOR_PORT_NUMBER
+       DVP_SENSOR_PORT_NUMBER = 0,
+       CSI2RX_SENSOR_PORT_NUMBER
 };
 
 enum stf_clk_num {
@@ -87,9 +84,7 @@ struct stfcamss {
        struct device *dev;
        struct stf_vin2_dev *vin_dev;  // subdev
        struct stf_dvp_dev *dvp_dev;   // subdev
-       int csi_num;
        struct stf_csi_dev *csi_dev;   // subdev
-       int csiphy_num;
        struct stf_csiphy_dev *csiphy_dev;   // subdev
        struct stf_isp_dev *isp_dev;   // subdev
        struct v4l2_async_notifier notifier;
index 9d967f2..ee1a716 100755 (executable)
@@ -410,17 +410,16 @@ struct stf_vin_dev {
        struct device *dev;
        struct cdev vin_cdev;
        void __iomem *base;
-       void __iomem *mipi0_base;
+       void __iomem *csi2rx_base;
        void __iomem *clkgen_base;
        void __iomem *rstgen_base;
-       void __iomem *mipi1_base;
        void __iomem *sysctrl_base;
        void __iomem *isp_base;
        void __iomem *vin_top_clkgen_base;
        void __iomem *vin_top_rstgen_base;
        void __iomem *vin_top_iopad_base;
        void __iomem *pmu_test;
-       void __iomem * sys_crg;
+       void __iomem *sys_crg;
        struct vin_framesize frame;
        struct vin_format format;
        bool isp;