omap3isp: add CSI1 support
    
Use proper code path for csi1/ccp2 support.
    
Signed-off-by: Pavel Machek <pa...@ucw.cz>

diff --git a/drivers/media/platform/omap3isp/ispccp2.c 
b/drivers/media/platform/omap3isp/ispccp2.c
index 24a9fc5..47210b1 100644
--- a/drivers/media/platform/omap3isp/ispccp2.c
+++ b/drivers/media/platform/omap3isp/ispccp2.c
@@ -1149,6 +1149,7 @@ int omap3isp_ccp2_init(struct isp_device *isp)
                                "Could not get regulator vdds_csib\n");
                        ccp2->vdds_csib = NULL;
                }
+               ccp2->phy = &isp->isp_csiphy2;
        } else if (isp->revision == ISP_REVISION_15_0) {
                ccp2->phy = &isp->isp_csiphy1;
        }
diff --git a/drivers/media/platform/omap3isp/ispcsiphy.c 
b/drivers/media/platform/omap3isp/ispcsiphy.c
index 50c0f64..a5ac2b40 100644
--- a/drivers/media/platform/omap3isp/ispcsiphy.c
+++ b/drivers/media/platform/omap3isp/ispcsiphy.c
@@ -197,9 +197,10 @@ static int omap3isp_csiphy_config(struct isp_csiphy *phy)
        }
 
        if (buscfg->interface == ISP_INTERFACE_CCP2B_PHY1
-           || buscfg->interface == ISP_INTERFACE_CCP2B_PHY2)
+           || buscfg->interface == ISP_INTERFACE_CCP2B_PHY2) {
                lanes = &buscfg->bus.ccp2.lanecfg;
-       else
+               phy->num_data_lanes = 1;
+       } else
                lanes = &buscfg->bus.csi2.lanecfg;
 
        /* Clock and data lanes verification */
@@ -302,13 +303,16 @@ int omap3isp_csiphy_acquire(struct isp_csiphy *phy)
        if (rval < 0)
                goto done;
 
-       rval = csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_ON);
-       if (rval) {
-               regulator_disable(phy->vdd);
-               goto done;
+       if (phy->isp->revision == ISP_REVISION_15_0) {
+               rval = csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_ON);
+               if (rval) {
+                       regulator_disable(phy->vdd);
+                       goto done;
+               }
+
+               csiphy_power_autoswitch_enable(phy, true);
        }
 
-       csiphy_power_autoswitch_enable(phy, true);
        phy->phy_in_use = 1;
 
 done:
@@ -326,8 +330,10 @@ void omap3isp_csiphy_release(struct isp_csiphy *phy)
 
                csiphy_routing_cfg(phy, buscfg->interface, false,
                                   buscfg->bus.ccp2.phy_layer);
-               csiphy_power_autoswitch_enable(phy, false);
-               csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_OFF);
+               if (phy->isp->revision == ISP_REVISION_15_0) {
+                       csiphy_power_autoswitch_enable(phy, false);
+                       csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_OFF);
+               }
                regulator_disable(phy->vdd);
                phy->phy_in_use = 0;
        }



-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature

Reply via email to