Commit a6b687df authored by Pavel Machek's avatar Pavel Machek Committed by Mauro Carvalho Chehab

media: omap3isp: add CSI1 support

CSI-2 PHY power management is only needed for major version 15 of the ISP.
Additionally, set the CCP2 PHY for previous ISP versions as well.

These changes are necessary for CCP2 support.
Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 3a738c3f
...@@ -1141,6 +1141,7 @@ int omap3isp_ccp2_init(struct isp_device *isp) ...@@ -1141,6 +1141,7 @@ int omap3isp_ccp2_init(struct isp_device *isp)
"Could not get regulator vdds_csib\n"); "Could not get regulator vdds_csib\n");
ccp2->vdds_csib = NULL; ccp2->vdds_csib = NULL;
} }
ccp2->phy = &isp->isp_csiphy2;
} else if (isp->revision == ISP_REVISION_15_0) { } else if (isp->revision == ISP_REVISION_15_0) {
ccp2->phy = &isp->isp_csiphy1; ccp2->phy = &isp->isp_csiphy1;
} }
......
...@@ -292,6 +292,7 @@ int omap3isp_csiphy_acquire(struct isp_csiphy *phy) ...@@ -292,6 +292,7 @@ int omap3isp_csiphy_acquire(struct isp_csiphy *phy)
if (rval < 0) if (rval < 0)
goto done; goto done;
if (phy->isp->revision == ISP_REVISION_15_0) {
rval = csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_ON); rval = csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_ON);
if (rval) { if (rval) {
regulator_disable(phy->vdd); regulator_disable(phy->vdd);
...@@ -299,6 +300,8 @@ int omap3isp_csiphy_acquire(struct isp_csiphy *phy) ...@@ -299,6 +300,8 @@ int omap3isp_csiphy_acquire(struct isp_csiphy *phy)
} }
csiphy_power_autoswitch_enable(phy, true); csiphy_power_autoswitch_enable(phy, true);
}
phy->phy_in_use = 1; phy->phy_in_use = 1;
done: done:
...@@ -317,8 +320,10 @@ void omap3isp_csiphy_release(struct isp_csiphy *phy) ...@@ -317,8 +320,10 @@ void omap3isp_csiphy_release(struct isp_csiphy *phy)
csiphy_routing_cfg(phy, buscfg->interface, false, csiphy_routing_cfg(phy, buscfg->interface, false,
buscfg->bus.ccp2.phy_layer); buscfg->bus.ccp2.phy_layer);
if (phy->isp->revision == ISP_REVISION_15_0) {
csiphy_power_autoswitch_enable(phy, false); csiphy_power_autoswitch_enable(phy, false);
csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_OFF); csiphy_set_power(phy, ISPCSI2_PHY_CFG_PWR_CMD_OFF);
}
regulator_disable(phy->vdd); regulator_disable(phy->vdd);
phy->phy_in_use = 0; phy->phy_in_use = 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment