diff mbox series

media: dt-bindings: ov2685: convert to dtschema

Message ID 20230206-ov2685-dtschema-v1-1-9e4da3474c10@z3ntu.xyz
State Changes Requested, archived
Headers show
Series media: dt-bindings: ov2685: convert to dtschema | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 2 warnings, 108 lines checked
robh/patch-applied success
robh/dt-meta-schema fail build log

Commit Message

Luca Weiss Feb. 6, 2023, 8:23 p.m. UTC
Convert the text-based dt-bindings to yaml.

Changes from original txt:
* Take wording for various properties from other yaml bindings, this
  removes e.g. volt amount from schema since it isn't really relevant
  and the datasheet is a better source.
* Don't make reset-gpios a required property since it can be tied to
  DOVDD instead.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
---
 .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
 .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101 +++++++++++++++++++++
 MAINTAINERS                                        |   1 +
 3 files changed, 102 insertions(+), 41 deletions(-)


---
base-commit: 129af770823407ee115a56c69a04b440fd2fbe61
change-id: 20230206-ov2685-dtschema-d3c4a2cd4a65

Best regards,

Comments

Rob Herring (Arm) Feb. 6, 2023, 9:50 p.m. UTC | #1
On Mon, 06 Feb 2023 21:23:16 +0100, Luca Weiss wrote:
> Convert the text-based dt-bindings to yaml.
> 
> Changes from original txt:
> * Take wording for various properties from other yaml bindings, this
>   removes e.g. volt amount from schema since it isn't really relevant
>   and the datasheet is a better source.
> * Don't make reset-gpios a required property since it can be tied to
>   DOVDD instead.
> 
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
>  .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
>  .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101 +++++++++++++++++++++
>  MAINTAINERS                                        |   1 +
>  3 files changed, 102 insertions(+), 41 deletions(-)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'clocks' is a required property
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'clock-names' is a required property
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'dvdd-supply' is a required property
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'avdd-supply' is a required property
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'dovdd-supply' is a required property
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230206-ov2685-dtschema-v1-1-9e4da3474c10@z3ntu.xyz

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Luca Weiss Feb. 9, 2023, 4:46 p.m. UTC | #2
+CC Helen Koike

On Montag, 6. Februar 2023 22:50:08 CET Rob Herring wrote:
> On Mon, 06 Feb 2023 21:23:16 +0100, Luca Weiss wrote:
> > Convert the text-based dt-bindings to yaml.
> > 
> > Changes from original txt:
> > * Take wording for various properties from other yaml bindings, this
> > 
> >   removes e.g. volt amount from schema since it isn't really relevant
> >   and the datasheet is a better source.
> > 
> > * Don't make reset-gpios a required property since it can be tied to
> > 
> >   DOVDD instead.
> > 
> > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > ---
> > 
> >  .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
> >  .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101
> >  +++++++++++++++++++++ MAINTAINERS                                       
> >  |   1 +
> >  3 files changed, 102 insertions(+), 41 deletions(-)
> 
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/medi
> a/rockchip-isp1.example.dtb: camera@3c: 'clocks' is a required property From
> schema:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/rockchip-isp1.example.dtb: camera@3c: 'clock-names' is a required
> property From schema:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/rockchip-isp1.example.dtb: camera@3c: 'dvdd-supply' is a required
> property From schema:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/rockchip-isp1.example.dtb: camera@3c: 'avdd-supply' is a required
> property From schema:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/rockchip-isp1.example.dtb: camera@3c: 'dovdd-supply' is a required
> property From schema:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> ia/i2c/ovti,ov2685.yaml

Looks like rockchip-isp1.yaml uses very incomplete sensor examples in their 
binding example, which sort of makes sense since those bindings are showing 
the rockchip isp bindings and contain the bare minimum to show how a sensor is 
connected in dt.

Not sure how to solve this - ov2685 is also one of three sensors that are used 
very abbreviated there.

Regards
Luca

> 
> doc reference errors (make refcheckdocs):
> 
> See
> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230206-ov2
> 685-dtschema-v1-1-9e4da3474c10@z3ntu.xyz
> 
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your
> schema.
Sakari Ailus March 14, 2023, noon UTC | #3
Hi Luca,

