Re: [PATCH v4] dt-bindings: display: tegra: Convert to json-schema

2021-12-21 Thread Rob Herring
On Fri, 17 Dec 2021 17:43:20 +0100, Thierry Reding wrote:
> From: Thierry Reding 
> 
> Convert the Tegra host1x controller bindings from the free-form text
> format to json-schema.
> 
> This also adds the missing display-hub DT bindings that were not
> previously documented.
> 
> Signed-off-by: Thierry Reding 
> ---
> Changes in v4:
> - add interconnect, interconnect-names, operating-points-v2 and
>   power-domains property to match latest DT updates
> - drop stale reference to DPAUX pad controller bindings
> - include dsi-controller.yaml and drop $nodename, #address-cells,
>   #size-cells and patternProperties from DSI bindings
> - integrate #sound-dai-cells addition from published patch
> - drop some generic, useless comments
> 
> Changes in v3:
> - split into separate YAML files for simplicity
> - add display-hub DT bindings
> 
> Changes in v2:
> - use additionalProperties instead of unevaluatedProperties where
>   sufficient
> - drop redundant $ref and add missing maxItems properties
> - drop documentation for standard properties
> - remove status properties from example
> - drop spurious comments
> 
>  .../display/tegra/nvidia,tegra114-mipi.txt|  41 --
>  .../display/tegra/nvidia,tegra114-mipi.yaml   |  74 ++
>  .../display/tegra/nvidia,tegra124-dpaux.yaml  | 149 
>  .../display/tegra/nvidia,tegra124-sor.yaml| 206 ++
>  .../display/tegra/nvidia,tegra124-vic.yaml|  71 ++
>  .../display/tegra/nvidia,tegra186-dc.yaml |  85 +++
>  .../tegra/nvidia,tegra186-display.yaml| 310 
>  .../tegra/nvidia,tegra186-dsi-padctl.yaml |  46 ++
>  .../display/tegra/nvidia,tegra20-dc.yaml  | 181 +
>  .../display/tegra/nvidia,tegra20-dsi.yaml | 159 +
>  .../display/tegra/nvidia,tegra20-epp.yaml |  70 ++
>  .../display/tegra/nvidia,tegra20-gr2d.yaml|  73 ++
>  .../display/tegra/nvidia,tegra20-gr3d.yaml| 214 ++
>  .../display/tegra/nvidia,tegra20-hdmi.yaml| 126 
>  .../display/tegra/nvidia,tegra20-host1x.txt   | 675 --
>  .../display/tegra/nvidia,tegra20-host1x.yaml  | 347 +
>  .../display/tegra/nvidia,tegra20-isp.yaml |  67 ++
>  .../display/tegra/nvidia,tegra20-mpe.yaml |  73 ++
>  .../display/tegra/nvidia,tegra20-tvo.yaml |  58 ++
>  .../display/tegra/nvidia,tegra20-vi.yaml  | 163 +
>  .../display/tegra/nvidia,tegra210-csi.yaml|  52 ++
>  .../pinctrl/nvidia,tegra124-dpaux-padctl.txt  |  59 --
>  22 files changed, 2524 insertions(+), 775 deletions(-)
>  delete mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra114-mipi.txt
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra114-mipi.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-dpaux.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-sor.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-vic.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra186-dc.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra186-display.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra186-dsi-padctl.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dc.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-epp.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-gr2d.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-gr3d.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-hdmi.yaml
>  delete mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-isp.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-mpe.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-tvo.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
>  create mode 100644 
> Documentation/devicetree/bindings/display/tegra/nvidia,tegra210-csi.yaml
>  delete mode 100644 
> Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-dpaux-padctl.txt
> 

Reviewed-by: Rob Herring 


Re: [PATCH v4] dt-bindings: display: tegra: Convert to json-schema

2021-12-17 Thread Thierry Reding
On Fri, Dec 17, 2021 at 05:43:20PM +0100, Thierry Reding wrote:
> From: Thierry Reding 
> 
> Convert the Tegra host1x controller bindings from the free-form text
> format to json-schema.
> 
> This also adds the missing display-hub DT bindings that were not
> previously documented.
> 
> Signed-off-by: Thierry Reding 
> ---
> Changes in v4:
> - add interconnect, interconnect-names, operating-points-v2 and
>   power-domains property to match latest DT updates
> - drop stale reference to DPAUX pad controller bindings
> - include dsi-controller.yaml and drop $nodename, #address-cells,
>   #size-cells and patternProperties from DSI bindings
> - integrate #sound-dai-cells addition from published patch
> - drop some generic, useless comments
> 
> Changes in v3:
> - split into separate YAML files for simplicity
> - add display-hub DT bindings
> 
> Changes in v2:
> - use additionalProperties instead of unevaluatedProperties where
>   sufficient
> - drop redundant $ref and add missing maxItems properties
> - drop documentation for standard properties
> - remove status properties from example
> - drop spurious comments

