[PATCH 1/3] dt-bindings: display: add bindings for MIPI DBI compatible SPI panels
Noralf Trønnes
noralf at tronnes.org
Mon Jan 24 16:28:41 UTC 2022
Den 24.01.2022 17.08, skrev Rob Herring:
> On Sun, Jan 23, 2022 at 11:25 AM Noralf Trønnes <noralf at tronnes.org> wrote:
>>
>> Add binding for MIPI DBI compatible SPI panels.
>
> I'm sure we already have MIPI DBI panels. What's this for?
>
It aims to use one driver to cover all MIPI DBI panels where the
controller setup is loaded from userspace in a firmware file. The cover
letter points to the discussion where Maxime proposed this:
https://lore.kernel.org/dri-devel/20211129093946.xhp22mvdut3m67sc@houat/
Noralf.
>>
>> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
>> ---
>> .../display/panel/panel-mipi-dbi-spi.yaml | 69 +++++++++++++++++++
>> 1 file changed, 69 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..d6c8accb045c
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml
>> @@ -0,0 +1,69 @@
>> +# SPDX-License-Identifier: GPL-2.0-only
>> +%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 Panels Device Tree Bindings
>> +
>> +maintainers:
>> + - Noralf Trønnes <noralf at tronnes.org>
>> +
>> +description:
>> + This binding is for display panels using a MIPI DBI controller
>> + in SPI mode.
>> +
>> +allOf:
>> + - $ref: panel/panel-common.yaml#
>> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: panel-mipi-dbi-spi
>
> Does the MIPI spec define how to power on a DBI panel with regulators,
> enable/reset lines, etc. and all the timing constraints between those?
> If not, then this compatible on its own is useless. It's fine as a
> fallback if it's presence means the panel uses only standard DBI
> commands and no vendor specific commands.
>
>> +
>> + model:
>> + $ref: /schemas/types.yaml#/definitions/string
>> + description: The name of the display panel.
>> +
>> + write-only:
>> + type: boolean
>> + description:
>> + Controller is not readable (ie. MISO is not wired up).
>> +
>> + dc-gpios:
>> + maxItems: 1
>> + description: |
>> + Controller data/command selection (D/CX) in 4-line SPI mode.
>> + If not set, the controller is in 3-line SPI mode.
>> +
>> + backlight: true
>> + reg: true
>> + reset-gpios: true
>> +
>> +required:
>> + - compatible
>> + - model
>> + - reg
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> +
>> + spi {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + display at 0{
>> + compatible = "panel-mipi-dbi-spi";
>> + model = "sainsmart18";
>> + reg = <0>;
>> + spi-max-frequency = <40000000>;
>> + dc-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
>> + reset-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
>> + write-only;
>> + };
>> + };
>> +
>> +...
>> --
>> 2.33.0
>>
More information about the dri-devel
mailing list