diff mbox series

[v9,2/4] dt-bindings: media: document SK Hynix Hi-846 MIPI CSI-2 8M pixel sensor

Message ID 20210906102837.2190387-3-martin.kepplinger@puri.sm
State Not Applicable, archived
Headers show
Series Add support for the Hynix Hi-846 camera | expand

Checks

Context Check Description
robh/checkpatch success
robh/dt-meta-schema success
robh/dtbs-check success

Commit Message

Martin Kepplinger Sept. 6, 2021, 10:28 a.m. UTC
Document the bindings used for the SK Hynix Hi-846 CMOS camera driver.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
 .../bindings/media/i2c/hynix,hi846.yaml       | 120 ++++++++++++++++++
 1 file changed, 120 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml

Comments

Geert Uytterhoeven Nov. 25, 2021, 11:15 a.m. UTC | #1
On Mon, Sep 6, 2021 at 12:30 PM Martin Kepplinger
<martin.kepplinger@puri.sm> wrote:
> Document the bindings used for the SK Hynix Hi-846 CMOS camera driver.
>
> Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
>  .../bindings/media/i2c/hynix,hi846.yaml       | 120 ++++++++++++++++++
>  1 file changed, 120 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> new file mode 100644
> index 000000000000..85a8877c2f38
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> +
> +maintainers:
> +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> +
> +description: |-
> +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> +  interface and CCI (I2C compatible) control bus. The output format
> +  is raw Bayer.
> +
> +properties:
> +  compatible:
> +    const: hynix,hi846
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    items:
> +      - description: Reference to the mclk clock.
> +
> +  assigned-clocks:
> +    maxItems: 1
> +
> +  assigned-clock-rates:
> +    maxItems: 1
> +
> +  reset-gpios:
> +    description: Reference to the GPIO connected to the RESETB pin. Active low.
> +    maxItems: 1
> +
> +  shutdown-gpios:
> +    description: Reference to the GPIO connected to the XSHUTDOWN pin. Active low.
> +    maxItems: 1
> +
> +  vddio-supply:
> +    description: Definition of the regulator used for the VDDIO power supply.
> +
> +  vdda-supply:
> +    description: Definition of the regulator used for the VDDA power supply.
> +
> +  vddd-supply:
> +    description: Definition of the regulator used for the VDDD power supply.
> +
> +  port:
> +    $ref: /schemas/graph.yaml#/properties/port
> +
> +    properties:
> +      endpoint:
> +        $ref: /schemas/media/video-interfaces.yaml#
> +        unevaluatedProperties: false
> +
> +        properties:
> +          data-lanes:
> +            oneOf:
> +              - items:
> +                  - const: 1
> +                  - const: 2
> +                  - const: 3
> +                  - const: 4
> +              - items:
> +                  - const: 1
> +                  - const: 2
> +
> +        required:
> +          - data-lanes
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - assigned-clocks
> +  - assigned-clock-rates
> +  - vddio-supply
> +  - vdda-supply
> +  - vddd-supply
> +  - port
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        hi846: camera@20 {
> +            compatible = "hynix,hi846";
> +            reg = <0x20>;
> +            pinctrl-names = "default";
> +            pinctrl-0 = <&pinctrl_csi1>;
> +            clocks = <&clk 0>;
> +            assigned-clocks = <&clk 0>;
> +            assigned-clock-rates = <25000000>;
> +            vdda-supply = <&reg_camera_vdda>;
> +            vddd-supply = <&reg_camera_vddd>;
> +            vddio-supply = <&reg_camera_vddio>;
> +            reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> +            shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
> +
> +            port {
> +                camera_out: endpoint {
> +                    remote-endpoint = <&csi1_ep1>;
> +                    link-frequencies = /bits/ 64
> +                        <80000000 200000000>;
> +                    data-lanes = <1 2>;

"make dt_binding_check":

    Documentation/devicetree/bindings/media/i2c/hynix,hi846.example.dt.yaml:
camera@20: port:endpoint: Unevaluated properties are not allowed
('link-frequencies', 'data-lanes' were unexpected)
    From schema: Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml

> +                };
> +            };
> +        };
> +    };

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Martin Kepplinger Nov. 26, 2021, 10:02 a.m. UTC | #2
Am Donnerstag, dem 25.11.2021 um 12:15 +0100 schrieb Geert
Uytterhoeven:
> On Mon, Sep 6, 2021 at 12:30 PM Martin Kepplinger
> <martin.kepplinger@puri.sm> wrote:
> > Document the bindings used for the SK Hynix Hi-846 CMOS camera
> > driver.
> > 
> > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > ---
> >  .../bindings/media/i2c/hynix,hi846.yaml       | 120
> > ++++++++++++++++++
> >  1 file changed, 120 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > 
> > diff --git
> > a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > new file mode 100644
> > index 000000000000..85a8877c2f38
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > @@ -0,0 +1,120 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> > +
> > +maintainers:
> > +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> > +
> > +description: |-
> > +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> > +  interface and CCI (I2C compatible) control bus. The output
> > format
> > +  is raw Bayer.
> > +
> > +properties:
> > +  compatible:
> > +    const: hynix,hi846
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    items:
> > +      - description: Reference to the mclk clock.
> > +
> > +  assigned-clocks:
> > +    maxItems: 1
> > +
> > +  assigned-clock-rates:
> > +    maxItems: 1
> > +
> > +  reset-gpios:
> > +    description: Reference to the GPIO connected to the RESETB
> > pin. Active low.
> > +    maxItems: 1
> > +
> > +  shutdown-gpios:
> > +    description: Reference to the GPIO connected to the XSHUTDOWN
> > pin. Active low.
> > +    maxItems: 1
> > +
> > +  vddio-supply:
> > +    description: Definition of the regulator used for the VDDIO
> > power supply.
> > +
> > +  vdda-supply:
> > +    description: Definition of the regulator used for the VDDA
> > power supply.
> > +
> > +  vddd-supply:
> > +    description: Definition of the regulator used for the VDDD
> > power supply.
> > +
> > +  port:
> > +    $ref: /schemas/graph.yaml#/properties/port
> > +
> > +    properties:
> > +      endpoint:
> > +        $ref: /schemas/media/video-interfaces.yaml#
> > +        unevaluatedProperties: false
> > +
> > +        properties:
> > +          data-lanes:
> > +            oneOf:
> > +              - items:
> > +                  - const: 1
> > +                  - const: 2
> > +                  - const: 3
> > +                  - const: 4
> > +              - items:
> > +                  - const: 1
> > +                  - const: 2
> > +
> > +        required:
> > +          - data-lanes
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - clocks
> > +  - assigned-clocks
> > +  - assigned-clock-rates
> > +  - vddio-supply
> > +  - vdda-supply
> > +  - vddd-supply
> > +  - port
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    #include <dt-bindings/gpio/gpio.h>
> > +
> > +    i2c {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +
> > +        hi846: camera@20 {
> > +            compatible = "hynix,hi846";
> > +            reg = <0x20>;
> > +            pinctrl-names = "default";
> > +            pinctrl-0 = <&pinctrl_csi1>;
> > +            clocks = <&clk 0>;
> > +            assigned-clocks = <&clk 0>;
> > +            assigned-clock-rates = <25000000>;
> > +            vdda-supply = <&reg_camera_vdda>;
> > +            vddd-supply = <&reg_camera_vddd>;
> > +            vddio-supply = <&reg_camera_vddio>;
> > +            reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> > +            shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
> > +
> > +            port {
> > +                camera_out: endpoint {
> > +                    remote-endpoint = <&csi1_ep1>;
> > +                    link-frequencies = /bits/ 64
> > +                        <80000000 200000000>;
> > +                    data-lanes = <1 2>;
> 
> "make dt_binding_check":
> 
>    
> Documentation/devicetree/bindings/media/i2c/hynix,hi846.example.dt.ya
> ml:
> camera@20: port:endpoint: Unevaluated properties are not allowed
> ('link-frequencies', 'data-lanes' were unexpected)
>     From schema:
> Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> 
> > +                };
> > +            };
> > +        };
> > +    };
> 
> Gr{oetje,eeting}s,
> 
>                         Geert


thanks a lot Geert, but I can't reproduce this on linux-next. Which
tree did you run it against?

What I *do* see is the following during dtbs_check, so I guess I could
remove "orientation" and "rotation" from the example, which would be
kind of sad because these useful properties are not yet too wide know
anyway in the media device driver world...

/home/martin/dev/purism-forks/linux-
next/arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dt.yaml:
camera-front@20: 'orientation', 'rotation' do not match any of the
regexes: 'pinctrl-[0-9]+'
	From schema: /home/martin/dev/purism-forks/linux-
next/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml


if you can be more speicific I'll definitely try to reproduce again
though.

thanks,
                             martin
Sakari Ailus Nov. 26, 2021, 10:18 a.m. UTC | #3
Hi Martin,

On Fri, Nov 26, 2021 at 11:02:31AM +0100, Martin Kepplinger wrote:
> Am Donnerstag, dem 25.11.2021 um 12:15 +0100 schrieb Geert
> Uytterhoeven:
> > On Mon, Sep 6, 2021 at 12:30 PM Martin Kepplinger
> > <martin.kepplinger@puri.sm> wrote:
> > > Document the bindings used for the SK Hynix Hi-846 CMOS camera
> > > driver.
> > > 
> > > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > ---
> > >  .../bindings/media/i2c/hynix,hi846.yaml       | 120
> > > ++++++++++++++++++
> > >  1 file changed, 120 insertions(+)
> > >  create mode 100644
> > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > 
> > > diff --git
> > > a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > new file mode 100644
> > > index 000000000000..85a8877c2f38
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > @@ -0,0 +1,120 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> > > +
> > > +maintainers:
> > > +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> > > +
> > > +description: |-
> > > +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> > > +  interface and CCI (I2C compatible) control bus. The output
> > > format
> > > +  is raw Bayer.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    const: hynix,hi846
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  clocks:
> > > +    items:
> > > +      - description: Reference to the mclk clock.
> > > +
> > > +  assigned-clocks:
> > > +    maxItems: 1
> > > +
> > > +  assigned-clock-rates:
> > > +    maxItems: 1
> > > +
> > > +  reset-gpios:
> > > +    description: Reference to the GPIO connected to the RESETB
> > > pin. Active low.
> > > +    maxItems: 1
> > > +
> > > +  shutdown-gpios:
> > > +    description: Reference to the GPIO connected to the XSHUTDOWN
> > > pin. Active low.
> > > +    maxItems: 1
> > > +
> > > +  vddio-supply:
> > > +    description: Definition of the regulator used for the VDDIO
> > > power supply.
> > > +
> > > +  vdda-supply:
> > > +    description: Definition of the regulator used for the VDDA
> > > power supply.
> > > +
> > > +  vddd-supply:
> > > +    description: Definition of the regulator used for the VDDD
> > > power supply.
> > > +
> > > +  port:
> > > +    $ref: /schemas/graph.yaml#/properties/port
> > > +
> > > +    properties:
> > > +      endpoint:
> > > +        $ref: /schemas/media/video-interfaces.yaml#
> > > +        unevaluatedProperties: false
> > > +
> > > +        properties:
> > > +          data-lanes:
> > > +            oneOf:
> > > +              - items:
> > > +                  - const: 1
> > > +                  - const: 2
> > > +                  - const: 3
> > > +                  - const: 4
> > > +              - items:
> > > +                  - const: 1
> > > +                  - const: 2
> > > +
> > > +        required:
> > > +          - data-lanes
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - clocks
> > > +  - assigned-clocks
> > > +  - assigned-clock-rates
> > > +  - vddio-supply
> > > +  - vdda-supply
> > > +  - vddd-supply
> > > +  - port
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    #include <dt-bindings/gpio/gpio.h>
> > > +
> > > +    i2c {
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +
> > > +        hi846: camera@20 {
> > > +            compatible = "hynix,hi846";
> > > +            reg = <0x20>;
> > > +            pinctrl-names = "default";
> > > +            pinctrl-0 = <&pinctrl_csi1>;
> > > +            clocks = <&clk 0>;
> > > +            assigned-clocks = <&clk 0>;
> > > +            assigned-clock-rates = <25000000>;
> > > +            vdda-supply = <&reg_camera_vdda>;
> > > +            vddd-supply = <&reg_camera_vddd>;
> > > +            vddio-supply = <&reg_camera_vddio>;
> > > +            reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> > > +            shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
> > > +
> > > +            port {
> > > +                camera_out: endpoint {
> > > +                    remote-endpoint = <&csi1_ep1>;
> > > +                    link-frequencies = /bits/ 64
> > > +                        <80000000 200000000>;
> > > +                    data-lanes = <1 2>;
> > 
> > "make dt_binding_check":
> > 
> >    
> > Documentation/devicetree/bindings/media/i2c/hynix,hi846.example.dt.ya
> > ml:
> > camera@20: port:endpoint: Unevaluated properties are not allowed
> > ('link-frequencies', 'data-lanes' were unexpected)
> >     From schema:
> > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > 
> > > +                };
> > > +            };
> > > +        };
> > > +    };
> > 
> > Gr{oetje,eeting}s,
> > 
> >                         Geert
> 
> 
> thanks a lot Geert, but I can't reproduce this on linux-next. Which
> tree did you run it against?
> 
> What I *do* see is the following during dtbs_check, so I guess I could
> remove "orientation" and "rotation" from the example, which would be
> kind of sad because these useful properties are not yet too wide know
> anyway in the media device driver world...
> 
> /home/martin/dev/purism-forks/linux-
> next/arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dt.yaml:
> camera-front@20: 'orientation', 'rotation' do not match any of the
> regexes: 'pinctrl-[0-9]+'
> 	From schema: /home/martin/dev/purism-forks/linux-
> next/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> 
> 
> if you can be more speicific I'll definitely try to reproduce again
> though.