On Thu, Feb 09, 2023 at 05:46:48PM +0100, Luca Weiss wrote:
> +CC Helen Koike
> 
> On Montag, 6. Februar 2023 22:50:08 CET Rob Herring wrote:
> > On Mon, 06 Feb 2023 21:23:16 +0100, Luca Weiss wrote:
> > > Convert the text-based dt-bindings to yaml.
> > > 
> > > Changes from original txt:
> > > * Take wording for various properties from other yaml bindings, this
> > > 
> > >   removes e.g. volt amount from schema since it isn't really relevant
> > >   and the datasheet is a better source.
> > > 
> > > * Don't make reset-gpios a required property since it can be tied to
> > > 
> > >   DOVDD instead.
> > > 
> > > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > > ---
> > > 
> > >  .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
> > >  .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101
> > >  +++++++++++++++++++++ MAINTAINERS                                       
> > >  |   1 +
> > >  3 files changed, 102 insertions(+), 41 deletions(-)
> > 
> > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > 
> > yamllint warnings/errors:
> > 
> > dtschema/dtc warnings/errors:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/medi
> > a/rockchip-isp1.example.dtb: camera@3c: 'clocks' is a required property From
> > schema:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/i2c/ovti,ov2685.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/rockchip-isp1.example.dtb: camera@3c: 'clock-names' is a required
> > property From schema:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/i2c/ovti,ov2685.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/rockchip-isp1.example.dtb: camera@3c: 'dvdd-supply' is a required
> > property From schema:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/i2c/ovti,ov2685.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/rockchip-isp1.example.dtb: camera@3c: 'avdd-supply' is a required
> > property From schema:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/i2c/ovti,ov2685.yaml
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/rockchip-isp1.example.dtb: camera@3c: 'dovdd-supply' is a required
> > property From schema:
> > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/med
> > ia/i2c/ovti,ov2685.yaml
> 
> Looks like rockchip-isp1.yaml uses very incomplete sensor examples in their 
> binding example, which sort of makes sense since those bindings are showing 
> the rockchip isp bindings and contain the bare minimum to show how a sensor is 
> connected in dt.
> 
> Not sure how to solve this - ov2685 is also one of three sensors that are used 
> very abbreviated there.

Could these regulators be simply made optional?
Luca Weiss March 14, 2023, 6:33 p.m. UTC | #4
On Dienstag, 14. März 2023 13:00:52 CET Sakari Ailus wrote:
> Hi Luca,
> 
> On Thu, Feb 09, 2023 at 05:46:48PM +0100, Luca Weiss wrote:
> > +CC Helen Koike
> > 
> > On Montag, 6. Februar 2023 22:50:08 CET Rob Herring wrote:
> > > On Mon, 06 Feb 2023 21:23:16 +0100, Luca Weiss wrote:
> > > > Convert the text-based dt-bindings to yaml.
> > > > 
> > > > Changes from original txt:
> > > > * Take wording for various properties from other yaml bindings, this
> > > > 
> > > >   removes e.g. volt amount from schema since it isn't really relevant
> > > >   and the datasheet is a better source.
> > > > 
> > > > * Don't make reset-gpios a required property since it can be tied to
> > > > 
> > > >   DOVDD instead.
> > > > 
> > > > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > > > ---
> > > > 
> > > >  .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
> > > >  .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101
> > > >  +++++++++++++++++++++ MAINTAINERS
> > > >  
> > > >  |   1 +
> > > >  
> > > >  3 files changed, 102 insertions(+), 41 deletions(-)
> > > 
> > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > > 
> > > yamllint warnings/errors:
> > > 
> > > dtschema/dtc warnings/errors:
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > medi a/rockchip-isp1.example.dtb: camera@3c: 'clocks' is a required
> > > property From schema:
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/i2c/ovti,ov2685.yaml
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/rockchip-isp1.example.dtb: camera@3c: 'clock-names' is a required
> > > property From schema:
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/i2c/ovti,ov2685.yaml
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/rockchip-isp1.example.dtb: camera@3c: 'dvdd-supply' is a required
> > > property From schema:
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/i2c/ovti,ov2685.yaml
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/rockchip-isp1.example.dtb: camera@3c: 'avdd-supply' is a required
> > > property From schema:
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/i2c/ovti,ov2685.yaml
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/rockchip-isp1.example.dtb: camera@3c: 'dovdd-supply' is a required
> > > property From schema:
> > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > med
> > > ia/i2c/ovti,ov2685.yaml
> > 
> > Looks like rockchip-isp1.yaml uses very incomplete sensor examples in
> > their
> > binding example, which sort of makes sense since those bindings are
> > showing
> > the rockchip isp bindings and contain the bare minimum to show how a
> > sensor is connected in dt.
> > 
> > Not sure how to solve this - ov2685 is also one of three sensors that are
> > used very abbreviated there.
> 
> Could these regulators be simply made optional?

Sure, from driver side it would just get dummy regulators instead.

Still the clocks are also missing in this rockchip example. Any suggestion 
what to do about those?

Honestly I don't want to spend too much time on some ISP docs that I don't 
really care about, would be nice if the maintainers of that could do that...

Regards
Luca
Krzysztof Kozlowski March 14, 2023, 6:36 p.m. UTC | #5
On 14/03/2023 19:33, Luca Weiss wrote:
>>>> ia/i2c/ovti,ov2685.yaml
>>>
>>> Looks like rockchip-isp1.yaml uses very incomplete sensor examples in
>>> their
>>> binding example, which sort of makes sense since those bindings are
>>> showing
>>> the rockchip isp bindings and contain the bare minimum to show how a
>>> sensor is connected in dt.
>>>
>>> Not sure how to solve this - ov2685 is also one of three sensors that are
>>> used very abbreviated there.
>>
>> Could these regulators be simply made optional?
> 
> Sure, from driver side it would just get dummy regulators instead.
> 
> Still the clocks are also missing in this rockchip example. Any suggestion 
> what to do about those?
> 
> Honestly I don't want to spend too much time on some ISP docs that I don't 
> really care about, would be nice if the maintainers of that could do that...

In perfect world, the bindings describe the hardware and if hardware
requires supply or clock to operate, then it should be required in the
binding. If some other DTS do not validate - their problem...

In practice, we make tradeoffs. But is it the case here? The binding was
always requiring supplies and clocks, so there is no reason to make
supplies optional. Unless you know the device and they are really optional.

Best regards,
Krzysztof
Krzysztof Kozlowski March 14, 2023, 6:37 p.m. UTC | #6
On 06/02/2023 22:50, Rob Herring wrote:
> 
> On Mon, 06 Feb 2023 21:23:16 +0100, Luca Weiss wrote:
>> Convert the text-based dt-bindings to yaml.
>>
>> Changes from original txt:
>> * Take wording for various properties from other yaml bindings, this
>>   removes e.g. volt amount from schema since it isn't really relevant
>>   and the datasheet is a better source.
>> * Don't make reset-gpios a required property since it can be tied to
>>   DOVDD instead.
>>
>> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
>> ---
>>  .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
>>  .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101 +++++++++++++++++++++
>>  MAINTAINERS                                        |   1 +
>>  3 files changed, 102 insertions(+), 41 deletions(-)
>>
> 
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'clocks' is a required property
> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'clock-names' is a required property
> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'dvdd-supply' is a required property
> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'avdd-supply' is a required property
> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'dovdd-supply' is a required property
> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml

These are errors from the bindings, so they must be fixed. If you do not
want to fix the rockchip bindings, just drop or replace the sensor in them.

