Den 24.01.2022 17.08, skrev Rob Herring: > On Sun, Jan 23, 2022 at 11:25 AM Noralf Trønnes <noralf@xxxxxxxxxxx> 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@xxxxxxxxxxx> >> --- >> .../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@xxxxxxxxxxx> >> + >> +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@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 >>