Hi Rob,

for your convenience, I'm attaching the diff from yesterday's version 3
to make it hopefully a bit easier to review.

Thierry
From f016de415f8a6bf263337bc88a840093a3f7514f Mon Sep 17 00:00:00 2001
From: Thierry Reding 
Date: Fri, 17 Dec 2021 14:44:47 +0100
Subject: [PATCH] squash! dt-bindings: display: tegra: Convert to json-schema

---
 .../display/tegra/nvidia,tegra124-sor.yaml|   3 -
 .../display/tegra/nvidia,tegra20-dc.yaml  |   7 ++
 .../display/tegra/nvidia,tegra20-dsi.yaml |  25 +---
 .../display/tegra/nvidia,tegra20-epp.yaml |  13 +++
 .../display/tegra/nvidia,tegra20-gr2d.yaml|  13 +++
 .../display/tegra/nvidia,tegra20-gr3d.yaml| 107 +-
 .../display/tegra/nvidia,tegra20-hdmi.yaml|  10 ++
 .../display/tegra/nvidia,tegra20-host1x.yaml  |  19 +++-
 .../display/tegra/nvidia,tegra20-isp.yaml |  12 ++
 .../display/tegra/nvidia,tegra20-mpe.yaml |  15 +++
 .../display/tegra/nvidia,tegra20-tvo.yaml |   7 ++
 .../display/tegra/nvidia,tegra20-vi.yaml  |  18 ++-
 12 files changed, 215 insertions(+), 34 deletions(-)

diff --git 
a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-sor.yaml 
b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-sor.yaml
index afc283796653..0188baad0865 100644
--- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-sor.yaml
+++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra124-sor.yaml
@@ -14,9 +14,6 @@ description: |
   The Serial Output Resource (SOR) can be used to drive HDMI, LVDS, eDP
   and DP outputs.
 
-  See ../pinctrl/nvidia,tegra124-dpaux-padctl.txt for information
-  regarding the DPAUX pad controller bindings.
-
 properties:
   $nodename:
 pattern: "^sor@[0-9a-f]+$"
diff --git 
a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dc.yaml 
b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dc.yaml
index eeffb8d7c597..ac346af663cd 100644
--- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dc.yaml
+++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dc.yaml
@@ -59,6 +59,13 @@ properties:
   iommus:
 maxItems: 1
 
+  operating-points-v2:
+$ref: "/schemas/types.yaml#/definitions/phandle"
+
+  power-domains:
+items:
+  - description: phandle to the core power domain
+
   nvidia,head:
 $ref: /schemas/types.yaml#/definitions/uint32
 description: The number of the display controller head. This is used to 
setup the various
diff --git 
a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml 
b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
index abab8783db1b..75546f250ad7 100644
--- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
+++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
@@ -11,9 +11,6 @@ maintainers:
   - Jon Hunter 
 
 properties:
-  $nodename:
-pattern: "^dsi@[0-9a-f]+$"
-
   compatible:
 oneOf:
   - enum:
@@ -50,15 +47,12 @@ properties:
 items:
   - const: dsi
 
+  operating-points-v2:
+$ref: "/schemas/types.yaml#/definitions/phandle"
+
   power-domains:
 maxItems: 1
 
-  '#address-cells':
-const: 1
-
-  '#size-cells':
-const: 0
-
   avdd-dsi-csi-supply:
 description: phandle of a supply that powers the DSI controller
 
@@ -90,17 +84,8 @@ properties:
   gang up with in order to support up to 8 data lanes
 $ref: "/schemas/types.yaml#/definitions/phandle"
 
-patternProperties:
-  "^panel@[0-9]+$":
-type: object
-properties:
-  reg:
-maxItems: 1
-
-required:
-  - reg
-
 allOf:
+  - $ref: "../dsi-controller.yaml#"
   - if:
   properties:
 compatible:
@@ -142,7 +127,7 @@ allOf:
   required:
 - interrupts
 
-additionalProperties: false
+unevaluatedProperties: false