omap3isp: add CSI1 support
PATCH 1/1 omap3isp: add CSI1 support
omap3isp: add CSI1 support
Use proper code path for csi1/ccp2 support.
Signed-off-by Pavel Machek <[email protected]>
drivers/media/platform/omap3isp/ispccp2.c +1 -0
@@ -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; }
drivers/media/platform/omap3isp/ispcsiphy.c +15 -9
@@ -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 ; }
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html