linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V7 0/4] Add driver for GE B850v3 LVDS/DP++ Bridge
@ 2017-01-01 20:24 Peter Senna Tschudin
  2017-01-01 20:24 ` [PATCH V7 1/4] Documentation/devicetree/bindings: b850v3_lvds_dp Peter Senna Tschudin
                   ` (3 more replies)
  0 siblings, 4 replies; 32+ messages in thread
From: Peter Senna Tschudin @ 2017-01-01 20:24 UTC (permalink / raw)
  To: airlied, architt, akpm, daniel.vetter, davem, devicetree,
	dri-devel, enric.balletbo, eballetbo, galak, gregkh, heiko,
	ijc+devicetree, javier, jslaby, kernel, linux-arm-kernel, linux,
	linux-kernel, linux, mark.rutland, martin.donnelly, martyn.welch,
	mchehab, pawel.moll, peter.senna, peter.senna, p.zabel,
	thierry.reding, rmk+kernel, robh+dt, shawnguo, tiwai, treding,
	ykk

The series adds a driver that creates a drm_bridge and a drm_connector for the
LVDS to DP++ display bridge of the GE B850v3.

There are two physical bridges on the video signal pipeline: a STDP4028(LVDS to
DP) and a STDP2690(DP to DP++).  The hardware and firmware made it complicated
for this binding to comprise two device tree nodes, as the design goal is to
configure both bridges based on the LVDS signal, which leave the driver
powerless to control the video processing pipeline. The two bridges behaves as
a single bridge, and the driver is only needed for telling the host about EDID /
HPD, and for giving the host powers to ack interrupts. The video signal
pipeline is as follows:

  Host -> LVDS|--(STDP4028)--|DP -> DP|--(STDP2690)--|DP++ -> Video output

This series depends on commit dc80d7038883 ("drm/imx-ldb: Add support to
drm-bridge") which is already on linux-next.

The patches from the series:
 [1/4] Devicetree documentation for the GE B850v3 LVDS/DP++ Bridge

 [2/4] Update the MAINTAINERS file

 [3/4] Add the driver, make changes to Kconfig and Makefile

 [4/4] Make the changes to the B850v3 dts file to enable the GE B850v3
       LVDS/DP++ Bridge.

Tested on next20161224.

Changes from V6:
 - Removed check for pixel clock as the bridge supports up to 330Mhz while the
   host is limited to 264 MHz in very specific conditions.
 - Added a second mutex to avoid concurrency issues while acking interrupts
   from threaded interrupt handlers.
 - Renamed the edid mutex to be more descriptive.
 - Added a .detach() function that disables the interrupts.
 - Adopted i2c_new_secondary_device() and updated the dts and documentation to
   match the new method.
 - Removed useless test to drm_bridge_add()
 - Did some refactoring around devm_request_threaded_irq()
 - Added a missing call to i2c_unregister_device() on the i2c_driver.remove()
   function.

Changes from V5:
 - Change to MAINTAINERS in a separate patch
 - Reworked interrupt handler initialization
 - Removed useless calls to: drm_connector_register(),
   drm_helper_hpd_irq_event(), and drm_bridge_enable()

Changes from V4:
 - Renamed the i2c_driver.name from "ge,b850v3-lvds-dp" to "b850v3-lvds-dp" to
   remove the comma from the driver name

Changes from V3:
 - Removed the patch that was configuring the mapping between IPUs and external
   displays on the dts file

Peter Senna Tschudin (4):
  Documentation/devicetree/bindings: b850v3_lvds_dp
  MAINTAINERS: Add entry for GE B850v3 LVDS/DP++ Bridge
  drm/bridge: Add driver for GE B850v3 LVDS/DP++ Bridge
  dts/imx6q-b850v3: Use GE B850v3 LVDS/DP++ Bridge

 .../devicetree/bindings/ge/b850v3-lvds-dp.txt      |  39 +++
 MAINTAINERS                                        |   8 +
 arch/arm/boot/dts/imx6q-b850v3.dts                 |  30 ++
 drivers/gpu/drm/bridge/Kconfig                     |  11 +
 drivers/gpu/drm/bridge/Makefile                    |   1 +
 drivers/gpu/drm/bridge/ge_b850v3_lvds_dp.c         | 384 +++++++++++++++++++++
 6 files changed, 473 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/ge/b850v3-lvds-dp.txt
 create mode 100644 drivers/gpu/drm/bridge/ge_b850v3_lvds_dp.c

-- 
2.5.5

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2017-02-06  8:46 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-01 20:24 [PATCH V7 0/4] Add driver for GE B850v3 LVDS/DP++ Bridge Peter Senna Tschudin
2017-01-01 20:24 ` [PATCH V7 1/4] Documentation/devicetree/bindings: b850v3_lvds_dp Peter Senna Tschudin
2017-01-03 22:51   ` Rob Herring
2017-01-03 23:34     ` Peter Senna Tschudin
2017-01-04 20:39       ` Rob Herring
2017-01-07  1:29         ` Peter Senna Tschudin
2017-01-10 21:04           ` Laurent Pinchart
2017-01-16  8:37             ` Peter Senna Tschudin
2017-01-18 21:10               ` Laurent Pinchart
2017-01-19  8:12                 ` Peter Senna Tschudin
2017-01-19  8:17                   ` Laurent Pinchart
2017-01-19  9:25                     ` Peter Senna Tschudin
2017-01-19 11:49                       ` Laurent Pinchart
2017-01-10 21:06   ` Laurent Pinchart
2017-01-01 20:24 ` [PATCH V7 2/4] MAINTAINERS: Add entry for GE B850v3 LVDS/DP++ Bridge Peter Senna Tschudin
2017-01-01 20:24 ` [PATCH V7 3/4] drm/bridge: Add driver " Peter Senna Tschudin
2017-01-02 11:26   ` Peter Senna Tschudin
2017-01-05  7:48   ` Archit Taneja
2017-01-28 14:16     ` Peter Senna Tschudin
2017-01-30 17:05       ` Jani Nikula
2017-02-01  9:44         ` Archit Taneja
2017-02-01 10:58           ` Peter Senna Tschudin
2017-02-01 11:35             ` Daniel Vetter
2017-02-01 12:21               ` Peter Senna Tschudin
2017-02-02  9:56                 ` Archit Taneja
2017-02-02  1:46               ` Emil Velikov
2017-02-02 11:53                 ` Peter Senna Tschudin
2017-02-02 12:37                   ` Emil Velikov
2017-02-03  8:00                     ` Daniel Vetter
2017-02-03 12:25                       ` Emil Velikov
2017-02-06  8:45                         ` Daniel Vetter
2017-01-01 20:24 ` [PATCH V7 4/4] dts/imx6q-b850v3: Use " Peter Senna Tschudin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).