[PATCH v4 0/3] Generic USB Display driver

Noralf Trønnes noralf at tronnes.org
Sun Jan 24 20:51:05 UTC 2021



Den 24.01.2021 19.38, skrev Lubomir Rintel:
> On Wed, Jan 20, 2021 at 06:00:30PM +0100, Noralf Trønnes wrote:
>> Hi,
>>
>> A while back I had the idea to turn a Raspberry Pi Zero into a $5
>> USB to HDMI/SDTV/DSI/DPI display adapter.
>>
>> The reason for calling it 'Generic' is so anyone can make a USB
>> display/adapter against this driver, all that's needed is to add a USB
>> vid:pid.
>>
>> Unfortunately I've had some compounding health problems that have
>> severally limited the time I can spend in front of a computer. For this
>> reason I've decided to keep the gadget driver out-of-tree and focus on
>> getting the host driver merged first.
>>
>> See the wiki[1] for more information and images for the Raspberry Pi
>> Zero/4.
>>
>> One big change this time is that I've followed Peter Stuge's advice to
>> not let DRM stuff leak into the USB protocol. This has made the protocol
>> easier to understand just from reading the header file.
>>
>> Noralf.
>>
>> [1] https://github.com/notro/gud/wiki
> 
> The patch set:
> 
> Tested-by: Lubomir Rintel <lkundrak at v3.sk>
> 
> Works like a charm with this board [1], though it didn't impress the girls
> as much as I hoped. Code here [2], picture here [3].
> 

I have wondered what color display resolution it is possible to drive
over USB full speed. I can understand that your PoC wasn't that
impressive since it doesn't use DMA to drive the SPI bus.

The new $4 Raspberry Pi Pico that came out this week looks interesting
as a USB interface board for tiny panels. It can drive DPI panels
directly, has 2 cores @133MHz, 264K SRAM and USB full speed. Maybe lz4
decompression is even possible. Another good thing is that the board
will be around for a long time.

Thanks for testing, I have limited bandwith these days so I couldn't do
a test on an MCU myself.

Noralf.

> [1] https://www.banggood.com/LILYGO-TTGO-T-Display-GD32-RISC-V-32-bit-Core-Minimal-Development-Board-1_14-IPS-p-1652870.html?rmmds=search&cur_warehouse=CN
> [2] https://github.com/hackerspace/libopencm3-gf32v-examples/commit/7ef51b31b9
> [3] https://people.freedesktop.org/~lkundrak/lilygo.jpeg
> 
> Had to apply a fix for the drm_connector_enum_list[] ommission I mentioned
> elsewhere, and that I've now noticed you've noted previously.
> 
> Take care
> Lubo
> 
>>
>>
>> Noralf Trønnes (3):
>>   drm/uapi: Add USB connector type
>>   drm/probe-helper: Check epoch counter in output_poll_execute()
>>   drm: Add Generic USB Display driver
>>
>>  MAINTAINERS                         |   8 +
>>  drivers/gpu/drm/Kconfig             |   2 +
>>  drivers/gpu/drm/Makefile            |   1 +
>>  drivers/gpu/drm/drm_probe_helper.c  |   7 +-
>>  drivers/gpu/drm/gud/Kconfig         |  14 +
>>  drivers/gpu/drm/gud/Makefile        |   4 +
>>  drivers/gpu/drm/gud/gud_connector.c | 722 ++++++++++++++++++++++++++++
>>  drivers/gpu/drm/gud/gud_drv.c       | 620 ++++++++++++++++++++++++
>>  drivers/gpu/drm/gud/gud_internal.h  | 148 ++++++
>>  drivers/gpu/drm/gud/gud_pipe.c      | 472 ++++++++++++++++++
>>  include/drm/gud.h                   | 356 ++++++++++++++
>>  include/uapi/drm/drm_mode.h         |   1 +
>>  12 files changed, 2354 insertions(+), 1 deletion(-)
>>  create mode 100644 drivers/gpu/drm/gud/Kconfig
>>  create mode 100644 drivers/gpu/drm/gud/Makefile
>>  create mode 100644 drivers/gpu/drm/gud/gud_connector.c
>>  create mode 100644 drivers/gpu/drm/gud/gud_drv.c
>>  create mode 100644 drivers/gpu/drm/gud/gud_internal.h
>>  create mode 100644 drivers/gpu/drm/gud/gud_pipe.c
>>  create mode 100644 include/drm/gud.h
>>
>> -- 
>> 2.23.0
>>
> 


More information about the dri-devel mailing list