From: Pavel Pisa <pp...@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 -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel