* Sakari Ailus <[email protected]> [150307 15:44]:
> Hi Laurent,
>
> On Sun, Mar 08, 2015 at 01:34:17AM +0200, Laurent Pinchart wrote:
> > Hi Sakari,
> >
> > Thank you for the patch.
> >
> > (CC'ing linux-omap and Tony)
>
> Thanks.
>
> > On Saturday 07 March 2015 23:41:07 Sakari Ailus wrote:
> > > The syscon register isn't part of the ISP, use it through the syscom
> > > driver
> > > regmap instead. The syscom block is considered to be from 343x on ISP
> > > revision 2.0 whereas 15.0 is assumed to have 3630 syscon.
> > >
> > > Signed-off-by: Sakari Ailus <[email protected]>
> > > ---
> > > arch/arm/boot/dts/omap3.dtsi | 2 +-
> > > arch/arm/mach-omap2/devices.c | 10 ----------
> > > drivers/media/platform/omap3isp/isp.c | 19 +++++++++++++++----
> > > drivers/media/platform/omap3isp/isp.h | 19 +++++++++++++++++--
> > > drivers/media/platform/omap3isp/ispcsiphy.c | 20 +++++++++-----------
> >
> > You might be asked to split the patch into two, let's see what Tony says.
> >
> > > 5 files changed, 42 insertions(+), 28 deletions(-)
> > >
> > > diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
> > > index 01b7111..fe0b293 100644
> > > --- a/arch/arm/boot/dts/omap3.dtsi
> > > +++ b/arch/arm/boot/dts/omap3.dtsi
> > > @@ -183,7 +183,7 @@
> > >
> > > omap3_scm_general: tisyscon@48002270 {
> > > compatible = "syscon";
> > > - reg = <0x48002270 0x2f0>;
> > > + reg = <0x48002270 0x2f4>;
> > > };
> > >
> > > pbias_regulator: pbias_regulator {
Can you please send the above dts change separately as a fix describing
what goes wrong? Let's get that out of the way for the -rc, otherwise
we're going to probably get conflicts with Tero's dts changes.
> > > diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> > > index 1afb50d..e945957 100644
> > > --- a/arch/arm/mach-omap2/devices.c
> > > +++ b/arch/arm/mach-omap2/devices.c
> > > @@ -143,16 +143,6 @@ static struct resource omap3isp_resources[] = {
> > > .flags = IORESOURCE_MEM,
> > > },
> > > {
> > > - .start = OMAP343X_CTRL_BASE + OMAP343X_CONTROL_CSIRXFE,
> > > - .end = OMAP343X_CTRL_BASE + OMAP343X_CONTROL_CSIRXFE
> > > + 3,
> > > - .flags = IORESOURCE_MEM,
> > > - },
> > > - {
> > > - .start = OMAP343X_CTRL_BASE +
> > > OMAP3630_CONTROL_CAMERA_PHY_CTRL,
> > > - .end = OMAP343X_CTRL_BASE +
> > > OMAP3630_CONTROL_CAMERA_PHY_CTRL + 3,
> > > - .flags = IORESOURCE_MEM,
> > > - },
> > > - {
> > > .start = 24 + OMAP_INTC_START,
> > > .flags = IORESOURCE_IRQ,
> > > }
Looks good to me, teel free to merge this part along with the other
isp changes:
Acked-by: Tony Lindgren <[email protected]>
> > > diff --git a/drivers/media/platform/omap3isp/isp.c
> > > b/drivers/media/platform/omap3isp/isp.c index 68d7edfc..4ff4bbd 100644
> > > --- a/drivers/media/platform/omap3isp/isp.c
> > > +++ b/drivers/media/platform/omap3isp/isp.c
> > > @@ -51,6 +51,7 @@
> > > #include <linux/dma-mapping.h>
> > > #include <linux/i2c.h>
> > > #include <linux/interrupt.h>
> > > +#include <linux/mfd/syscon.h>
> > > #include <linux/module.h>
> > > #include <linux/omap-iommu.h>
> > > #include <linux/platform_device.h>
> > > @@ -94,8 +95,9 @@ static const struct isp_res_mapping isp_res_maps[] = {
> > > 1 << OMAP3_ISP_IOMEM_RESZ |
> > > 1 << OMAP3_ISP_IOMEM_SBL |
> > > 1 << OMAP3_ISP_IOMEM_CSI2A_REGS1 |
> > > - 1 << OMAP3_ISP_IOMEM_CSIPHY2 |
> > > - 1 << OMAP3_ISP_IOMEM_343X_CONTROL_CSIRXFE,
> > > + 1 << OMAP3_ISP_IOMEM_CSIPHY2,
> > > + .syscon_offset = 0xdc,
> > > + .phy_type = ISP_PHY_TYPE_3430,
> > > },
> > > {
> > > .isp_rev = ISP_REVISION_15_0,
> > > @@ -112,8 +114,9 @@ static const struct isp_res_mapping isp_res_maps[] = {
> > > 1 << OMAP3_ISP_IOMEM_CSI2A_REGS2 |
> > > 1 << OMAP3_ISP_IOMEM_CSI2C_REGS1 |
> > > 1 << OMAP3_ISP_IOMEM_CSIPHY1 |
> > > - 1 << OMAP3_ISP_IOMEM_CSI2C_REGS2 |
> > > - 1 << OMAP3_ISP_IOMEM_3630_CONTROL_CAMERA_PHY_CTRL,
> > > + 1 << OMAP3_ISP_IOMEM_CSI2C_REGS2,
> > > + .syscon_offset = 0x2f0,
> > > + .phy_type = ISP_PHY_TYPE_3630,
> > > },
> > > };
> > >
> > > @@ -2352,6 +2355,14 @@ static int isp_probe(struct platform_device *pdev)
> > > }
> > > }
> > >
> > > + isp->syscon = syscon_regmap_lookup_by_pdevname("syscon.0");
> > > + isp->syscon_offset = isp_res_maps[m].syscon_offset;
> > > + isp->phy_type = isp_res_maps[m].phy_type;
> >
> > You could move those two lines after the error check to keep the check
> > closer
> > to the source of error.
>
> Ack.
>
> > Apart from that,
> >
> > Acked-by: Laurent Pinchart <[email protected]>
>
> Thanks for the acks!
>
> --
> Kind regards,
>
> Sakari Ailus
> e-mail: [email protected] XMPP: [email protected]
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html