大家好
我想在 uboot 上显示一些闪屏。
但在 SDK 中找不到适用于 am572x 的 DSS/DISPC 的任何简单驱动程序
是否有任何支持?
我还尝试根据 CPU 手册设置寄存器以及从 Linux 转储的寄存器值
我只需要创建一个简单的 dss/dispc 驱动程序。 仅输出到 LCD1 (DPI1)。
下表是 Linux 和 U-Boot 寄存器设置的比较。
|
项目 |
|
|
|
|
|
|
DSS (Linux) |
DSS (U-Boot) |
|
1 |
DSS_REVISION |
00000061 |
00000061 |
|
2. |
DSS_SysConfig |
00000000 |
00000000 |
|
3. |
DSS_SYSSTATUS |
00000001 |
00000001 |
|
4. |
DSS_CONTROL |
00010001 |
00010000 |
|
5. |
DSS_STATUS |
01408a82 |
01408a81 |
|
6. |
PM_DSS_PWRSTCTRL |
00030000 |
00030000 |
|
7. |
PM_DSS_PWRSTST |
00000037 |
00000037 |
|
8. |
PM_DSS_DSS_WKDEP |
00000000 |
00000000 |
|
9. |
RM_DSS_DSS_Context |
00000000 |
00000103 |
|
10. |
PM_DSS_DSS2_WKDEP |
00000000 |
00000000 |
|
11. |
RM_DSS_BB2D_Context |
00000101 |
00000101 |
|
12. |
RM_DSS_SDVENC_Context |
00000001 |
00000001 |
|
13. |
CM_DIV_H12_DPLL_PER |
00000204 |
00000204 |
|
14. |
CTRL_CORE_CONTRAL_IO_2 |
00000001 |
00000001 |
|
15. |
CM_DSS_CLKSTCTRL |
00000703 |
00000203 |
|
16. |
CM_DSS_DSS_CLKCTRL |
00001102. |
00060102 |
|
17. |
CTRL_CORE_DSS_PLL_CONTROL |
000002a6. |
000002af |
|
|
|
DISPC (Linux) |
DISPC (U-Boot) |
|
18 |
CTRL_CORE_SMA_SW_1 |
00410000 |
00410000 |
|
19. |
DISPC_REVISION |
00000051 |
00000051 |
|
20. |
DISPC_SysConfig |
00002015 |
00002015 |
|
21. |
DISPC_SYSSTATUS |
00000001 |
00000001 |
|
22. |
DISPC_IRQSTATUS |
00000020 |
000102a2. |
|
23 |
DISPC_IRQENABLE |
1694564e |
00000000 |
|
24 |
DISPC_CONTROL |
00018309 |
00018309 |
|
25 |
DISPC_CONFIG |
0000020c |
0000020c |
|
26 |
支持 DISPC_ |
00000000 |
00000000 |
|
27. |
DISPC_LINE_STATUS |
00000150 |
0000003c |
|
28. |
DISPC_LINE_NUMBER |
00000000 |
00000000 |
|
29. |
DISPC_di遮 阳板 |
00010001 |
00010000 |
|
30 |
DISPC_GLOBAL_ALPHA |
FFFFFFFF |
FFFFFFFF |
|
31. |
DISPC_GLOBAL_MFLAG_ATTRIBTE |
00000001 |
00000001 |
|
32 |
DISPC_DEFAULT_COLOR (LCD) |
00000000 |
00000000 |
|
33. |
DISPC_TRANS_COLOR_LCD (LCD) |
00000000 |
00000000 |
|
34 |
DISPC_SIZE (LCD) |
0257031f |
0257031f |
|
35. |
DISPC_时序_H (LCD) |
0570277f |
0570277f |
|
36. |
DISPC_Timing_V (LCD) |
01700103 |
01700103 |
|
37. |
DISPC_POL_FREQ (LCD) |
00073000 |
00073000 |
|
38. |
DISPC_DIVISORO (LCD) |
00010004 |
00010005 |
|
39. |
DISPC_DATA_Cycle1 (LCD) |
00000000 |
00000000 |
|
40 |
DISPC_DATA_CYCLE2 (LCD) |
00000000 |
00000000 |
|
41. |
DISPC_DATA_CYCLE3 (LCD) |
00000000 |
00000000 |
|
42. |
DISPC_CPR_COEF_R (LCD) |
00000000 |
00000000 |
|
43. |
DISPC_CPR_COEF_G (LCD) |
00000000 |
00000000 |
|
44. |
DISPC_CPR_COEF_B (LCD) |
00000000 |
00000000 |
|
45. |
DISPC_OVL_BA0 (GFX) |
7fda8000 |
7fda8000 |
|
46. |
DISPC_OVL_Ba1 (GFX) |
7fda8000 |
7fda8000 |
|
47. |
DISPC_OVL_POSITION (GFX) |
00000000 |
00000000 |
|
48 |
DISPC_OVL_SIZE (GFX) |
0257031f |
0257031f |
|
49 |
DISPC_OVL_attributes (GFX) |
020040b1. |
020040b1. |
|
50 |
DISPC_OVL_FIFO_THRESHOLD (GFX) |
07ff07f8. |
07ff07f8. |
|
51. |
DISPC_OVL_FIFO_SIZE (GFX) |
00000500 |
00000500 |
|
52. |
DISPC_OVL_ROW_INC (GFX) |
00000381 |
00000381 |
|
53. |
DISPC_OVL_PIXEL_INC (GFX) |
00000001 |
00000001 |
|
54 |
DISPC_OVL_PRELOAD (GFX) |
000007ff |
000007ff |
|
55 |
DISPC_OVL_MFLAG_THRESHOLD (GFX) |
05000400 |
05000400 |
|
56. |
DISPC_OVL_WINDOW_SKIP (GFX) |
00000000 |
00000000 |
|
57. |
DISPC_OVL_TABLE_BA (GFX) |
00000000 |
00000000 |
问题:
我的时钟路径:DSS_GFCLK->DSS_CLK->LCD1_CLK->PIXEL_CLK。 对吗?
2.我的模块路径:DSS->GFX->LCD1,对吗?
设置后、我可以通过引脚测量像素时钟和帧速率、但屏幕上没有显示任何内容、事件尽管我将一些像素值更改为 gfx base 7fda8000。
根据 CPU 手册、不需要设置 DISPC 的 DMA、默认情况下正常。 对吧?
我错过了一些寄存器吗?
您能给我一些解决问题的建议吗?
或者 、您能否给我一些建议、让我知道如何在 U-Boot 上调试 DS/DISPC。
