diff mbox series

[v8,1/5] dt-bindings: media: platform: visconti: Add Toshiba Visconti Video Input Interface

Message ID 20230925232806.950683-2-yuji2.ishikawa@toshiba.co.jp (mailing list archive)
State New, archived
Headers show
Series Add Toshiba Visconti Video Input Interface driver | expand

Commit Message

Yuji Ishikawa Sept. 25, 2023, 11:28 p.m. UTC
Adds the Device Tree binding documentation that allows to describe
the Video Input Interface found in Toshiba Visconti SoCs.

Signed-off-by: Yuji Ishikawa <yuji2.ishikawa@toshiba.co.jp>
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
---
Changelog v2:
- no change

Changelog v3:
- no change

Changelog v4:
- fix style problems at the v3 patch
- remove "index" member
- update example

Changelog v5:
- no change

Changelog v6:
- add register definition of BUS-IF and MPU

Changelog v7:
- remove trailing "bindings" from commit header message
- remove trailing "Device Tree Bindings" from title
- fix text wrapping of description
- change compatible to visconti5-viif
- explicitly define allowed properties for port::endpoint

Changelog v8:
- Suggestion from Krzysztof Kozlowski
  - rename bindings description file
  - use block style array instead of inline style
  - remove clock-lane (as it is fixed at position 0)
  - update sample node's name
  - use lowercase hex for literals
- Suggestion from Laurent Pinchart
  - update description message port::description
  - remove port::endpoint::bus-type as it is fixed to <4>
  - remove port::endpoint::clock-lanes from example
  - add port::endpoint::data-lanes to required parameters list
  - fix sequence of data-lanes: <1 2 3 4> because current driver does not support data reordering
  - update port::endpoint::data-lanes::description
  - remove redundant type definition for port::endpoint::data-lanes

 .../media/toshiba,visconti5-viif.yaml         | 105 ++++++++++++++++++
 1 file changed, 105 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/toshiba,visconti5-viif.yaml

Comments

Krzysztof Kozlowski Sept. 28, 2023, 5:32 a.m. UTC | #1
On 26/09/2023 01:28, Yuji Ishikawa wrote:
> Adds the Device Tree binding documentation that allows to describe
> the Video Input Interface found in Toshiba Visconti SoCs.
> 


> +  reg:
> +    items:
> +      - description: Registers for capture control
> +      - description: Registers for CSI2 receiver control
> +      - description: Registers for bus interface unit control
> +      - description: Registers for Memory Protection Unit
> +
> +  interrupts:
> +    items:
> +      - description: Sync Interrupt
> +      - description: Status (Error) Interrupt
> +      - description: CSI2 Receiver Interrupt
> +      - description: L1ISP Interrupt
> +
> +  port:
> +    $ref: /schemas/graph.yaml#/$defs/port-base
> +    unevaluatedProperties: false
> +    description: CSI-2 input port, with a single endpoint connected to the CSI-2 transmitter.
> +
> +    properties:
> +      endpoint:
> +        $ref: video-interfaces.yaml#
> +        additionalProperties: false

This is a friendly reminder during the review process.

It seems my previous comments were not fully addressed. Maybe my
feedback got lost between the quotes, maybe you just forgot to apply it.
Please go back to the previous discussion and either implement all
requested changes or keep discussing them.

Thank you.


> +
> +        required:
> +          - clock-noncontinuous
> +          - link-frequencies
> +          - remote-endpoint
> +          - data-lanes

Not much improved here. required goes after properties, always. I
pointed you last time the file which you should use as an example.

> +
> +        properties:
> +          data-lanes:
> +            description: VIIF supports 1, 2, 3 or 4 data lanes
> +            minItems: 1
> +            items:
> +              - const: 1
> +              - const: 2
> +              - const: 3
> +              - const: 4
> +
> +          clock-noncontinuous: true

Drop

> +          link-frequencies: true

Drop
> +          remote-endpoint: true

Drop

