[PATCH v2 0/3] Support non-default LVDS data mapping for simple panel

From: Johannes Zink
Date: Tue May 23 2023 - 04:23:54 EST


Some LVDS panels, such as the innolux,g101ice-l01 support multiple LVDS
data mapping modes, which can be configured by strapping a dataformat
pin on the display to a specific voltage.

This can be particularly useful for using the jeida-18 format, which
requires only 3 instead of 4 LVDS lanes.

This series moves the data-mapping property for LVDS panels in a
separate file and optionally adds it to simple-panel when matching to
the innolux,g101ice-l01 compatible. This property allows to override
the default data mapping set in the panel description in simple-panel.

The last patch in this series actually adds the driver support for
parsing the data format override device tree property and modifying the
corresponding values for bit per color and media bus format in the panel
descriptor.

Best regards
Johannes

---

Changelog:

v1 -> v2: - dt bindings: Worked in Rob's review findings (thanks for your
review), refactored to use common include instead of duplication
- driver: added missing error unwinding goto, as found by Dan
Carpenter's test robot:
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <error27@xxxxxxxxx>
Link: https://lore.kernel.org/r/202304160359.4LHmFOlU-lkp@xxxxxxxxx/

To: David Airlie <airlied@xxxxxxxxx>
To: Daniel Vetter <daniel@xxxxxxxx>
To: Rob Herring <robh+dt@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
To: Thierry Reding <thierry.reding@xxxxxxxxx>
To: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
To: Sam Ravnborg <sam@xxxxxxxxxxxx>
Cc: patchwork-jzi@xxxxxxxxxxxxxx
Cc: kernel@xxxxxxxxxxxxxx
Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Johannes Zink <j.zink@xxxxxxxxxxxxxx>

---
Johannes Zink (3):
dt-bindings: display: move LVDS data-mapping definition to separate file
dt-bindings: display: simple: support non-default data-mapping
drm/panel-simple: allow LVDS format override

.../bindings/display/lvds-data-mapping.yaml | 84 ++++++++++++++++++++++
.../devicetree/bindings/display/lvds.yaml | 75 +++----------------
.../bindings/display/panel/panel-simple.yaml | 26 ++++++-
drivers/gpu/drm/panel/panel-simple.c | 39 +++++++++-
4 files changed, 155 insertions(+), 69 deletions(-)
---
base-commit: 33a86170888b7e4aa0cea94ebb9c67180139cea9
change-id: 20230523-simplepanel_support_nondefault_datamapping-13c3f2ea28f8

Best regards,
--
Johannes Zink <j.zink@xxxxxxxxxxxxxx>