mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
Nokia RX-51: Convert to CONFIG_DM_VIDEO
Mechanically convert video_hw_init() function to UCLASS_VIDEO probe callback and replace CONFIG_CFB_CONSOLE by CONFIG_DM_VIDEO. As framebuffer base address is setup by the bootloader which loads U-Boot, set plat->base to that fixed framebuffer address. This change was tested in qemu n900 machine and is working fine. What does not work is CONFIG_VIDEO_LOGO, seems to be buggy. Signed-off-by: Pali Rohár <pali@kernel.org>
This commit is contained in:
parent
bd0df82369
commit
d6213e206c
3 changed files with 31 additions and 27 deletions
|
@ -30,7 +30,7 @@
|
|||
#include <malloc.h>
|
||||
#include <twl4030.h>
|
||||
#include <i2c.h>
|
||||
#include <video_fb.h>
|
||||
#include <video.h>
|
||||
#include <keyboard.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <asm/io.h>
|
||||
|
@ -62,8 +62,6 @@ struct emu_hal_params_rx51 {
|
|||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
GraphicDevice gdev;
|
||||
|
||||
const omap3_sysinfo sysinfo = {
|
||||
DDR_STACKED,
|
||||
"Nokia RX-51",
|
||||
|
@ -342,22 +340,28 @@ void setup_board_tags(struct tag **in_params)
|
|||
*in_params = params;
|
||||
}
|
||||
|
||||
/*
|
||||
* Routine: video_hw_init
|
||||
* Description: Set up the GraphicDevice depending on sys_boot.
|
||||
*/
|
||||
void *video_hw_init(void)
|
||||
static int rx51_video_probe(struct udevice *dev)
|
||||
{
|
||||
/* fill in Graphic Device */
|
||||
gdev.frameAdrs = 0x8f9c0000;
|
||||
gdev.winSizeX = 800;
|
||||
gdev.winSizeY = 480;
|
||||
gdev.gdfBytesPP = 2;
|
||||
gdev.gdfIndex = GDF_16BIT_565RGB;
|
||||
memset((void *)gdev.frameAdrs, 0, 0xbb800);
|
||||
return (void *) &gdev;
|
||||
struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
|
||||
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
|
||||
|
||||
uc_plat->base = 0x8f9c0000;
|
||||
uc_plat->size = 800 * 480 * sizeof(u16);
|
||||
uc_priv->xsize = 800;
|
||||
uc_priv->ysize = 480;
|
||||
uc_priv->bpix = VIDEO_BPP16;
|
||||
|
||||
video_set_flush_dcache(dev, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
U_BOOT_DRIVER(rx51_video) = {
|
||||
.name = "rx51_video",
|
||||
.id = UCLASS_VIDEO,
|
||||
.probe = rx51_video_probe,
|
||||
};
|
||||
|
||||
/*
|
||||
* Routine: twl4030_regulator_set_mode
|
||||
* Description: Set twl4030 regulator mode over i2c powerbus.
|
||||
|
@ -777,6 +781,10 @@ U_BOOT_DRVINFOS(rx51_watchdog) = {
|
|||
{ "rx51_watchdog" },
|
||||
};
|
||||
|
||||
U_BOOT_DRVINFOS(rx51_video) = {
|
||||
{ "rx51_video" },
|
||||
};
|
||||
|
||||
U_BOOT_DRVINFOS(rx51_kp) = {
|
||||
{ "rx51_kp" },
|
||||
};
|
||||
|
|
|
@ -77,8 +77,11 @@ CONFIG_SPI=y
|
|||
CONFIG_USB=y
|
||||
CONFIG_USB_MUSB_UDC=y
|
||||
CONFIG_USB_OMAP3=y
|
||||
CONFIG_CFB_CONSOLE=y
|
||||
CONFIG_CFB_CONSOLE_ANSI=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_VIDEO_LOGO=y
|
||||
# CONFIG_VIDEO_BPP8 is not set
|
||||
# CONFIG_VIDEO_BPP32 is not set
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_SPLASH_SCREEN=y
|
||||
CONFIG_WATCHDOG_TIMEOUT_MSECS=31000
|
||||
CONFIG_WDT=y
|
||||
|
|
|
@ -70,19 +70,12 @@
|
|||
|
||||
#define CONFIG_SYS_ONENAND_BASE ONENAND_MAP
|
||||
|
||||
/*
|
||||
* Framebuffer
|
||||
*/
|
||||
/* Video console */
|
||||
#define VIDEO_FB_16BPP_PIXEL_SWAP
|
||||
#define VIDEO_FB_16BPP_WORD_SWAP
|
||||
|
||||
/* Environment information */
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"stdin=usbtty,serial,keyboard\0" \
|
||||
"stdout=usbtty,serial,vga\0" \
|
||||
"stderr=usbtty,serial,vga\0" \
|
||||
"stdout=usbtty,serial,vidconsole\0" \
|
||||
"stderr=usbtty,serial,vidconsole\0" \
|
||||
"slide=gpio input " __stringify(GPIO_SLIDE) "\0" \
|
||||
"switchmmc=mmc dev ${mmcnum}\0" \
|
||||
"kernaddr=0x82008000\0" \
|
||||
|
|
Loading…
Reference in a new issue