Best regards,
Krzysztof
Yuji Ishikawa Oct. 3, 2023, 11:10 p.m. UTC | #2
Hello Krzysztof,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Thursday, September 28, 2023 2:32 PM
> To: ishikawa yuji(石川 悠司 ○RDC□AITC○EA開)
> <yuji2.ishikawa@toshiba.co.jp>; Hans Verkuil <hverkuil@xs4all.nl>; Laurent
> Pinchart <laurent.pinchart@ideasonboard.com>; Mauro Carvalho Chehab
> <mchehab@kernel.org>; Rob Herring <robh+dt@kernel.org>; Krzysztof
> Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley
> <conor+dt@kernel.org>; iwamatsu nobuhiro(岩松 信洋 ○DITC□DIT○
> OST) <nobuhiro1.iwamatsu@toshiba.co.jp>
> Cc: linux-media@vger.kernel.org; devicetree@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v8 1/5] dt-bindings: media: platform: visconti: Add Toshiba
> Visconti Video Input Interface
> 
> On 26/09/2023 01:28, Yuji Ishikawa wrote:
> > Adds the Device Tree binding documentation that allows to describe the
> > Video Input Interface found in Toshiba Visconti SoCs.
> >
> 
> 
> > +  reg:
> > +    items:
> > +      - description: Registers for capture control
> > +      - description: Registers for CSI2 receiver control
> > +      - description: Registers for bus interface unit control
> > +      - description: Registers for Memory Protection Unit
> > +
> > +  interrupts:
> > +    items:
> > +      - description: Sync Interrupt
> > +      - description: Status (Error) Interrupt
> > +      - description: CSI2 Receiver Interrupt
> > +      - description: L1ISP Interrupt
> > +
> > +  port:
> > +    $ref: /schemas/graph.yaml#/$defs/port-base
> > +    unevaluatedProperties: false
> > +    description: CSI-2 input port, with a single endpoint connected to the
> CSI-2 transmitter.
> > +
> > +    properties:
> > +      endpoint:
> > +        $ref: video-interfaces.yaml#
> > +        additionalProperties: false
> 
> This is a friendly reminder during the review process.
> 
> It seems my previous comments were not fully addressed. Maybe my feedback
> got lost between the quotes, maybe you just forgot to apply it.
> Please go back to the previous discussion and either implement all requested
> changes or keep discussing them.
> 
> Thank you.

I'm very sorry that I misunderstood the intent of the last conversion.
https://lore.kernel.org/all/0aa471ce-da83-172d-d870-1ec7a562baf7@linaro.org/
I thought "additionalProperties: false" can be used and "xxx:true" should stay.

Let me confirm your intentions:
  - "unevaluatedProperties: false" should be used instead of "additionalProperties: false"
  - All of "xxx: true" should be removed
Are these two correct understandings?

> 
> > +
> > +        required:
> > +          - clock-noncontinuous
> > +          - link-frequencies
> > +          - remote-endpoint
> > +          - data-lanes
> 
> Not much improved here. required goes after properties, always. I pointed you
> last time the file which you should use as an example.

I'll check the overall structure of renesas,rzg2l-csi2.yaml.

> > +
> > +        properties:
> > +          data-lanes:
> > +            description: VIIF supports 1, 2, 3 or 4 data lanes
> > +            minItems: 1
> > +            items:
> > +              - const: 1
> > +              - const: 2
> > +              - const: 3
> > +              - const: 4
> > +
> > +          clock-noncontinuous: true
> 
> Drop
> 
> > +          link-frequencies: true
> 
> Drop
> > +          remote-endpoint: true
> 
> Drop
> 
> Best regards,
> Krzysztof

Best regards,
Yuji
Krzysztof Kozlowski Oct. 4, 2023, 6:51 a.m. UTC | #3
On 04/10/2023 01:10, yuji2.ishikawa@toshiba.co.jp wrote:
>>> +    properties:
>>> +      endpoint:
>>> +        $ref: video-interfaces.yaml#
>>> +        additionalProperties: false
>>
>> This is a friendly reminder during the review process.
>>
>> It seems my previous comments were not fully addressed. Maybe my feedback
>> got lost between the quotes, maybe you just forgot to apply it.
>> Please go back to the previous discussion and either implement all requested
>> changes or keep discussing them.
>>
>> Thank you.
> 
> I'm very sorry that I misunderstood the intent of the last conversion.
> https://lore.kernel.org/all/0aa471ce-da83-172d-d870-1ec7a562baf7@linaro.org/
> I thought "additionalProperties: false" can be used and "xxx:true" should stay.
> 
> Let me confirm your intentions:
>   - "unevaluatedProperties: false" should be used instead of "additionalProperties: false"
>   - All of "xxx: true" should be removed
> Are these two correct understandings?

Ah, true, I missed that. It is indeed fine, apologies.

> 
>>
>>> +
>>> +        required:
>>> +          - clock-noncontinuous
>>> +          - link-frequencies
>>> +          - remote-endpoint
>>> +          - data-lanes
>>
>> Not much improved here. required goes after properties, always. I pointed you
>> last time the file which you should use as an example.
> 
> I'll check the overall structure of renesas,rzg2l-csi2.yaml.

This needs to be fixed.

> 
>>> +
>>> +        properties:
>>> +          data-lanes:
>>> +            description: VIIF supports 1, 2, 3 or 4 data lanes
>>> +            minItems: 1
>>> +            items:
>>> +              - const: 1
>>> +              - const: 2
>>> +              - const: 3
>>> +              - const: 4
>>> +
>>> +          clock-noncontinuous: true
>>
>> Drop

This and further can be ignored.