link-frequencies is present in the example (as it needs to be) but missing
from required properties. I don't know why there's a complaint about
data-lanes though.
Geert Uytterhoeven Nov. 26, 2021, 12:03 p.m. UTC | #4
Hi Martin,

On Fri, Nov 26, 2021 at 11:18 AM Sakari Ailus <sakari.ailus@iki.fi> wrote:
> On Fri, Nov 26, 2021 at 11:02:31AM +0100, Martin Kepplinger wrote:
> > Am Donnerstag, dem 25.11.2021 um 12:15 +0100 schrieb Geert
> > Uytterhoeven:
> > > On Mon, Sep 6, 2021 at 12:30 PM Martin Kepplinger
> > > <martin.kepplinger@puri.sm> wrote:
> > > > Document the bindings used for the SK Hynix Hi-846 CMOS camera
> > > > driver.
> > > >
> > > > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > ---
> > > >  .../bindings/media/i2c/hynix,hi846.yaml       | 120
> > > > ++++++++++++++++++
> > > >  1 file changed, 120 insertions(+)
> > > >  create mode 100644
> > > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > >
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > > b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > > new file mode 100644
> > > > index 000000000000..85a8877c2f38
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > > @@ -0,0 +1,120 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > +%YAML 1.2
> > > > +---
> > > > +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > +
> > > > +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> > > > +
> > > > +maintainers:
> > > > +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> > > > +
> > > > +description: |-
> > > > +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> > > > +  interface and CCI (I2C compatible) control bus. The output
> > > > format
> > > > +  is raw Bayer.
> > > > +
> > > > +properties:
> > > > +  compatible:
> > > > +    const: hynix,hi846
> > > > +
> > > > +  reg:
> > > > +    maxItems: 1
> > > > +
> > > > +  clocks:
> > > > +    items:
> > > > +      - description: Reference to the mclk clock.
> > > > +
> > > > +  assigned-clocks:
> > > > +    maxItems: 1
> > > > +
> > > > +  assigned-clock-rates:
> > > > +    maxItems: 1
> > > > +
> > > > +  reset-gpios:
> > > > +    description: Reference to the GPIO connected to the RESETB
> > > > pin. Active low.
> > > > +    maxItems: 1
> > > > +
> > > > +  shutdown-gpios:
> > > > +    description: Reference to the GPIO connected to the XSHUTDOWN
> > > > pin. Active low.
> > > > +    maxItems: 1
> > > > +
> > > > +  vddio-supply:
> > > > +    description: Definition of the regulator used for the VDDIO
> > > > power supply.
> > > > +
> > > > +  vdda-supply:
> > > > +    description: Definition of the regulator used for the VDDA
> > > > power supply.
> > > > +
> > > > +  vddd-supply:
> > > > +    description: Definition of the regulator used for the VDDD
> > > > power supply.
> > > > +
> > > > +  port:
> > > > +    $ref: /schemas/graph.yaml#/properties/port
> > > > +
> > > > +    properties:
> > > > +      endpoint:
> > > > +        $ref: /schemas/media/video-interfaces.yaml#
> > > > +        unevaluatedProperties: false
> > > > +
> > > > +        properties:
> > > > +          data-lanes:
> > > > +            oneOf:
> > > > +              - items:
> > > > +                  - const: 1
> > > > +                  - const: 2
> > > > +                  - const: 3
> > > > +                  - const: 4
> > > > +              - items:
> > > > +                  - const: 1
> > > > +                  - const: 2
> > > > +
> > > > +        required:
> > > > +          - data-lanes
> > > > +
> > > > +required:
> > > > +  - compatible
> > > > +  - reg
> > > > +  - clocks
> > > > +  - assigned-clocks
> > > > +  - assigned-clock-rates
> > > > +  - vddio-supply
> > > > +  - vdda-supply
> > > > +  - vddd-supply
> > > > +  - port
> > > > +
> > > > +additionalProperties: false
> > > > +
> > > > +examples:
> > > > +  - |
> > > > +    #include <dt-bindings/gpio/gpio.h>
> > > > +
> > > > +    i2c {
> > > > +        #address-cells = <1>;
> > > > +        #size-cells = <0>;
> > > > +
> > > > +        hi846: camera@20 {
> > > > +            compatible = "hynix,hi846";
> > > > +            reg = <0x20>;
> > > > +            pinctrl-names = "default";
> > > > +            pinctrl-0 = <&pinctrl_csi1>;
> > > > +            clocks = <&clk 0>;
> > > > +            assigned-clocks = <&clk 0>;
> > > > +            assigned-clock-rates = <25000000>;
> > > > +            vdda-supply = <&reg_camera_vdda>;
> > > > +            vddd-supply = <&reg_camera_vddd>;
> > > > +            vddio-supply = <&reg_camera_vddio>;
> > > > +            reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> > > > +            shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
> > > > +
> > > > +            port {
> > > > +                camera_out: endpoint {
> > > > +                    remote-endpoint = <&csi1_ep1>;
> > > > +                    link-frequencies = /bits/ 64
> > > > +                        <80000000 200000000>;
> > > > +                    data-lanes = <1 2>;
> > >
> > > "make dt_binding_check":
> > >
> > >
> > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.example.dt.ya
> > > ml:
> > > camera@20: port:endpoint: Unevaluated properties are not allowed
> > > ('link-frequencies', 'data-lanes' were unexpected)
> > >     From schema:
> > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > >
> > > > +                };
> > > > +            };
> > > > +        };
> > > > +    };
> > >
> > > Gr{oetje,eeting}s,
> > >
> > >                         Geert
> >
> >
> > thanks a lot Geert, but I can't reproduce this on linux-next. Which
> > tree did you run it against?
> >
> > What I *do* see is the following during dtbs_check, so I guess I could
> > remove "orientation" and "rotation" from the example, which would be
> > kind of sad because these useful properties are not yet too wide know
> > anyway in the media device driver world...
> >
> > /home/martin/dev/purism-forks/linux-
> > next/arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dt.yaml:
> > camera-front@20: 'orientation', 'rotation' do not match any of the
> > regexes: 'pinctrl-[0-9]+'
> >       From schema: /home/martin/dev/purism-forks/linux-
> > next/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> >
> >
> > if you can be more speicific I'll definitely try to reproduce again
> > though.

