On Mon 2017-03-06 08:56:59, Pavel Machek wrote: > omap3isp: add rest of CSI1 support > > CSI1 needs one more bit to be set up. Do just that. > > Signed-off-by: Pavel Machek <pavel@xxxxxx> > > --- > > Hmm. Looking at that... num_data_lanes probably should be modified in > local variable, not globally like this. Should I do that? > > Anything else that needs fixing? Ping? Feedback here would be nice. This is last "interesting" piece of the hardware support... Best regards, Pavel > index 24a9fc5..6feba36 100644 > --- a/drivers/media/platform/omap3isp/ispccp2.c > +++ b/drivers/media/platform/omap3isp/ispccp2.c > @@ -21,6 +23,7 @@ > #include <linux/mutex.h> > #include <linux/uaccess.h> > #include <linux/regulator/consumer.h> > +#include <linux/regmap.h> > > #include "isp.h" > #include "ispreg.h" > @@ -1149,6 +1152,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..cd6351b 100644 > --- a/drivers/media/platform/omap3isp/ispcsiphy.c > +++ b/drivers/media/platform/omap3isp/ispcsiphy.c > @@ -197,9 +200,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 +306,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: > -- (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