/*************************************************************************
*
* Support UBoot logo keep for Linux L3.0.35_4.1.0-GA BSP.
*
* Freescale semiconductor
*
* Author: Li Qiang, b19715@freescale.com
*
* Date: 11/22/2013
*************************************************************************/
1. Description
1) Support HDMI, LVDS and LCD output in UBoot.
2) Support UBoot logo keep from uboot to Linux rootfs.
3) For HDMI, both 720P and 1080P mode were supported.
4) For LVDS, 1024x768 and 1080P dual channel panels were supported.
5) The logo file can be a 32/24/16 bpp bmp file.
2. File List
-- linux-3.0.35\0001-Keep-uboot-logo-for-Linux-boot-supports-HDMI-LCD-and.patch
Kernel patch to support the logo keep feature.
-- u-boot-2009.08\0001-Enable-uboot-logo-for-HDMI-LCD-and-LVDS.patch
Uboot patch to support the logo display.
-- logo_1920x1080_32bpp.bmp
Example 32bpp 1920x1080 logo file.
-- logo_1024x768_24bpp.bmp
Example 24bpp 1024x768 logo file.
-- logo_800x480_24bpp.bmp
Example 24bpp 800x480 logo file.
-- readme.txt
this file, please refer to it before use the patches
3. Requirement
- iMX6 SabreSD board.
- Linux L3.0.35_4.1.0-GA BSP.
4. How to use
-- Copy the two patch files to Linux kernel and uboot folder and apply them.
$ cd ~/ltib
$ ./ltib -p u-boot -m prep
$ ./ltib -p kernel -m prep
$ cd ~/ltib/rpm/BUILD/linux-3.0.35/
$ git apply ./0001-Keep-uboot-logo-for-Linux-boot-supports-HDMI-LCD-and.patch
$ cd ~/ltib/rpm/BUILD/u-boot-2009.08/
$ git apply ./0001-Enable-uboot-logo-for-HDMI-LCD-and-LVDS.patch
-- Build the new uboot image:
$ cd ~/ltib/rpm/BUILD/u-boot-2009.08/
$ export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
$ export ARCH=arm
$ make mx6q_sabresd_config
$ make
-- Before build new UBoot image, the display type can be selected from file u-boot-2009.08\include\configs\mx6q_sabresd.h
// Select one of the output mode
#define IPU_OUTPUT_MODE_HDMI
//#define IPU_OUTPUT_MODE_LVDS
//#define IPU_OUTPUT_MODE_LCD
-- Build the new kernel image:
$ cd ~/ltib/rpm/BUILD/linux-3.0.35/
$ export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-
$ export ARCH=arm
$ make imx6_defconfig
$ make uImage
-- Before "make uImage", make menuconfig can be used to select the display type.
System Type --->
Freescale MXC Implementations --->
MX6 clk setting for smooth UI transtion from bootloader to kernel --->
Select Display Interface
( ) Smooth UI transtion on LCD, IPU1, DI0
( ) Smooth UI transtion on LVDS, IPU1, DI1
(X) Smooth UI transtion on HDMI, IPU2, DI0
-- Uboot parameters for video mode
1080P HDMI:
"video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 fb0base=0x27b00000 fbmem=28M hdmi_audio_clk=148500000"
720P HDMI:
"video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 fb0base=0x27b00000 fbmem=28M hdmi_audio_clk=74250000"
1024x768 LVDS:
"video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666,bpp=24 fb0base=0x27b00000 fbmem=28M"
800x480 LCD:
"video=mxcfb0:dev=lcd,CLAA-WVGA,if=RGB565,bpp=24 fb0base=0x27b00000 fbmem=28M"
-- dd the logo bmp file to SD card address 0x600000 and skip the 54 bytes bmp file header.
1080P HDMI:
sudo dd if=logo_1920x1080_32bpp.bmp of=/dev/sdc bs=1 seek=6291456 skip=54
1024x768 LVDS:
sudo dd if=logo_1024x768_24bpp.bmp of=/dev/sdc bs=1 seek=6291456 skip=54
800x480 LCD:
sudo dd if=logo_800x480_24bpp.bmp of=/dev/sdc bs=1 seek=6291456 skip=54
5. Note
1) The logo.bmp file can be 32bpp, 24bpp or 16bpp, and it should be synced with video mode parameters "bpp=xx"
and uboot config file mx6q_sabresd.h (#define DISPLAY_BPP xx).
2) The IPU number and DI number are hard coded in kernel file "board-mx6q_sabresd.c".
static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
.ipu_id = 1,
.disp_id = 0,
};
static struct fsl_mxc_lcd_platform_data lcdif_data = {
.ipu_id = 0,
.disp_id = 0,
.default_ifmt = IPU_PIX_FMT_RGB565,
};
static struct fsl_mxc_ldb_platform_data ldb_data = {
.ipu_id = 0,
.disp_id = 1,
.ext_ref = 1,
.mode = LDB_SEP1,
.sec_ipu_id = 0,
.sec_disp_id = 0,
};
3) The IPU number and DI number are defined by Macro in Uboot file "include\configs\mx6q_sabresd.h"
#define IPU_NUM 2 // 1 for IPU1, 2 for IPU2.
#define DI_NUM 0 // 0 for DI0, 1 for DI1.
4) The display type used in uboot and kernel must be same, same type, same IPU number, same DI port and
same resolution.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
L3.0.35_4.1.0_uboot_logo_keep_patch_2013-11-22.zip (6个子文件)
L3.0.35_4.1.0
logo_1024x768_24bpp.bmp 2.25MB
logo_1920x1080_32bpp.bmp 7.91MB
u-boot-2009.08
0001-Enable-uboot-logo-for-HDMI-LCD-and-LVDS.patch 1.39MB
logo_800x480_24bpp.bmp 1.1MB
linux-3.0.35
0001-Keep-uboot-logo-for-Linux-boot-supports-HDMI-LCD-and.patch 49KB
readme.txt 5KB
共 6 条
- 1
资源评论
- 苹果树上的大猫2020-11-12这2个文件,其实就是从NXP官网下载的,官网可以免费下载,这里居然还要积分!! 另外,补丁文件是有要求的,就是你要用imx的IPU功能,如果你是lcdif,不合适!,没有作用!
- zxczyx2019-07-04真是垃圾,就两个文档,浪费我积分闲云老兵2019-07-19是两个补丁文件和一个说明文档。一个补丁文件是uboot的,一个补丁文件是linux内核的。
- jianke5122019-02-25平台不一样,不知道是否有用
- Liu-Eleven2018-11-12还没使用,但愿可以达到我想要的效果吧。
- LUCAN12132018-10-31好东西,正好需要,谢谢!
闲云老兵
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功