mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Juergen Beisert <jbe@pengutronix.de>
To: barebox@lists.infradead.org
Subject: [PATCH] Add support for runtime selection of video mode in barebox
Date: Mon, 20 Dec 2010 16:04:59 +0100	[thread overview]
Message-ID: <1292857509-13881-1-git-send-email-jbe@pengutronix.de> (raw)

Currently barebox uses a fixed video mode setup. Everything is compiled in.
This change set adds the possibility to select a video mode according to a
connected display at runtime (but only for adapted graphic drivers). If more
than one video mode is supported by the platform, running the 'devinfo'
command on the graphic device shows the supported list of video modes.
After selecting the video mode, the output can be enabled.

Always the first listed video mode is selected by default, but graphic output
is still disabled. So, an init script can still change the mode.

My system comes with a VGA connector that supports more than one video mode.

At system start, the first video mode is selected, but no output happens:

barebox:/  devinfo fb0
 base  : 0x00000000
 size  : 0x00096000
 driver: none

 Parameters:
           enable = 0
        mode_name = VGA

To get the list of supported video modes, just 'ask' the driver:

barebox:/ devinfo stmfb0
base  : 0x80030000
size  : 0x00001000
driver: stmfb

 Supported video modes:
   - 'VGA': 640 x 480
   - 'ETV570': 640 x 480
   - 'SVGA': 800 x 600
   - 'XGA': 1024 x 768
   - 'SXGA': 1280 x 1024
no parameters available

To set a new mode, disable the output first (if already enabled) and change
the framebuffer's 'mode_name' parameter:

barebox:/ fb0.mode_name=SVGA

Then (re-)enable it:

barebox:/ fb0.enable=1

barebox:/ devinfo fb0
base  : 0x00000000
size  : 0x00096000
driver: none

Parameters:
          enable = 1
       mode_name = SVGA

Already existing graphic drivers are not touched.

The following changes since commit 97d6b6aac3f0f267afc2e0d8abe55b6e82860d6a:

  ARM tx28stk5_defconfig: update config (2010-12-14 15:22:55 +0100)

are available in the git repository at:
  http://git.pengutronix.de/git/jbe/for_barebox_next/ next_seperate_videomode

Juergen Beisert (10):
      Add more useful generic macros
      ARM Chumby: Fix memory index
      ARM Chumby: Fix unit of the clocks after the change to Hz
      ARM Chumby: Just fix some typos
      Fix default framebuffer 'enable' set
      Add the feature to change the video mode at runtime
      ARM STM/i.MX: Add a pixel clock calculation routine for i.MX23/i.MX28
      ARM STM/i.MX: Add video driver for i.MX23/i.MX28
      ARM KARO-TX28-STK5: Add a user for video graphics support on i.MX28
      ARM Chumby-Falconwing: Add a user for video graphics support on i.MX23

 arch/arm/boards/chumby_falconwing/falconwing.c |   99 +++--
 arch/arm/boards/karo-tx28/tx28-stk5.c          |  148 +++++++
 arch/arm/configs/chumbyone_defconfig           |    3 +
 arch/arm/configs/tx28stk5_defconfig            |    4 +
 arch/arm/mach-stm/Makefile                     |    1 +
 arch/arm/mach-stm/imx_lcd_clk.c                |  149 +++++++
 arch/arm/mach-stm/include/mach/clock-imx23.h   |    2 +
 arch/arm/mach-stm/include/mach/clock-imx28.h   |    2 +
 arch/arm/mach-stm/include/mach/fb.h            |   43 ++
 arch/arm/mach-stm/include/mach/imx23-regs.h    |    1 +
 drivers/video/Kconfig                          |    7 +
 drivers/video/Makefile                         |    1 +
 drivers/video/fb.c                             |   44 ++-
 drivers/video/stm.c                            |  540 ++++++++++++++++++++++++
 include/common.h                               |   10 +
 include/fb.h                                   |    3 +
 16 files changed, 1024 insertions(+), 33 deletions(-)
 create mode 100644 arch/arm/mach-stm/imx_lcd_clk.c
 create mode 100644 arch/arm/mach-stm/include/mach/fb.h
 create mode 100644 drivers/video/stm.c

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

             reply	other threads:[~2010-12-20 15:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-20 15:04 Juergen Beisert [this message]
2010-12-20 15:05 ` [PATCH 01/10] Add more useful generic macros Juergen Beisert
2010-12-20 15:05 ` [PATCH 02/10] ARM Chumby: Fix memory index Juergen Beisert
2010-12-20 15:05 ` [PATCH 03/10] ARM Chumby: Fix unit of the clocks after the change to Hz Juergen Beisert
2010-12-20 15:05 ` [PATCH 04/10] ARM Chumby: Just fix some typos Juergen Beisert
2010-12-20 15:05 ` [PATCH 05/10] Fix default framebuffer 'enable' set Juergen Beisert
2010-12-20 15:05 ` [PATCH 06/10] Add the feature to change the video mode at runtime Juergen Beisert
2010-12-20 15:05 ` [PATCH 07/10] ARM STM/i.MX: Add a pixel clock calculation routine for i.MX23/i.MX28 Juergen Beisert
2010-12-20 15:05 ` [PATCH 08/10] ARM STM/i.MX: Add video driver " Juergen Beisert
2010-12-29 14:55   ` Gregory CLEMENT
2010-12-20 15:05 ` [PATCH 09/10] ARM KARO-TX28-STK5: Add a user for video graphics support on i.MX28 Juergen Beisert
2010-12-20 15:05 ` [PATCH 10/10] ARM Chumby-Falconwing: Add a user for video graphics support on i.MX23 Juergen Beisert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1292857509-13881-1-git-send-email-jbe@pengutronix.de \
    --to=jbe@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox