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 <pa...@ucw.cz>
> 
> ---
> 
> 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

Reply via email to