This is reproducible on next-20211126.
Is your dt-schema up-to-date?

> link-frequencies is present in the example (as it needs to be) but missing
> from required properties. I don't know why there's a complaint about
> data-lanes though.

I also don't know what's wrong with data-lanes (else I would have
sent a patch to fix it ;-)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Martin Kepplinger Nov. 30, 2021, 2:57 p.m. UTC | #5
Am Freitag, dem 26.11.2021 um 13:03 +0100 schrieb Geert Uytterhoeven:
> Hi Martin,
> 
> On Fri, Nov 26, 2021 at 11:18 AM Sakari Ailus <sakari.ailus@iki.fi>
> wrote:
> > On Fri, Nov 26, 2021 at 11:02:31AM +0100, Martin Kepplinger wrote:
> > > Am Donnerstag, dem 25.11.2021 um 12:15 +0100 schrieb Geert
> > > Uytterhoeven:
> > > > On Mon, Sep 6, 2021 at 12:30 PM Martin Kepplinger
> > > > <martin.kepplinger@puri.sm> wrote:
> > > > > Document the bindings used for the SK Hynix Hi-846 CMOS
> > > > > camera
> > > > > driver.
> > > > > 
> > > > > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > > > > Reviewed-by: Laurent Pinchart <
> > > > > laurent.pinchart@ideasonboard.com>
> > > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > > ---
> > > > >  .../bindings/media/i2c/hynix,hi846.yaml       | 120
> > > > > ++++++++++++++++++
> > > > >  1 file changed, 120 insertions(+)
> > > > >  create mode 100644
> > > > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > > > 
> > > > > diff --git
> > > > > a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yam
> > > > > l
> > > > > b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yam
> > > > > l
> > > > > new file mode 100644
> > > > > index 000000000000..85a8877c2f38
> > > > > --- /dev/null
> > > > > +++
> > > > > b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yam
> > > > > l
> > > > > @@ -0,0 +1,120 @@
> > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > > +%YAML 1.2
> > > > > +---
> > > > > +$id: 
> > > > > http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > +
> > > > > +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> > > > > +
> > > > > +maintainers:
> > > > > +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> > > > > +
> > > > > +description: |-
> > > > > +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image
> > > > > data
> > > > > +  interface and CCI (I2C compatible) control bus. The output
> > > > > format
> > > > > +  is raw Bayer.
> > > > > +
> > > > > +properties:
> > > > > +  compatible:
> > > > > +    const: hynix,hi846
> > > > > +
> > > > > +  reg:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  clocks:
> > > > > +    items:
> > > > > +      - description: Reference to the mclk clock.
> > > > > +
> > > > > +  assigned-clocks:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  assigned-clock-rates:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  reset-gpios:
> > > > > +    description: Reference to the GPIO connected to the
> > > > > RESETB
> > > > > pin. Active low.
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  shutdown-gpios:
> > > > > +    description: Reference to the GPIO connected to the
> > > > > XSHUTDOWN
> > > > > pin. Active low.
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  vddio-supply:
> > > > > +    description: Definition of the regulator used for the
> > > > > VDDIO
> > > > > power supply.
> > > > > +
> > > > > +  vdda-supply:
> > > > > +    description: Definition of the regulator used for the
> > > > > VDDA
> > > > > power supply.
> > > > > +
> > > > > +  vddd-supply:
> > > > > +    description: Definition of the regulator used for the
> > > > > VDDD
> > > > > power supply.
> > > > > +
> > > > > +  port:
> > > > > +    $ref: /schemas/graph.yaml#/properties/port
> > > > > +
> > > > > +    properties:
> > > > > +      endpoint:
> > > > > +        $ref: /schemas/media/video-interfaces.yaml#
> > > > > +        unevaluatedProperties: false
> > > > > +
> > > > > +        properties:
> > > > > +          data-lanes:
> > > > > +            oneOf:
> > > > > +              - items:
> > > > > +                  - const: 1
> > > > > +                  - const: 2
> > > > > +                  - const: 3
> > > > > +                  - const: 4
> > > > > +              - items:
> > > > > +                  - const: 1
> > > > > +                  - const: 2
> > > > > +
> > > > > +        required:
> > > > > +          - data-lanes
> > > > > +
> > > > > +required:
> > > > > +  - compatible
> > > > > +  - reg
> > > > > +  - clocks
> > > > > +  - assigned-clocks
> > > > > +  - assigned-clock-rates
> > > > > +  - vddio-supply
> > > > > +  - vdda-supply
> > > > > +  - vddd-supply
> > > > > +  - port
> > > > > +
> > > > > +additionalProperties: false
> > > > > +
> > > > > +examples:
> > > > > +  - |
> > > > > +    #include <dt-bindings/gpio/gpio.h>
> > > > > +
> > > > > +    i2c {
> > > > > +        #address-cells = <1>;
> > > > > +        #size-cells = <0>;
> > > > > +
> > > > > +        hi846: camera@20 {
> > > > > +            compatible = "hynix,hi846";
> > > > > +            reg = <0x20>;
> > > > > +            pinctrl-names = "default";
> > > > > +            pinctrl-0 = <&pinctrl_csi1>;
> > > > > +            clocks = <&clk 0>;
> > > > > +            assigned-clocks = <&clk 0>;
> > > > > +            assigned-clock-rates = <25000000>;
> > > > > +            vdda-supply = <&reg_camera_vdda>;
> > > > > +            vddd-supply = <&reg_camera_vddd>;
> > > > > +            vddio-supply = <&reg_camera_vddio>;
> > > > > +            reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> > > > > +            shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
> > > > > +
> > > > > +            port {
> > > > > +                camera_out: endpoint {
> > > > > +                    remote-endpoint = <&csi1_ep1>;
> > > > > +                    link-frequencies = /bits/ 64
> > > > > +                        <80000000 200000000>;
> > > > > +                    data-lanes = <1 2>;
> > > > 
> > > > "make dt_binding_check":
> > > > 
> > > > 
> > > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.example
> > > > .dt.ya
> > > > ml:
> > > > camera@20: port:endpoint: Unevaluated properties are not
> > > > allowed
> > > > ('link-frequencies', 'data-lanes' were unexpected)
> > > >     From schema:
> > > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > > 
> > > > > +                };
> > > > > +            };
> > > > > +        };
> > > > > +    };
> > > > 
> > > > Gr{oetje,eeting}s,
> > > > 
> > > >                         Geert
> > > 
> > > 
> > > thanks a lot Geert, but I can't reproduce this on linux-next.
> > > Which
> > > tree did you run it against?
> > > 
> > > What I *do* see is the following during dtbs_check, so I guess I
> > > could
> > > remove "orientation" and "rotation" from the example, which would
> > > be
> > > kind of sad because these useful properties are not yet too wide
> > > know
> > > anyway in the media device driver world...
> > > 
> > > /home/martin/dev/purism-forks/linux-
> > > next/arch/arm64/boot/dts/freescale/imx8mq-librem5-r2.dt.yaml:
> > > camera-front@20: 'orientation', 'rotation' do not match any of
> > > the
> > > regexes: 'pinctrl-[0-9]+'
> > >       From schema: /home/martin/dev/purism-forks/linux-
> > > next/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > 
> > > 
> > > if you can be more speicific I'll definitely try to reproduce
> > > again
> > > though.
> 
> This is reproducible on next-20211126.
> Is your dt-schema up-to-date?