Best regards,
Krzysztof
Yuji Ishikawa Oct. 5, 2023, 12:30 p.m. UTC | #4
Hello Krzysztof,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Wednesday, October 4, 2023 3:51 PM
> To: ishikawa yuji(石川 悠司 ○RDC□AITC○EA開)
> <yuji2.ishikawa@toshiba.co.jp>; hverkuil@xs4all.nl;
> laurent.pinchart@ideasonboard.com; mchehab@kernel.org;
> robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org;
> iwamatsu nobuhiro(岩松 信洋 ○DITC□DIT○OST)
> <nobuhiro1.iwamatsu@toshiba.co.jp>
> Cc: linux-media@vger.kernel.org; devicetree@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v8 1/5] dt-bindings: media: platform: visconti: Add Toshiba
> Visconti Video Input Interface
> 
> On 04/10/2023 01:10, yuji2.ishikawa@toshiba.co.jp wrote:
> >>> +    properties:
> >>> +      endpoint:
> >>> +        $ref: video-interfaces.yaml#
> >>> +        additionalProperties: false
> >>
> >> This is a friendly reminder during the review process.
> >>
> >> It seems my previous comments were not fully addressed. Maybe my
> >> feedback got lost between the quotes, maybe you just forgot to apply it.
> >> Please go back to the previous discussion and either implement all
> >> requested changes or keep discussing them.
> >>
> >> Thank you.
> >
> > I'm very sorry that I misunderstood the intent of the last conversion.
> > https://lore.kernel.org/all/0aa471ce-da83-172d-d870-1ec7a562baf7@linar
> > o.org/ I thought "additionalProperties: false" can be used and
> > "xxx:true" should stay.
> >
> > Let me confirm your intentions:
> >   - "unevaluatedProperties: false" should be used instead of
> "additionalProperties: false"
> >   - All of "xxx: true" should be removed Are these two correct
> > understandings?
> 
> Ah, true, I missed that. It is indeed fine, apologies.
> 

I understand. I'll use "additionalProperties: false".

> >
> >>> +
> >>> +        properties:
> >>> +          data-lanes:
> >>> +            description: VIIF supports 1, 2, 3 or 4 data lanes
> >>> +            minItems: 1
> >>> +            items:
> >>> +              - const: 1
> >>> +              - const: 2
> >>> +              - const: 3
> >>> +              - const: 4
> >>> +
> >>> +          clock-noncontinuous: true
> >>
> >> Drop
> 
> This and further can be ignored.

I'll keep "xxx: true".

> Best regards,
> Krzysztof

Best regards,
Yuji
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/media/toshiba,visconti5-viif.yaml b/Documentation/devicetree/bindings/media/toshiba,visconti5-viif.yaml
new file mode 100644
index 000000000000..7ac1f5c5e9d5
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/toshiba,visconti5-viif.yaml
@@ -0,0 +1,105 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/toshiba,visconti5-viif.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Toshiba Visconti5 SoC Video Input Interface
+
+maintainers:
+  - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
+
+description: |-
+  Toshiba Visconti5 SoC Video Input Interface (VIIF) receives MIPI CSI2 video
+  stream, processes the stream with image signal processors (L1ISP, L2ISP),
+  then stores pictures to main memory.
+
+properties:
+  compatible:
+    const: toshiba,visconti5-viif
+
+  reg:
+    items:
+      - description: Registers for capture control
+      - description: Registers for CSI2 receiver control
+      - description: Registers for bus interface unit control
+      - description: Registers for Memory Protection Unit
+
+  interrupts:
+    items:
+      - description: Sync Interrupt
+      - description: Status (Error) Interrupt
+      - description: CSI2 Receiver Interrupt
+      - description: L1ISP Interrupt
+
+  port:
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    unevaluatedProperties: false
+    description: CSI-2 input port, with a single endpoint connected to the CSI-2 transmitter.
+
+    properties:
+      endpoint:
+        $ref: video-interfaces.yaml#
+        additionalProperties: false
+
+        required:
+          - clock-noncontinuous
+          - link-frequencies
+          - remote-endpoint
+          - data-lanes
+
+        properties:
+          data-lanes:
+            description: VIIF supports 1, 2, 3 or 4 data lanes
+            minItems: 1
+            items:
+              - const: 1
+              - const: 2
+              - const: 3
+              - const: 4
+
+          clock-noncontinuous: true
+          link-frequencies: true
+          remote-endpoint: true
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    soc {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        video@1c000000 {
+            compatible = "toshiba,visconti5-viif";
+            reg = <0 0x1c000000 0 0x6000>,
+                  <0 0x1c008000 0 0x400>,
+                  <0 0x1c00e000 0 0x1000>,
+                  <0 0x2417a000 0 0x1000>;
+            interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
+
+            port {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                csi_in0: endpoint {
+                    remote-endpoint = <&imx219_out0>;
+                    data-lanes = <1 2>;
+                    clock-noncontinuous;
+                    link-frequencies = /bits/ 64 <456000000>;
+                };
+            };
+        };
+    };