Best regards,
Krzysztof
Krzysztof Kozlowski March 14, 2023, 6:37 p.m. UTC | #7
On 14/03/2023 19:37, Krzysztof Kozlowski wrote:
> On 06/02/2023 22:50, Rob Herring wrote:
>>
>> On Mon, 06 Feb 2023 21:23:16 +0100, Luca Weiss wrote:
>>> Convert the text-based dt-bindings to yaml.
>>>
>>> Changes from original txt:
>>> * Take wording for various properties from other yaml bindings, this
>>>   removes e.g. volt amount from schema since it isn't really relevant
>>>   and the datasheet is a better source.
>>> * Don't make reset-gpios a required property since it can be tied to
>>>   DOVDD instead.
>>>
>>> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
>>> ---
>>>  .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
>>>  .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101 +++++++++++++++++++++
>>>  MAINTAINERS                                        |   1 +
>>>  3 files changed, 102 insertions(+), 41 deletions(-)
>>>
>>
>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'clocks' is a required property
>> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'clock-names' is a required property
>> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'dvdd-supply' is a required property
>> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'avdd-supply' is a required property
>> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: camera@3c: 'dovdd-supply' is a required property
>> 	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
> 
> These are errors from the bindings, so they must be fixed. If you do not
> want to fix the rockchip bindings, just drop or replace the sensor in them.

Or one more: add some fake stubs. They do not matter anyway...

Best regards,
Krzysztof
Sakari Ailus March 14, 2023, 7:53 p.m. UTC | #8
On Tue, Mar 14, 2023 at 07:33:06PM +0100, Luca Weiss wrote:
> On Dienstag, 14. März 2023 13:00:52 CET Sakari Ailus wrote:
> > Hi Luca,
> > 
> > On Thu, Feb 09, 2023 at 05:46:48PM +0100, Luca Weiss wrote:
> > > +CC Helen Koike
> > > 
> > > On Montag, 6. Februar 2023 22:50:08 CET Rob Herring wrote:
> > > > On Mon, 06 Feb 2023 21:23:16 +0100, Luca Weiss wrote:
> > > > > Convert the text-based dt-bindings to yaml.
> > > > > 
> > > > > Changes from original txt:
> > > > > * Take wording for various properties from other yaml bindings, this
> > > > > 
> > > > >   removes e.g. volt amount from schema since it isn't really relevant
> > > > >   and the datasheet is a better source.
> > > > > 
> > > > > * Don't make reset-gpios a required property since it can be tied to
> > > > > 
> > > > >   DOVDD instead.
> > > > > 
> > > > > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > > > > ---
> > > > > 
> > > > >  .../devicetree/bindings/media/i2c/ov2685.txt       |  41 ---------
> > > > >  .../devicetree/bindings/media/i2c/ovti,ov2685.yaml | 101
> > > > >  +++++++++++++++++++++ MAINTAINERS
> > > > >  
> > > > >  |   1 +
> > > > >  
> > > > >  3 files changed, 102 insertions(+), 41 deletions(-)
> > > > 
> > > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> > > > on your patch (DT_CHECKER_FLAGS is new in v5.13):
> > > > 
> > > > yamllint warnings/errors:
> > > > 
> > > > dtschema/dtc warnings/errors:
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > medi a/rockchip-isp1.example.dtb: camera@3c: 'clocks' is a required
> > > > property From schema:
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/i2c/ovti,ov2685.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/rockchip-isp1.example.dtb: camera@3c: 'clock-names' is a required
> > > > property From schema:
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/i2c/ovti,ov2685.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/rockchip-isp1.example.dtb: camera@3c: 'dvdd-supply' is a required
> > > > property From schema:
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/i2c/ovti,ov2685.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/rockchip-isp1.example.dtb: camera@3c: 'avdd-supply' is a required
> > > > property From schema:
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/i2c/ovti,ov2685.yaml
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/rockchip-isp1.example.dtb: camera@3c: 'dovdd-supply' is a required
> > > > property From schema:
> > > > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/
> > > > med
> > > > ia/i2c/ovti,ov2685.yaml
> > > 
> > > Looks like rockchip-isp1.yaml uses very incomplete sensor examples in
> > > their
> > > binding example, which sort of makes sense since those bindings are
> > > showing
> > > the rockchip isp bindings and contain the bare minimum to show how a
> > > sensor is connected in dt.
> > > 
> > > Not sure how to solve this - ov2685 is also one of three sensors that are
> > > used very abbreviated there.
> > 
> > Could these regulators be simply made optional?
> 
> Sure, from driver side it would just get dummy regulators instead.
> 
> Still the clocks are also missing in this rockchip example. Any suggestion 
> what to do about those?
> 
> Honestly I don't want to spend too much time on some ISP docs that I don't 
> really care about, would be nice if the maintainers of that could do that...