it is now, I'm running

make -j7 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dt_binding_check
dtbs_check

but I can't reproduce that error. weird.

> 
> > link-frequencies is present in the example (as it needs to be) but
> > missing
> > from required properties. I don't know why there's a complaint
> > about
> > data-lanes though.
> 
> I also don't know what's wrong with data-lanes (else I would have
> sent a patch to fix it ;-)
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- 
> geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a
> hacker. But
> when I'm talking to journalists I just say "programmer" or something
> like that.
>                                 -- Linus Torvalds
Geert Uytterhoeven Dec. 1, 2021, 10:32 a.m. UTC | #6
Hi Martin,

On Tue, Nov 30, 2021 at 3:57 PM Martin Kepplinger
<martin.kepplinger@puri.sm> wrote:
> Am Freitag, dem 26.11.2021 um 13:03 +0100 schrieb Geert Uytterhoeven:
> > This is reproducible on next-20211126.
> > Is your dt-schema up-to-date?
>
> it is now, I'm running
>
> make -j7 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dt_binding_check
> dtbs_check
>
> but I can't reproduce that error. weird.

Interesting...

$ git checkout next-20211201
$ make -j 12 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dt_binding_check
  [...]
  CHECK   Documentation/devicetree/bindings/media/i2c/rda,rda5807.example.dt.yaml
