@@ -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
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(-)