Message ID | 20240403150355.189229-19-git@luigi311.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | imx258 improvement series | expand |
On Wed, Apr 03, 2024 at 09:03:47AM -0600, git@luigi311.com wrote: > From: Dave Stevenson <dave.stevenson@raspberrypi.com> > > There are a number of variants of the imx258 modules that can not > be differentiated at runtime, so add compatible strings for the > PDAF variant. > > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > Signed-off-by: Luis Garcia <git@luigi311.com> > --- > .../devicetree/bindings/media/i2c/sony,imx258.yaml | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > index bee61a443b23..c978abc0cdb3 100644 > --- a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > @@ -13,11 +13,16 @@ description: |- > IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel > type stacked image sensor with a square pixel array of size 4208 x 3120. It > is programmable through I2C interface. Image data is sent through MIPI > - CSI-2. > + CSI-2. The sensor exists in two different models, a standard variant > + (IMX258) and a variant with phase detection autofocus (IMX258-PDAF). > + The camera module does not expose the model through registers, so the > + exact model needs to be specified. > > properties: > compatible: > - const: sony,imx258 > + enum: > + - sony,imx258 > + - sony,imx258-pdaf Does the pdaf variant support all of the features/is it register compatible with the regular variant? If it is, the regular variant should be a fallback compatible. Cheers, Conor.
Hi Conor On Wed, 3 Apr 2024 at 17:14, Conor Dooley <conor@kernel.org> wrote: > > On Wed, Apr 03, 2024 at 09:03:47AM -0600, git@luigi311.com wrote: > > From: Dave Stevenson <dave.stevenson@raspberrypi.com> > > > > There are a number of variants of the imx258 modules that can not > > be differentiated at runtime, so add compatible strings for the > > PDAF variant. > > > > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > > Signed-off-by: Luis Garcia <git@luigi311.com> > > --- > > .../devicetree/bindings/media/i2c/sony,imx258.yaml | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > index bee61a443b23..c978abc0cdb3 100644 > > --- a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > @@ -13,11 +13,16 @@ description: |- > > IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel > > type stacked image sensor with a square pixel array of size 4208 x 3120. It > > is programmable through I2C interface. Image data is sent through MIPI > > - CSI-2. > > + CSI-2. The sensor exists in two different models, a standard variant > > + (IMX258) and a variant with phase detection autofocus (IMX258-PDAF). > > + The camera module does not expose the model through registers, so the > > + exact model needs to be specified. > > > > properties: > > compatible: > > - const: sony,imx258 > > + enum: > > + - sony,imx258 > > + - sony,imx258-pdaf > > Does the pdaf variant support all of the features/is it register > compatible with the regular variant? If it is, the regular variant > should be a fallback compatible. It has the same register set, but certain registers have to be programmed differently so that the image is corrected for the partially shielded pixels used for phase detect auto focus (PDAF). Either compatible will "work" on either variant of the module, but you'll get weird image artifacts when using the wrong one. Dave > Cheers, > Conor.
On Fri, Apr 05, 2024 at 11:25:50AM +0100, Dave Stevenson wrote: > Hi Conor > > On Wed, 3 Apr 2024 at 17:14, Conor Dooley <conor@kernel.org> wrote: > > > > On Wed, Apr 03, 2024 at 09:03:47AM -0600, git@luigi311.com wrote: > > > From: Dave Stevenson <dave.stevenson@raspberrypi.com> > > > > > > There are a number of variants of the imx258 modules that can not > > > be differentiated at runtime, so add compatible strings for the > > > PDAF variant. > > > > > > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > > > Signed-off-by: Luis Garcia <git@luigi311.com> > > > --- > > > .../devicetree/bindings/media/i2c/sony,imx258.yaml | 9 +++++++-- > > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > > index bee61a443b23..c978abc0cdb3 100644 > > > --- a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > > +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > > @@ -13,11 +13,16 @@ description: |- > > > IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel > > > type stacked image sensor with a square pixel array of size 4208 x 3120. It > > > is programmable through I2C interface. Image data is sent through MIPI > > > - CSI-2. > > > + CSI-2. The sensor exists in two different models, a standard variant > > > + (IMX258) and a variant with phase detection autofocus (IMX258-PDAF). > > > + The camera module does not expose the model through registers, so the > > > + exact model needs to be specified. > > > > > > properties: > > > compatible: > > > - const: sony,imx258 > > > + enum: > > > + - sony,imx258 > > > + - sony,imx258-pdaf > > > > Does the pdaf variant support all of the features/is it register > > compatible with the regular variant? If it is, the regular variant > > should be a fallback compatible. > > It has the same register set, but certain registers have to be > programmed differently so that the image is corrected for the > partially shielded pixels used for phase detect auto focus (PDAF). > Either compatible will "work" on either variant of the module, but > you'll get weird image artifacts when using the wrong one. To paraphase, a fallback compatible is not suitable. Thanks Dave, Conor.
On Fri, Apr 05, 2024 at 05:24:11PM +0100, Conor Dooley wrote: > On Fri, Apr 05, 2024 at 11:25:50AM +0100, Dave Stevenson wrote: > > Hi Conor > > > > On Wed, 3 Apr 2024 at 17:14, Conor Dooley <conor@kernel.org> wrote: > > > > > > On Wed, Apr 03, 2024 at 09:03:47AM -0600, git@luigi311.com wrote: > > > > From: Dave Stevenson <dave.stevenson@raspberrypi.com> > > > > > > > > There are a number of variants of the imx258 modules that can not > > > > be differentiated at runtime, so add compatible strings for the > > > > PDAF variant. > > > > > > > > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > > > > Signed-off-by: Luis Garcia <git@luigi311.com> > > > > --- > > > > .../devicetree/bindings/media/i2c/sony,imx258.yaml | 9 +++++++-- > > > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > > > index bee61a443b23..c978abc0cdb3 100644 > > > > --- a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > > > +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml > > > > @@ -13,11 +13,16 @@ description: |- > > > > IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel > > > > type stacked image sensor with a square pixel array of size 4208 x 3120. It > > > > is programmable through I2C interface. Image data is sent through MIPI > > > > - CSI-2. > > > > + CSI-2. The sensor exists in two different models, a standard variant > > > > + (IMX258) and a variant with phase detection autofocus (IMX258-PDAF). > > > > + The camera module does not expose the model through registers, so the > > > > + exact model needs to be specified. > > > > > > > > properties: > > > > compatible: > > > > - const: sony,imx258 > > > > + enum: > > > > + - sony,imx258 > > > > + - sony,imx258-pdaf > > > > > > Does the pdaf variant support all of the features/is it register > > > compatible with the regular variant? If it is, the regular variant > > > should be a fallback compatible. > > > > It has the same register set, but certain registers have to be > > programmed differently so that the image is corrected for the > > partially shielded pixels used for phase detect auto focus (PDAF). > > Either compatible will "work" on either variant of the module, but > > you'll get weird image artifacts when using the wrong one. > > To paraphase, a fallback compatible is not suitable. Whoops, I forgot this: Acked-by: Conor Dooley <conor.dooley@microchip.com> Cheers, Conor.
On Wed, 03 Apr 2024 09:03:47 -0600, git@luigi311.com wrote: > From: Dave Stevenson <dave.stevenson@raspberrypi.com> > > There are a number of variants of the imx258 modules that can not > be differentiated at runtime, so add compatible strings for the > PDAF variant. > > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > Signed-off-by: Luis Garcia <git@luigi311.com> > --- > .../devicetree/bindings/media/i2c/sony,imx258.yaml | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml index bee61a443b23..c978abc0cdb3 100644 --- a/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx258.yaml @@ -13,11 +13,16 @@ description: |- IMX258 is a diagonal 5.867mm (Type 1/3.06) 13 Mega-pixel CMOS active pixel type stacked image sensor with a square pixel array of size 4208 x 3120. It is programmable through I2C interface. Image data is sent through MIPI - CSI-2. + CSI-2. The sensor exists in two different models, a standard variant + (IMX258) and a variant with phase detection autofocus (IMX258-PDAF). + The camera module does not expose the model through registers, so the + exact model needs to be specified. properties: compatible: - const: sony,imx258 + enum: + - sony,imx258 + - sony,imx258-pdaf assigned-clocks: true assigned-clock-parents: true