[PATCH v2 0/7] Raspberry Pi VideoCore support for console on HDMI output

Pavel Pisa ppisa4lists at pikron.com
Fri May 27 14:18:38 UTC 2016


Hello all,

patches seems to not change situation/make problems
so if there is no remark I would push them on Monday.
Do you agree?

The RPi1 and RPi2 testing state:

Tested to work on RPi1 with serial and graphic output
and direct boot and boot over U-boot.
Reported to work on RPi2 by Alan Cudmore with older
firmware. Problem with newer firmware stays same
as for RTEMS mainline.
Tested by me to run with and without graphic output
on QEMU but due lacks of bcm2835 timer emulation on
the QEMU side ticker stops with print of time zero.

Best wishes,

               Pavel

On Sunday 22 of May 2016 02:13:03 ppisa4lists at pikron.com wrote:
> From: Pavel Pisa <ppisa at pikron.com>
>
> The series updates and cleans YANG Qiao GSoC 2015 work for actual
> RTEMS 4.12 development version.
>
> The changes require that VideoCore firmware is running even
> if video output is not used because mailbox based communication
> with VideoCore is used to obtain SD command line parameters
> passed to the RTEMS application image and to limit RTEMS RAM
> workarea to not go beyond VideoCore assigned memory start.
>
> The two options configurable by "cmdline.txt" file read
> and made accessible by VideoCore firmware are present
>
>   --video=
>      possible values
>          auto  - select mode automatically according to the connected
> monitor off  (or none) - disable video support
>          width x height with optional bpp - for example 800x600 or
> 800x600-32
>
>   --console=
>      fbcons - redirect RTEMS console output to the connected monitor
>          if --video= is not specified/enabled or monitor is not detected
>          then output stays to be connected to the UART
>
> Typical "cmdline.txt" content for testing
>
>   --video=auto --console=fbcons
>
> WARNING: the used VideoCore service for command line arguments retrieval
>          returns only these arguments setup in "cmdline.txt".
>          Arguments provided to U-boot or other loader are ignored.
>
> Code has been tested or Raspberry Pi 1 with U-boot + TFTP and with direct
> boot from SD card with and without monitor connected. Code tested to
> not break standard serial console output for Raspberry Pi 2 on QEMU.
> Graphic output under QEMU results write abort because QEMU reported
> framebuffer size is not completely accessible, only 400 rows from 640x480
> reported screen works for the given mode.
>
> [PATCH v2] Updates to v2 version
>   - formatting of newly introduced files normalized by rtems.uncrustify
>   - incorrect clean after release spot by Gedare Bloom corrected
>   - HDMI monitor presence test commented (solution is not ideal but works
>     and if some more straightforward solution is found in future,
>     then it can be replaced)
>   - atomic flag used to ensure framebuffer single open only
>     is left in a place
>   - more cleanups and adjustment of compatibility with RPi2
>
> Pavel Pisa (4):
>   arm/raspberrypi: cmdline enhancement and early access workaround.
>   arm/raspberrypi: ensure that correct RPI_PERIPHERAL_BASE is provided
>     by raspberrypi.h
>   arm/raspberrypi: Raspberry Pi v2 ALLOCATE_BUFFER VC4 operation returns
>     direct address.
>   arm/raspberrypi: move MMU in front of application image to respect
>     variable memory size.
>
> YANG Qiao (3):
>   arm/raspberrypi: add VideoCore framebuffer without initialization
>   arm/raspberrypi: add video outchar support for rpi bsp
>   arm/raspberrypi: add fbcons support for rpi bsp
>
>  c/src/lib/libbsp/arm/raspberrypi/Makefile.am       |   13 +-
>  .../arm/raspberrypi/console/console-config.c       |   12 +-
>  .../arm/raspberrypi/console/console_select.c       |  113 +
>  c/src/lib/libbsp/arm/raspberrypi/console/fb.c      |  409 ++
>  c/src/lib/libbsp/arm/raspberrypi/console/fbcons.c  |  177 +
>  c/src/lib/libbsp/arm/raspberrypi/console/fbcons.h  |   47 +
>  .../lib/libbsp/arm/raspberrypi/console/font_data.h | 4639
> ++++++++++++++++++++ c/src/lib/libbsp/arm/raspberrypi/console/outch.c   | 
> 463 ++
>  c/src/lib/libbsp/arm/raspberrypi/gpio/rpi-gpio.c   |    1 +
>  c/src/lib/libbsp/arm/raspberrypi/include/bsp.h     |    9 +
>  .../libbsp/arm/raspberrypi/include/raspberrypi.h   |    1 +
>  c/src/lib/libbsp/arm/raspberrypi/include/rpi-fb.h  |   54 +
>  c/src/lib/libbsp/arm/raspberrypi/misc/mailbox.c    |    1 +
>  c/src/lib/libbsp/arm/raspberrypi/misc/timer.c      |    1 +
>  c/src/lib/libbsp/arm/raspberrypi/misc/vc.c         |    4 +
>  c/src/lib/libbsp/arm/raspberrypi/preinstall.am     |    8 +
>  .../arm/raspberrypi/startup/bspgetworkarea.c       |   77 +
>  .../libbsp/arm/raspberrypi/startup/bspstarthooks.c |    4 +
>  c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c |   12 +-
>  c/src/lib/libbsp/arm/raspberrypi/startup/linkcmds  |    6 +-
>  c/src/lib/libbsp/arm/raspberrypi/startup/mminit.c  |   31 +
>  21 files changed, 6071 insertions(+), 11 deletions(-)
>  create mode 100644
> c/src/lib/libbsp/arm/raspberrypi/console/console_select.c create mode
> 100644 c/src/lib/libbsp/arm/raspberrypi/console/fb.c
>  create mode 100644 c/src/lib/libbsp/arm/raspberrypi/console/fbcons.c
>  create mode 100644 c/src/lib/libbsp/arm/raspberrypi/console/fbcons.h
>  create mode 100644 c/src/lib/libbsp/arm/raspberrypi/console/font_data.h
>  create mode 100644 c/src/lib/libbsp/arm/raspberrypi/console/outch.c
>  create mode 100644 c/src/lib/libbsp/arm/raspberrypi/include/rpi-fb.h
>  create mode 100644
> c/src/lib/libbsp/arm/raspberrypi/startup/bspgetworkarea.c create mode
> 100644 c/src/lib/libbsp/arm/raspberrypi/startup/mminit.c


More information about the devel mailing list