On Fri, Feb 11, 2022 at 02:04:32PM +0100, Noralf Trønnes wrote:
Add binding for MIPI DBI compatible SPI panels.
v3:
- Move properties to Device Tree (Maxime)
- Use contains for compatible (Maxime)
- Add backlight property to example
- Flesh out description
v2:
- Fix path for panel-common.yaml
- Use unevaluatedProperties
- Drop properties which are in the allOf section
- Drop model property (Rob)
Signed-off-by: Noralf Trønnes noralf@tronnes.org
.../display/panel/panel-mipi-dbi-spi.yaml | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml new file mode 100644 index 000000000000..4d017a36ad4d --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml @@ -0,0 +1,124 @@ +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/panel-mipi-dbi-spi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: MIPI DBI SPI Panel
+maintainers:
- Noralf Trønnes noralf@tronnes.org
+description: |
- This binding is for display panels using a MIPI DBI compatible controller
- in SPI mode.
- The MIPI Alliance Standard for Display Bus Interface defines the electrical
- and logical interfaces for display controllers historically used in mobile
- phones. The standard defines 4 display architecture types and this binding is
- for type 1 which has full frame memory. There are 3 interface types in the
- standard and type C is the serial interface.
- The standard defines the following interface signals for type C:
- Power:
- Vdd: Power supply for display module
- Vddi: Logic level supply for interface signals
- Combined into one in this binding called: power-supply
- Interface:
- CSx: Chip select
- SCL: Serial clock
- Dout: Serial out
- Din: Serial in
- SDA: Bidrectional in/out
- D/CX: Data/command selection, high=data, low=command
Called dc-gpios in this binding.
- RESX: Reset when low
Called reset-gpios in this binding.
- The type C interface has 3 options:
- Option 1: 9-bit mode and D/CX as the 9th bit
| Command | the next command or following data |
|<0><D7><D6><D5><D4><D3><D2><D1><D0>|<D/CX><D7><D6><D5><D4><D3><D2><D1><D0>|
- Option 2: 16-bit mode and D/CX as a 9th bit
| Command or data |
|<X><X><X><X><X><X><X><D/CX><D7><D6><D5><D4><D3><D2><D1><D0>|
- Option 3: 8-bit mode and D/CX as a separate interface line
| Command or data |
|<D7><D6><D5><D4><D3><D2><D1><D0>|
- The panel resolution is specified using the panel-timing node properties
- hactive (width) and vactive (height). The other mandatory panel-timing
- properties should be set to zero except clock-frequency which can be
- optionally set to inform about the actual pixel clock frequency.
- If the panel is wired to the controller at an offset specify this using
- hback-porch (x-offset) and vback-porch (y-offset).
+allOf:
- $ref: panel-common.yaml#
- $ref: /schemas/spi/spi-peripheral-props.yaml#
+properties:
- compatible:
- contains:
const: panel-dbi-spi
This could be further improved by using
properties: compatible: items: - {} # Panel Specific Compatible - const: panel-dbi-spi
To make it obvious we expect two compatible, and what the first one should be.
Once fixed,
Acked-by: Maxime Ripard maxime@cerno.tech
Maxime