
Hi Peng
Ok I have fixed it :)
Michael
On Mon, Jul 2, 2018 at 4:26 PM, Michael Nazzareno Trimarchi michael@amarulasolutions.com wrote:
Hi Peng
I'm working to make persistent the uboot logo on imx6ull platform but I have some problem with the framebuffer. Now this is the main idea
I use this to recalculate allocation
ubi part ubiblock; ubi read ${loadaddr} updater; run load_dtb; fdt addr ${fdt_addr} fdt set /reserved-memory/framebuffer reg "<0x$video_address 0x$video_memory_size>" fdt set /chosen/framebuffer reg "<0x$video_address 0x$video_memory_size>"
In linux I have
aliases {
display0 = &lcdif;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
display_reserved: framebuffer@86fa2000 {
reg = <0x86fa2000 0x80000>;
no-map;
};
};
chosen {
#address-cells = <1>;
#size-cells = <1>;
ranges;
stdout-path = "display0";
framebuffer0: framebuffer@86fa2000 {
#clock-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif>;
compatible = "simple-framebuffer";
reg = <0x86fa2000 (480 * 272 * 4)>;
width = <480>;
height = <272>;
stride = <(480 * 4)>;
format = "a8r8g8b8";
clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
<&clks IMX6UL_CLK_LCDIF_APB>;
nshut-supply = <®_lcd_nshut>;
nreset-supply = <®_lcd_nreset>;
display = <&lcdif>;
};
};
and this in uboot
index 4011066..beddd4a 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -69,6 +69,7 @@ #include <version.h> #include <malloc.h> #include <video.h> +#include <lcd.h> #include <linux/compiler.h>
#if defined(CONFIG_VIDEO_MXS) @@ -2107,6 +2108,9 @@ static int cfg_video_init(void) video_console_address = video_fb_address; #endif
env_set_hex("video_address", (unsigned long)VIDEO_FB_ADRS);
env_set_hex("video_memory_size", (unsigned long)
roundup(VIDEO_SIZE, PAGE_SIZE));
/* Initialize the console */ console_col = 0; console_row = 0;
diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c index 4e3e3d7..e2a5c05 100644 --- a/drivers/video/mxsfb.c +++ b/drivers/video/mxsfb.c @@ -7,6 +7,7 @@ #include <common.h> #include <malloc.h> #include <video_fb.h> +#include <lcd.h>
#include <asm/arch/imx-regs.h> #include <asm/arch/clock.h> @@ -214,8 +215,8 @@ void *video_hw_init(void) panel.memSize = mode.xres * mode.yres * panel.gdfBytesPP;
/* Allocate framebuffer */
fb = memalign(ARCH_DMA_MINALIGN,
roundup(panel.memSize, ARCH_DMA_MINALIGN));
fb = memalign(PAGE_SIZE,
roundup(panel.memSize, PAGE_SIZE)); if (!fb) { printf("MXSFB: Error allocating framebuffer!\n"); return NULL;
I have two problems. (Using the latest uboot and linux)
- I have a 50uS glitch on gpios so they get down and up again (nshut
and nreset) even I don't touch them 2) Even clock tree is ok pixelclock seems that stops to go out
Do you have any suggestion?
Michael
-- | Michael Nazzareno Trimarchi Amarula Solutions BV | | COO - Founder Cruquiuskade 47 | | +31(0)851119172 Amsterdam 1018 AM NL | | [`as] http://www.amarulasolutions.com |