[drm-drm-misc:drm-misc-next] dt-bindings: nt35510: document 'port' property

Message ID 20240127152821.65744-1-dario.binacchi@amarulasolutions.com
State New
Headers
Series [drm-drm-misc:drm-misc-next] dt-bindings: nt35510: document 'port' property |

Commit Message

Dario Binacchi Jan. 27, 2024, 3:28 p.m. UTC
  Allow 'port' property (coming from panel-common.yaml) to be used in DTS:

  st/stm32f769-disco-mb1166-reva09.dtb: panel@0: 'port' does not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>

---

 .../display/panel/novatek,nt35510.yaml        | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)
  

Comments

Rob Herring Jan. 27, 2024, 4:28 p.m. UTC | #1
On Sat, 27 Jan 2024 16:28:08 +0100, Dario Binacchi wrote:
> Allow 'port' property (coming from panel-common.yaml) to be used in DTS:
> 
>   st/stm32f769-disco-mb1166-reva09.dtb: panel@0: 'port' does not match any of the regexes: 'pinctrl-[0-9]+'
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
> 
> ---
> 
>  .../display/panel/novatek,nt35510.yaml        | 34 +++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 

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/display/panel/novatek,nt35510.example.dtb: panel@0: compatible:0: 'hydis,hva40wv1' was expected
	from schema $id: http://devicetree.org/schemas/display/panel/novatek,nt35510.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240127152821.65744-1-dario.binacchi@amarulasolutions.com

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.
  
Linus Walleij Jan. 27, 2024, 4:40 p.m. UTC | #2
On Sat, Jan 27, 2024 at 5:28 PM Rob Herring <robh@kernel.org> wrote:

> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/panel/novatek,nt35510.example.dtb: panel@0: compatible:0: 'hydis,hva40wv1' was expected
>         from schema $id: http://devicetree.org/schemas/display/panel/novatek,nt35510.yaml#

This is because the checker is applying the patch on something that is not
drm-misc-next.

I think the patch is fine.

Yours,
Linus Walleij
  
Rob Herring Jan. 30, 2024, 3:14 p.m. UTC | #3
On Sat, Jan 27, 2024 at 04:28:08PM +0100, Dario Binacchi wrote:
> Allow 'port' property (coming from panel-common.yaml) to be used in DTS:
> 
>   st/stm32f769-disco-mb1166-reva09.dtb: panel@0: 'port' does not match any of the regexes: 'pinctrl-[0-9]+'
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
> 
> ---
> 
>  .../display/panel/novatek,nt35510.yaml        | 34 +++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml b/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml
> index a4afaff483b7..72913719df23 100644
> --- a/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml
> @@ -31,6 +31,22 @@ properties:
>    vddi-supply:
>      description: regulator that supplies the vddi voltage
>    backlight: true
> +  port:
> +    $ref: /schemas/graph.yaml#/properties/port

Just 'port: true'

> +
> +if:
> +  properties:
> +    compatible:
> +      contains:
> +        enum:
> +          - frida,frd400b25025
> +then:
> +  required:
> +    - port
> +
> +else:
> +  properties:
> +    port: false

No need for this. 'port' should be allowed for everyone.

>  
>  required:
>    - compatible
> @@ -54,5 +70,23 @@ examples:
>              backlight = <&gpio_bl>;
>          };
>      };
> +  - |
> +    dsi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        panel@0 {
> +            compatible = "frida,frd400b25025", "novatek,nt35510";
> +            vddi-supply = <&vcc_3v3>;
> +            vdd-supply = <&vcc_3v3>;
> +            reg = <0>; /* dsi virtual channel (0..3) */
> +            reset-gpios = <&gpioj 15 GPIO_ACTIVE_LOW>;
>  
> +            port {
> +                dsi_panel_in: endpoint {
> +                    remote-endpoint = <&dsi_out>;
> +                };
> +            };
> +        };
> +    };
>  ...
> -- 
> 2.43.0
>
  

Patch

diff --git a/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml b/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml
index a4afaff483b7..72913719df23 100644
--- a/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml
+++ b/Documentation/devicetree/bindings/display/panel/novatek,nt35510.yaml
@@ -31,6 +31,22 @@  properties:
   vddi-supply:
     description: regulator that supplies the vddi voltage
   backlight: true
+  port:
+    $ref: /schemas/graph.yaml#/properties/port
+
+if:
+  properties:
+    compatible:
+      contains:
+        enum:
+          - frida,frd400b25025
+then:
+  required:
+    - port
+
+else:
+  properties:
+    port: false
 
 required:
   - compatible
@@ -54,5 +70,23 @@  examples:
             backlight = <&gpio_bl>;
         };
     };
+  - |
+    dsi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        panel@0 {
+            compatible = "frida,frd400b25025", "novatek,nt35510";
+            vddi-supply = <&vcc_3v3>;
+            vdd-supply = <&vcc_3v3>;
+            reg = <0>; /* dsi virtual channel (0..3) */
+            reset-gpios = <&gpioj 15 GPIO_ACTIVE_LOW>;
 
+            port {
+                dsi_panel_in: endpoint {
+                    remote-endpoint = <&dsi_out>;
+                };
+            };
+        };
+    };
 ...