Ah, I think I missed this was about examples only, not actual DT source.

I guess you could just make up some clocks in that case? :-)
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/i2c/ov2685.txt b/Documentation/devicetree/bindings/media/i2c/ov2685.txt
deleted file mode 100644
index 625c4a8c0d53..000000000000
--- a/Documentation/devicetree/bindings/media/i2c/ov2685.txt
+++ /dev/null
@@ -1,41 +0,0 @@ 
-* Omnivision OV2685 MIPI CSI-2 sensor
-
-Required Properties:
-- compatible: shall be "ovti,ov2685"
-- clocks: reference to the xvclk input clock
-- clock-names: shall be "xvclk"
-- avdd-supply: Analog voltage supply, 2.8 volts
-- dovdd-supply: Digital I/O voltage supply, 1.8 volts
-- dvdd-supply: Digital core voltage supply, 1.8 volts
-- reset-gpios: Low active reset gpio
-
-The device node shall contain one 'port' child node with an
-'endpoint' subnode for its digital output video port,
-in accordance with the video interface bindings defined in
-Documentation/devicetree/bindings/media/video-interfaces.txt.
-The endpoint optional property 'data-lanes' shall be "<1>".
-
-Example:
-&i2c7 {
-	ov2685: camera-sensor@3c {
-		compatible = "ovti,ov2685";
-		reg = <0x3c>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&clk_24m_cam>;
-
-		clocks = <&cru SCLK_TESTCLKOUT1>;
-		clock-names = "xvclk";
-
-		avdd-supply = <&pp2800_cam>;
-		dovdd-supply = <&pp1800>;
-		dvdd-supply = <&pp1800>;
-		reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
-
-		port {
-			ucam_out: endpoint {
-				remote-endpoint = <&mipi_in_ucam>;
-				data-lanes = <1>;
-			};
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
new file mode 100644
index 000000000000..c53bee4a1025
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
@@ -0,0 +1,101 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ovti,ov2685.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: OmniVision OV2685 Image Sensor
+
+maintainers:
+  - Shunqian Zheng <zhengsq@rock-chips.com>
+
+properties:
+  compatible:
+    const: ovti,ov2685
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: XVCLK clock
+
+  clock-names:
+    items:
+      - const: xvclk
+
+  dvdd-supply:
+    description: Digital Domain Power Supply
+
+  avdd-supply:
+    description: Analog Domain Power Supply
+
+  dovdd-supply:
+    description: I/O Domain Power Supply
+
+  reset-gpios:
+    maxItems: 1
+    description: Reset Pin GPIO Control (active low)
+
+  port:
+    description: MIPI CSI-2 transmitter port
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    additionalProperties: false
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          data-lanes:
+            maxItems: 1
+
+        required:
+          - data-lanes
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - dvdd-supply
+  - avdd-supply
+  - dovdd-supply
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/rk3399-cru.h>
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c7 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        ov2685: camera-sensor@3c {
+            compatible = "ovti,ov2685";
+            reg = <0x3c>;
+            pinctrl-names = "default";
+            pinctrl-0 = <&clk_24m_cam>;
+
+            clocks = <&cru SCLK_TESTCLKOUT1>;
+            clock-names = "xvclk";
+
+            avdd-supply = <&pp2800_cam>;
+            dovdd-supply = <&pp1800>;
+            dvdd-supply = <&pp1800>;
+            reset-gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
+
+            port {
+                ucam_out: endpoint {
+                    remote-endpoint = <&mipi_in_ucam>;
+                    data-lanes = <1>;
+                };
+            };
+        };
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index f76ca2808474..e660a4e1f74c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15327,6 +15327,7 @@  M:	Shunqian Zheng <zhengsq@rock-chips.com>
 L:	linux-media@vger.kernel.org
 S:	Maintained
 T:	git git://linuxtv.org/media_tree.git
+F:	Documentation/devicetree/bindings/media/i2c/ovti,ov2685.yaml
 F:	drivers/media/i2c/ov2685.c
 
 OMNIVISION OV2740 SENSOR DRIVER