aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch
diff options
context:
space:
mode:
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
commit20ea6adbf199097c4f5f591ffee088340630dae4 (patch)
treed6719d95e136611a1c25bbf7789652d6d402779d /target/linux/bcm27xx/patches-5.15/950-0792-dt-bindings-display-add-bindings-for-MIPI-DBI-compat.patch
parentbca05bd072180dc38ef740b37ded9572a6db1981 (diff)
downloadupstream-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.patch176
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>;
++ };
++ };
++ };
++
++...