lkml.org 
[lkml]   [2020]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v2 2/2] dt-bindings: drm/bridge: ti-sn65dsi86: Improve the yaml validation
Date
This patch adds the following checks to the yaml:
- Remapping of the eDP output lanes is now limited to the subset of
remappings that the hardware supports.
- No more additional properties can be added under 'ports'.

This patch fixes the following bugs in the original yaml conversion:
- Fixed dependency between 'data-lanes' and 'lane-polarities', which
was backwards. Now you can only specify 'lane-polarities' if you
specified 'data-lanes'. I could have sworn I tried this before.
- We can't remap input lanes in this hardware.

This patch doesn't do, but if someone knew how I'd love to:
- Make sure if we have both 'lane-polarities' and 'data-lanes' that
they have the same number of elements.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
---
This patch could be squashed atop the patch adding the yaml [1]. I'm
sending separately for now to avoid churning the series another time.

[1] https://lore.kernel.org/r/20200430124442.v4.4.Ifcdc4ecb12742a27862744ee1e8753cb95a38a7f@changeid

Changes in v2:
- ("... Improve the yaml validation") new for v2.

.../bindings/display/bridge/ti,sn65dsi86.yaml | 74 ++++++++++---------
1 file changed, 40 insertions(+), 34 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
index 75c4e8b8e4b7..be10e8cf31e1 100644
--- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
@@ -72,6 +72,7 @@ properties:

ports:
type: object
+ additionalProperties: false

properties:
"#address-cells":
@@ -94,33 +95,9 @@ properties:
endpoint:
type: object
additionalProperties: false
-
properties:
remote-endpoint: true

- data-lanes:
- minItems: 1
- maxItems: 4
- items:
- enum:
- - 0
- - 1
- - 2
- - 3
- description: See ../../media/video-interface.txt
-
- lane-polarities:
- minItems: 1
- maxItems: 4
- items:
- enum:
- - 0
- - 1
- description: See ../../media/video-interface.txt
-
- dependencies:
- data-lanes: [lane-polarities]
-
required:
- reg

@@ -143,15 +120,44 @@ properties:
remote-endpoint: true

data-lanes:
- minItems: 1
- maxItems: 4
- items:
- enum:
- - 0
- - 1
- - 2
- - 3
- description: See ../../media/video-interface.txt
+ oneOf:
+ - minItems: 1
+ maxItems: 1
+ uniqueItems: true
+ items:
+ enum:
+ - 0
+ - 1
+ description:
+ If you have 1 logical lane the bridge supports routing
+ to either port 0 or port 1. Port 0 is suggested.
+ See ../../media/video-interface.txt for details.
+
+ - minItems: 2
+ maxItems: 2
+ uniqueItems: true
+ items:
+ enum:
+ - 0
+ - 1
+ description:
+ If you have 2 logical lanes the bridge supports
+ reordering but only on physical ports 0 and 1.
+ See ../../media/video-interface.txt for details.
+
+ - minItems: 4
+ maxItems: 4
+ uniqueItems: true
+ items:
+ enum:
+ - 0
+ - 1
+ - 2
+ - 3
+ description:
+ If you have 4 logical lanes the bridge supports
+ reordering in any way.
+ See ../../media/video-interface.txt for details.

lane-polarities:
minItems: 1
@@ -163,7 +169,7 @@ properties:
description: See ../../media/video-interface.txt

dependencies:
- data-lanes: [lane-polarities]
+ lane-polarities: [data-lanes]

required:
- reg
--
2.26.2.645.ge9eca65c58-goog
\
 
 \ /
  Last update: 2020-05-06 23:03    [W:0.096 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site