Documentation/devicetree/bindings/media/i2c/hynix,hi846.example.dt.yaml:
camera@20: port:endpoint: Unevaluated properties are not allowed
('link-frequencies', 'data-lanes' were unexpected)
        From schema:
Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml

My userland is Ubuntu 20.04.3 LTS.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Rob Herring (Arm) Dec. 3, 2021, 4:19 p.m. UTC | #7
On Mon, Sep 6, 2021 at 5:29 AM Martin Kepplinger
<martin.kepplinger@puri.sm> wrote:
>
> Document the bindings used for the SK Hynix Hi-846 CMOS camera driver.
>
> Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
>  .../bindings/media/i2c/hynix,hi846.yaml       | 120 ++++++++++++++++++
>  1 file changed, 120 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> new file mode 100644
> index 000000000000..85a8877c2f38
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> @@ -0,0 +1,120 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> +
> +maintainers:
> +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> +
> +description: |-
> +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> +  interface and CCI (I2C compatible) control bus. The output format
> +  is raw Bayer.
> +
> +properties:
> +  compatible:
> +    const: hynix,hi846
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    items:
> +      - description: Reference to the mclk clock.
> +
> +  assigned-clocks:
> +    maxItems: 1
> +
> +  assigned-clock-rates:
> +    maxItems: 1
> +
> +  reset-gpios:
> +    description: Reference to the GPIO connected to the RESETB pin. Active low.
> +    maxItems: 1
> +
> +  shutdown-gpios:
> +    description: Reference to the GPIO connected to the XSHUTDOWN pin. Active low.
> +    maxItems: 1
> +
> +  vddio-supply:
> +    description: Definition of the regulator used for the VDDIO power supply.
> +
> +  vdda-supply:
> +    description: Definition of the regulator used for the VDDA power supply.
> +
> +  vddd-supply:
> +    description: Definition of the regulator used for the VDDD power supply.
> +
> +  port:
> +    $ref: /schemas/graph.yaml#/properties/port

