[U-Boot] persistent logo on LCD on imx6ull

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Tue Jul 3 09:20:15 UTC 2018


Hi Peng

Ok I have fixed it :)

Michael

On Mon, Jul 2, 2018 at 4:26 PM, Michael Nazzareno Trimarchi
<michael at 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 at 86fa2000 {
> +                       reg = <0x86fa2000 0x80000>;
> +                       no-map;
> +               };
> +
> +       };
> +
> +       chosen {
> +               #address-cells = <1>;
> +               #size-cells = <1>;
> +               ranges;
> +
> +               stdout-path = "display0";
> +               framebuffer0: framebuffer at 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 = <&reg_lcd_nshut>;
> +                       nreset-supply = <&reg_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)
>
> 1) 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               |



-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |


More information about the U-Boot mailing list