about uboot imx8mq's mipi dsi

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

about uboot imx8mq's mipi dsi

1,722 次查看
Joe_C
Contributor I

Our products use IMX8MQ, we hope to achieve MIPI DSI output display in the UBOOT phase. I read the MIPI DSI register with 'mm.l 0x30A10000'. Uboot crashes and keeps restarting, but there is no problem with reading and writing the mipi CSI register.How can I read or write this part of the address.thanks.

QQ图片20201111094953.pngwriting the mipi CSI register.How can I read or write this part of the address.thanks.

0 项奖励
回复
7 回复数

1,665 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Joe_C

 

reason may be that clocks are not enabled and configured in CCM, one can look

at linux mipi-dsi initializations codes in

https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/clk/imx/clk-imx8mq.c?h=imx_5.4.47_...

read in linux with memtool:

https://source.codeaurora.org/external/imx/imx-test/tree/test/memtool?h=imx_5.4.47_2.2.0

 

Best regards
igor

0 项奖励
回复

1,653 次查看
Joe_C
Contributor I

thank  igorpadykov

I've configured and initialized the clock, but it doesn't work.The MIPI CSI clock is not initialized in the Uboot project, but can be accessed.The principle of MIPI DSI and MIPI CSI accessing registers should be the same,but  the MIPI DSI registers just can't be accessed.

code_1.pngcode_2.pngcode_3.pngcode_4.png

0 项奖励
回复

1,635 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Joe_C

 

suggest to try linux memtool and print all relevant mipi-dsi registers, then check them in uboot.

 

Best regards
igor

0 项奖励
回复

1,606 次查看
Joe_C
Contributor I

Hi  igorpadykov

According to your suggestion, I used Linux memtool to print the physical address of registers ranging from 0x30A10000 to 0x30A1FFFF, but it could not be accessed normally, and a bus error would occur.What should I do to access these addresses, I found that other parts of the address can not be accessed, such as i2c1 to i2C3.

0 项奖励
回复

1,618 次查看
Joe_C
Contributor I

thank igorpadykov

All the associated MIPI DSI registers have physical address ranges 0x30A10000 to 0x30a1FFFF, the addresses of these ranges are inaccessible, the MIPI DSI clock has been configured and enabled, what else did I miss?I looked all over the project and I couldn't find the code to initialize the MIPI CSI, but it was accessible,and I think they're the same, why is it accessible to the MIPI CSI, but not to the MIPI DSI.

0 项奖励
回复

1,658 次查看
Joe_C
Contributor I

thank  igorpadykov

I've configured and initialized the clock, but it doesn't work.The MIPI CSI clock is not initialized in the Uboot project, but can be accessed.The principle of MIPI DSI and MIPI CSI accessing registers should be the same,but  the MIPI DSI registers just can't be accessed.

0 项奖励
回复

1,376 次查看
my_name_lyl
Contributor I

老哥,建议先阅读linux内核的关于DSI部分的 code,然后再调试 uboot吧。

0 项奖励
回复