This needs to be:

$ref: /schemas/graph.yaml#/$defs/port-base

to fix the warning reported. You have to use the 'main' branch of
dtschema which has unevaluatedProperties support. I'll be making a
release soonish.

Rob
Rob Herring (Arm) Jan. 5, 2022, 4:23 p.m. UTC | #8
On Fri, Dec 3, 2021 at 10:19 AM Rob Herring <robh@kernel.org> wrote:
>
> On Mon, Sep 6, 2021 at 5:29 AM Martin Kepplinger
> <martin.kepplinger@puri.sm> wrote:
> >
> > Document the bindings used for the SK Hynix Hi-846 CMOS camera driver.
> >
> > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > ---
> >  .../bindings/media/i2c/hynix,hi846.yaml       | 120 ++++++++++++++++++
> >  1 file changed, 120 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > new file mode 100644
> > index 000000000000..85a8877c2f38
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > @@ -0,0 +1,120 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> > +
> > +maintainers:
> > +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> > +
> > +description: |-
> > +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> > +  interface and CCI (I2C compatible) control bus. The output format
> > +  is raw Bayer.
> > +
> > +properties:
> > +  compatible:
> > +    const: hynix,hi846
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  clocks:
> > +    items:
> > +      - description: Reference to the mclk clock.
> > +
> > +  assigned-clocks:
> > +    maxItems: 1
> > +
> > +  assigned-clock-rates:
> > +    maxItems: 1
> > +
> > +  reset-gpios:
> > +    description: Reference to the GPIO connected to the RESETB pin. Active low.
> > +    maxItems: 1
> > +
> > +  shutdown-gpios:
> > +    description: Reference to the GPIO connected to the XSHUTDOWN pin. Active low.
> > +    maxItems: 1
> > +
> > +  vddio-supply:
> > +    description: Definition of the regulator used for the VDDIO power supply.
> > +
> > +  vdda-supply:
> > +    description: Definition of the regulator used for the VDDA power supply.
> > +
> > +  vddd-supply:
> > +    description: Definition of the regulator used for the VDDD power supply.
> > +
> > +  port:
> > +    $ref: /schemas/graph.yaml#/properties/port
>
> This needs to be:
>
> $ref: /schemas/graph.yaml#/$defs/port-base
>
> to fix the warning reported. You have to use the 'main' branch of
> dtschema which has unevaluatedProperties support. I'll be making a
> release soonish.

This is still failing, can you please fix it.

