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.
The patch set:
Tested-by: Lubomir Rintel lkundrak@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-Minim... [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