diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-16 23:40:32 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2022-05-17 15:11:22 +0200 |
commit | 20ea6adbf199097c4f5f591ffee088340630dae4 (patch) | |
tree | d6719d95e136611a1c25bbf7789652d6d402779d /target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch | |
parent | bca05bd072180dc38ef740b37ded9572a6db1981 (diff) | |
download | upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.gz upstream-20ea6adbf199097c4f5f591ffee088340630dae4.tar.bz2 upstream-20ea6adbf199097c4f5f591ffee088340630dae4.zip |
bcm27xx: add support for linux v5.15
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B
Signed-off-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch b/target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch new file mode 100644 index 0000000000..41331381eb --- /dev/null +++ b/target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch @@ -0,0 +1,176 @@ +From e39c2eeca4868a7cf34e34fb9a9ca7119c30372a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org> +Date: Sun, 27 Feb 2022 13:47:09 +0100 +Subject: [PATCH] dt-bindings: display: add bindings for MIPI DBI + compatible SPI panels +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit 2f3468b upstream. + +Add binding for MIPI DBI compatible SPI panels. + +v6: +- Fix indentation (Rob) + +v5: +- Add sainsmart18 to compatible items (Rob) +- Expand write-only description (Sam) + +v4: +- There should only be two compatible (Maxime) +- s/panel-dbi-spi/panel-mipi-dbi-spi/in compatible + +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) + +Acked-by: Maxime Ripard <maxime@cerno.tech> +Acked-by: Sam Ravnborg <sam@ravnborg.org> +Reviewed-by: Rob Herring <robh@kernel.org> +Signed-off-by: Noralf Trønnes <noralf@tronnes.org> +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +Link: https://patchwork.freedesktop.org/patch/msgid/20220227124713.39766-2-noralf@tronnes.org +--- + .../display/panel/panel-mipi-dbi-spi.yaml | 126 ++++++++++++++++++ + 1 file changed, 126 insertions(+) + create mode 100644 Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml + +--- /dev/null ++++ b/Documentation/devicetree/bindings/display/panel/panel-mipi-dbi-spi.yaml +@@ -0,0 +1,126 @@ ++# 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: ++ items: ++ - enum: ++ - sainsmart18 ++ - const: panel-mipi-dbi-spi ++ ++ write-only: ++ type: boolean ++ description: ++ Controller is not readable (ie. Din (MISO on the SPI interface) 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. ++ ++required: ++ - compatible ++ - reg ++ - panel-timing ++ ++unevaluatedProperties: false ++ ++examples: ++ - | ++ #include <dt-bindings/gpio/gpio.h> ++ ++ spi { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ display@0{ ++ compatible = "sainsmart18", "panel-mipi-dbi-spi"; ++ reg = <0>; ++ spi-max-frequency = <40000000>; ++ ++ dc-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; ++ reset-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; ++ write-only; ++ ++ backlight = <&backlight>; ++ ++ width-mm = <35>; ++ height-mm = <28>; ++ ++ panel-timing { ++ hactive = <160>; ++ vactive = <128>; ++ hback-porch = <0>; ++ vback-porch = <0>; ++ clock-frequency = <0>; ++ hfront-porch = <0>; ++ hsync-len = <0>; ++ vfront-porch = <0>; ++ vsync-len = <0>; ++ }; ++ }; ++ }; ++ ++... |