Rob
Martin Kepplinger Jan. 6, 2022, 6:34 a.m. UTC | #9
Am Mittwoch, dem 05.01.2022 um 10:23 -0600 schrieb Rob Herring:
> On Fri, Dec 3, 2021 at 10:19 AM Rob Herring <robh@kernel.org> wrote:
> > 
> > On Mon, Sep 6, 2021 at 5:29 AM Martin Kepplinger
> > <martin.kepplinger@puri.sm> wrote:
> > > 
> > > Document the bindings used for the SK Hynix Hi-846 CMOS camera
> > > driver.
> > > 
> > > Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
> > > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > ---
> > >  .../bindings/media/i2c/hynix,hi846.yaml       | 120
> > > ++++++++++++++++++
> > >  1 file changed, 120 insertions(+)
> > >  create mode 100644
> > > Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > 
> > > diff --git
> > > a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > new file mode 100644
> > > index 000000000000..85a8877c2f38
> > > --- /dev/null
> > > +++
> > > b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
> > > @@ -0,0 +1,120 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
> > > +
> > > +maintainers:
> > > +  - Martin Kepplinger <martin.kepplinger@puri.sm>
> > > +
> > > +description: |-
> > > +  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
> > > +  interface and CCI (I2C compatible) control bus. The output
> > > format
> > > +  is raw Bayer.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    const: hynix,hi846
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  clocks:
> > > +    items:
> > > +      - description: Reference to the mclk clock.
> > > +
> > > +  assigned-clocks:
> > > +    maxItems: 1
> > > +
> > > +  assigned-clock-rates:
> > > +    maxItems: 1
> > > +
> > > +  reset-gpios:
> > > +    description: Reference to the GPIO connected to the RESETB
> > > pin. Active low.
> > > +    maxItems: 1
> > > +
> > > +  shutdown-gpios:
> > > +    description: Reference to the GPIO connected to the
> > > XSHUTDOWN pin. Active low.
> > > +    maxItems: 1
> > > +
> > > +  vddio-supply:
> > > +    description: Definition of the regulator used for the VDDIO
> > > power supply.
> > > +
> > > +  vdda-supply:
> > > +    description: Definition of the regulator used for the VDDA
> > > power supply.
> > > +
> > > +  vddd-supply:
> > > +    description: Definition of the regulator used for the VDDD
> > > power supply.
> > > +
> > > +  port:
> > > +    $ref: /schemas/graph.yaml#/properties/port
> > 
> > This needs to be:
> > 
> > $ref: /schemas/graph.yaml#/$defs/port-base
> > 
> > to fix the warning reported. You have to use the 'main' branch of
> > dtschema which has unevaluatedProperties support. I'll be making a
> > release soonish.
> 
> This is still failing, can you please fix it.
> 
> Rob

Yes I'll send a patch next week. thanks for the reminder,

                           martin
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
new file mode 100644
index 000000000000..85a8877c2f38
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/hynix,hi846.yaml
@@ -0,0 +1,120 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
+
+maintainers:
+  - Martin Kepplinger <martin.kepplinger@puri.sm>
+
+description: |-
+  The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
+  interface and CCI (I2C compatible) control bus. The output format
+  is raw Bayer.
+
+properties:
+  compatible:
+    const: hynix,hi846
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: Reference to the mclk clock.
+
+  assigned-clocks:
+    maxItems: 1
+
+  assigned-clock-rates:
+    maxItems: 1
+
+  reset-gpios:
+    description: Reference to the GPIO connected to the RESETB pin. Active low.
+    maxItems: 1
+
+  shutdown-gpios:
+    description: Reference to the GPIO connected to the XSHUTDOWN pin. Active low.
+    maxItems: 1
+
+  vddio-supply:
+    description: Definition of the regulator used for the VDDIO power supply.
+
+  vdda-supply:
+    description: Definition of the regulator used for the VDDA power supply.
+
+  vddd-supply:
+    description: Definition of the regulator used for the VDDD power supply.
+
+  port:
+    $ref: /schemas/graph.yaml#/properties/port
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          data-lanes:
+            oneOf:
+              - items:
+                  - const: 1
+                  - const: 2
+                  - const: 3
+                  - const: 4
+              - items:
+                  - const: 1
+                  - const: 2
+
+        required:
+          - data-lanes
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - assigned-clocks
+  - assigned-clock-rates
+  - vddio-supply
+  - vdda-supply
+  - vddd-supply
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        hi846: camera@20 {
+            compatible = "hynix,hi846";
+            reg = <0x20>;
+            pinctrl-names = "default";
+            pinctrl-0 = <&pinctrl_csi1>;
+            clocks = <&clk 0>;
+            assigned-clocks = <&clk 0>;
+            assigned-clock-rates = <25000000>;
+            vdda-supply = <&reg_camera_vdda>;
+            vddd-supply = <&reg_camera_vddd>;
+            vddio-supply = <&reg_camera_vddio>;
+            reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
+            shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
+
+            port {
+                camera_out: endpoint {
+                    remote-endpoint = <&csi1_ep1>;
+                    link-frequencies = /bits/ 64
+                        <80000000 200000000>;
+                    data-lanes = <1 2>;
+                };
+            };
+        };
+    };
+
+...