工具与软件:
您好!
我使用的是"Linux AM335x-EVM 5.10.168-rt83+"内核。
我的设备树如下所示: 
![]()
我设置 defconfig: 
当我调用模块时、我可以在我的定制 LCD 上查看图像、比如图像偏移。
我尝试从 devicetree 中更改时钟速度、HSYNC、Vsync 值、但不会产生任何影响。 (我通过示波器测量时钟速度。 即使我从 devicetree 输入不同的时钟速度、它也不会改变。


This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我使用的是"Linux AM335x-EVM 5.10.168-rt83+"内核。
我的设备树如下所示: 
![]()
我设置 defconfig: 
当我调用模块时、我可以在我的定制 LCD 上查看图像、比如图像偏移。
我尝试从 devicetree 中更改时钟速度、HSYNC、Vsync 值、但不会产生任何影响。 (我通过示波器测量时钟速度。 即使我从 devicetree 输入不同的时钟速度、它也不会改变。


您好!
我们通常以简单的面板来定义计时、下面是一个示例:
1. dts: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm/boot/dts/am335x-evm.dts?h=ti-linux-6.1.y#n121
2.简单的面板驱动程序: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/gpu/drm/panel/panel-simple.c?h=ti-linux-6.1.y#n3686
在测试中、您可以在 DTS 中使用相同的兼容字段、只需更改面板上简单的计时、以便与您的面板匹配。
此致、
Krunal

root@AM335x-EVM:~# kmsprint
抛出'STD::runtime_error'实例后调用终止
what (): 找不到 DRM 卡
已中止
root@AM335x-EVM:~# fbset
fbset:不能打开'/dev/fb0 ':没有这样的文件或目录
root@AM335x-EVM:~# dmesg | grep panel
[1.658959] 面板简单面板:使用虚拟调节器时未找到电源
[1.776155] 面板-简单面板:未找到电源,使用虚拟调节器
root@AM335x-EVM:~# modprobe tilcdc
[54.142364][DRM] 已初始化 tilcdc 1.0.0 20121205 (用于次要0上的4830e000.lcdc)
[54.185000] 控制台:切换到彩色帧缓冲设备40x30.
[54.197953] tilcdc 4830e000.lcdc:[drm] fb0:tilcdcdcdcdcdrmfb 帧缓冲器件
root@AM335x-EVM:~# fbset
模式"320x240-0"
# D: 0.000 MHz , H: 0.000kHz, V: 0.000Hz
几何320 240 320 240 16.
时序0 0 0 0 0 0 0 0 0
Accel true
RGBA 5/11 6/5、5/0、0/0
结束模式
root@AM335x-EVM:~# kmsprint
连接器0 (34) DPI-1 (已连接)
编码器0 (33)无
CRTC 0 (32) 320x240@32.36 3.000 320/2/41/2/- 240/2/2/10/2/- 32 (32.36) 0xA 0x48
平面0 (31) fb-id:35 (crtcs:0) 0、0 320x240 -> 0 320x240 (RG16 RG24 XR24)
FB 35 320x240
时钟仍然为12MHz。 我用 osciloscpe 测量。 我对文件所做的更改不会产生任何影响。 我不能旋转屏幕方向。
"我担心 kmsprint 找不到任何 DRM 节点"
如果选中、则已共享。 kmsprint 输出:

器件树如下所示:

我已经运行了一个 QT 程序、屏幕上有一幅图像、但由于我设置的参数不会影响时钟速度或其它值、因此图像在滑动。
我尝试通过内核代码(panel-simple)更改时钟速度
我已尝试从器件树中更改时钟速度:(tilcdc try)
我在进行上述尝试时已共享所有设置。 是否有任何合乎逻辑的建议、或者我们反复尝试同样的做法?
只是一种观点为什么 Clk 总是设置它自己12MHz。 12MHz 的特别之处。
为什么不能更改屏幕旋转?
为什么我的 fbset 显示: # D: 0.000 MHz , H: 0.000 kHz, V: 0.000 Hz.
帧缓冲区是否无法从 LCDC 获取数据?
我已经阅读了文档。 我已经尝试了很多东西。 我在这里写是因为它们不起作用。
您还可以发送 defconfig 参数和 devicetre 选项。 我准备好接受任何合乎逻辑的建议。
您好!
总而言之、无论您在何处编程时钟设置(dts 或简单面板)、输出始终为12MHz 而不是30 MHz。 此外、如果您尝试运行任何显示测试、图像会显示在 显示屏上、但 由于 PCLK 不准确、存在某些伪影。 您是否同意摘要?
作为一个实验、您是否可以使用默认 SDK 在我们的 EVM 上进行测试? 我们的板载显示器似乎正常工作、因此我认为没有任何软件故障、但如果您可以进行交叉检查、会有所帮助。
此致、
Krunal