IMX8MQ + DSI host controller support at U-boot

cancel
Showing results for 
Search instead for 
Did you mean: 

IMX8MQ + DSI host controller support at U-boot

671 Views
Contributor IV

Hi All,

We are working product based on IMX8MQ (MIMX8MQ6DVAJZAA) processor. 

  • We have LCD working fine at kernel level.  In our system LCD is driven by eLCDIF controller via MIPI DSI controller.
  • Now we want to make LCD working u-boot level. But unfortunately I see that till now NXP hasn't provide DSI host controller support at U-boot.
  • Is there any limitation for that ?
  • I have already started development for it. But not able to read/write any DSI host controller registers at u-boot level.
  • Can anyone provide me minimum clock configuration at u-boot level so atleast I can read/write DSI host controller registers.
  • Any suggestion or hint in this regard will appreciated.

Thanks,

Jemish

0 Kudos
12 Replies

61 Views
Contributor IV

Hi All,

Any update on this?

Thanks,

Jemish

0 Kudos

61 Views
NXP TechSupport
NXP TechSupport

yes, uboot don't configure lcd panel, why do you need configure this in the uboot level? you can refer to the board file in the uboot, maybe you can add your panel in the uboot file, I don't test this

imx8mq_evk.c\imx8mq_evk\freescale\board - uboot-imx - i.MX U-Boot 

0 Kudos

61 Views
Contributor IV

Hi Joan,

>> 

maybe you can add your panel in the uboot file, I don't test this

imx8mq_evk.c\imx8mq_evk\freescale\board - uboot-imx - i.MX U-Boot   <<

It's not that simple that we will add structure for panel in existing board file and it will work. As I said in our system LCD is driven by eLCDIF controller via MIPI DSI controller. We must need to add DSI host controller support at uboot level. 

Do you any suggestion for that?

Thanks,

Jemish

0 Kudos

61 Views
NXP TechSupport
NXP TechSupport

imx8M use LCDIF, maybe you can refer to the link as below, but this link is for IPU, you couldn't apply them directly, but you can refer to it

https://community.nxp.com/docs/DOC-98109 

0 Kudos

61 Views
Contributor IV

Hi Joan,

I already have the patch you suggested but it won't help as it is for IPU.

Let's make my question simple. Can you provide me DSI clock/power initialization sequence at U-boot so atleast I can read/write DSI registers.

Thanks,

Jemish

0 Kudos

61 Views
NXP TechSupport
NXP TechSupport

yes, imx8mq uses lcdif, this patch is for IPU, just for reference, we don't have specific source code for imx8mq, for mipi dsi init, you can refer to the dts file:

fsl-imx8mq.dtsi\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel 

if you need keep the logo in the kernel, when kernel load lcdif driver, try to keep the lcdif settings, like clock from changing

0 Kudos

61 Views
Contributor IV
Hi Joan,
Yes I checked but we are already using this device tree file in kernel. And by taking reference of that device tree I started development of DSI host controller on u-boot level. But we need clear initialization sequence because kernel clock architecture  and u-boot clock architecture are different in terms of implementation.
As we have section of  LCDIF clock in uboot:
File :  arch/arm/mach-imx/imx8m/clock_imx8mq.c
void mxs_set_lcdclk(u32 base_addr, u32 freq)
{
        /*
         * LCDIF_PIXEL_CLK: select 800MHz root clock,
         * select pre divider 8, output is 100 MHz
         */
        clock_set_target_val(LCDIF_PIXEL_CLK_ROOT, CLK_ROOT_ON |
                             CLK_ROOT_SOURCE_SEL(4) |
                             CLK_ROOT_PRE_DIV(CLK_ROOT_PRE_DIV8));
}
It will be good if NXP can provide similar code for DSI host controller. I have already tried as per my understanding but it didn't help.
Thanks,
Jemish
0 Kudos

61 Views
NXP TechSupport
NXP TechSupport

you can find clock file in the driver:

clk\drivers - linux-imx - i.MX Linux kernel 

you also can refer to the document about how to calculate dsi clock

https://community.nxp.com/docs/DOC-345307 

0 Kudos

61 Views
Contributor IV

Hi Joan,

I have all the clock values and I printed those clock values in kernel.

But still I am missing something critical and that's why I need help of NXP to provide me clock/power initialization of DSI at u-boot level.

Thanks,

Jemish

0 Kudos

61 Views
Contributor IV

Hi All,

Any update on this? May I know why NXP has not added support of DSI host on u-boot yet?

Thanks,

Jemish

0 Kudos

61 Views
NXP TechSupport
NXP TechSupport
0 Kudos

61 Views
Contributor IV

Hi Joan,

We want to configure LCD panel at u-boot because we want to display our product LOGO on LCD at u-boot level which will give indication to user that product is power on at early stage. Currently kernel logo is working but it almost take 5 to 6 seconds to get displayed. As product perspective it's not good sign.  Do you have any suggestion for that?

Thanks,

Jemish

0 Kudos