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.
你好
根据以下链接的内容、DSI 当前支持 TDA4VM 上的输出。
e2e.ti.com/.../tda4vm-tda4vm-dsi-support-on-linux
我们按照 TI 的说明修改内核相关设置。
但我们没有测量任何 DSI 时钟(E10/E11 DSI_TXCLKN/P 引脚)波形输出。
我的环境如下:
===================================================================================================================================
硬件:[J721e SoC]--DSI->[SN65DSI83]---LVD-->[LVDS 面板1280x720]
操作系统:Linux SDK 8.4.11/Kernel 5.10.120
===================================================================================================================================
内核 DTS 设置如下所示
k3-j721e-main.dtsi
dsi0: dsi@48000000 { compatible = "ti,j721e-dsi"; reg = <0x0 0x04800000 0x0 0x100000>, <0x0 0x04710000 0x0 0x100>; clocks = <&k3_clks 150 1>, <&k3_clks 150 5>; clock-names = "dsi_p_clk", "dsi_sys_clk"; resets = <&k3_reset 150 1>; reset-names = "dsi_p_rst"; power-domains = <&k3_pds 150 TI_SCI_PD_EXCLUSIVE>; interrupt-parent = <&gic500>; interrupts = <GIC_SPI 600 IRQ_TYPE_LEVEL_HIGH>; phys = <&dphy2>; phy-names = "dphy"; #address-cells = <1>; #size-cells = <0>; dsi0_ports: ports { #address-cells = <1>; #size-cells = <0>; }; }; dphy2: phy@4480000 { compatible = "ti,j721e-dphy", "cdns,dphy"; reg = <0x0 0x04480000 0x0 0x1100>; clocks = <&k3_clks 296 1>, <&k3_clks 296 3>; clock-names = "psm", "pll_ref"; #phy-cells = <0>; power-domains = <&k3_pds 296 TI_SCI_PD_EXCLUSIVE>; };
k3-j721e-test.dts
panel_disp0: panel_disp0@0 { reg = <0 0 0x0 0x0>; compatible = "panel-dpi"; power-supply = <®_backlight>; enable-gpios = <&main_gpio0 117 GPIO_ACTIVE_HIGH>; panel-timing { clock-frequency = <75000000>; hactive = <1280>; vactive = <720>; hback-porch = <140>; hfront-porch = <14>; vback-porch = <4>; vfront-porch = <144>; hsync-len = <2>; vsync-len = <2>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <0>; }; port { panel_in: endpoint { remote-endpoint = <&panel_bridge_out>; }; }; }; &main_i2c3 { pinctrl-names = "default"; pinctrl-0 = <&main_i2c3_pins_default>; clock-frequency = <400000>; status = "okay"; sn65dsi@2c { compatible = "ti,sn65dsi83"; reg = <0x2c>; status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; panel_bridge_in: endpoint { remote-endpoint = <&dsi0_out>; }; }; port@1 { reg = <1>; panel_bridge_out: endpoint { remote-endpoint = <&panel_in>; }; }; }; }; }; &dss_ports { #address-cells = <1>; #size-cells = <0>; /* DP */ port@0 { reg = <0>; dpi0_out: endpoint { remote-endpoint = <&dp0_in>; }; }; /* DSI */ port@1 { reg = <1>; dpi1_out: endpoint { remote-endpoint = <&dsi0_in>; }; }; }; &mhdp { pinctrl-names = "default"; pinctrl-0 = <&dp0_pins_default>; }; &dp0_ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dp0_in: endpoint { remote-endpoint = <&dpi0_out>; }; }; port@4 { reg = <4>; dp0_out: endpoint { remote-endpoint = <&dp_connector_in>; }; }; }; &dsi0 { ports { port@0 { reg = <0>; dsi0_out: endpoint { remote-endpoint = <&panel_bridge_in>; }; }; port@1 { reg = <1>; dsi0_in: endpoint { remote-endpoint = <&dpi1_out>; }; }; }; /*panel_disp0: panel_disp0@0 { reg = <0 0 0x0 0x0>; compatible = "lg,lh500wx1-sd03"; power-supply = <®_backlight>; enable-gpios = <&main_gpio0 117 GPIO_ACTIVE_HIGH>; port { panel_in: endpoint { remote-endpoint = <&panel_bridge_out>; }; }; };*/ };
dmesg 日志作为附件文件
问题1:内核设置是否有任何问题?
Q2:如何使 DSI 时钟引脚输出频率信号?
谢谢。
你好、Jason
我发现某些代码不同、您可以参考 K3-j721s2-main.dtsi
您可以先尝试此代码吗?
请检查时钟源设置
dphy0: phy@4480000 { compatible = "ti,j721e-dphy"; reg = <0x0 0x04480000 0x0 0x1000>; clocks = <&k3_clks 363 8>, <&k3_clks 363 14>; clock-names = "psm", "pll_ref"; #phy-cells = <0>; power-domains = <&k3_pds 363 TI_SCI_PD_EXCLUSIVE>; assigned-clocks = <&k3_clks 363 14>; assigned-clock-parents = <&k3_clks 363 15>; assigned-clock-rates = <19200000>; }; dsi0: dsi@4800000 { compatible = "ti,j721e-dsi"; reg = <0x0 0x04800000 0x0 0x100000>, <0x0 0x04710000 0x0 0x100>; clocks = <&k3_clks 154 4>, <&k3_clks 154 1>; clock-names = "dsi_p_clk", "dsi_sys_clk"; power-domains = <&k3_pds 154 TI_SCI_PD_EXCLUSIVE>; interrupt-parent = <&gic500>; interrupts = <GIC_SPI 600 IRQ_TYPE_LEVEL_HIGH>; phys = <&dphy0>; phy-names = "dphy"; dsi0_ports: ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; }; port@1 { reg = <1>; }; }; };
您需要在 K3-j721e-main.dtsi 中重命名节点"dphy0"、
因为 dphy0已分配给 CSI-Rx
尊敬的 TI 成员:
我不确定这是正确的答案、
有什么意见要问我吗?
非常感谢
)
Gibbs
您好、Jon、Gibbs、
我在器件树设置中看到了几个问题
DSI 连接到 DSS 的端口2、因此您将 dsi0连接到 DSS 的端口@2
请参阅: https://github.com/beagleboard/BeagleBoard-DeviceTrees/blob/5973f30e9acf4e35606c6c39fcd539984e3556c5/src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dts#L82
dphy2缺少分配的时钟
请参阅: https://github.com/beagleboard/BeagleBoard-DeviceTrees/blob/5973f30e9acf4e35606c6c39fcd539984e3556c5/src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dts#L141
您也可以将上述内容添加到主文件中,与 j721s2类似,如 Gibbs 指出的那样
但 j721e 的值不同、因此请参阅上面的链接以获取值
请修复上述更改并尝试
此致
拉胡尔
感谢您的回复。
现在 DSI_TXCLK 具有输出、但 DSI_TX 没有 数据输出。
请参见下图。
时钟通道:
数据通道:
Q1:DSI 时钟输出波形正确吗?
Q2:如何使 DSI 输出正确的数据?
谢谢。
您好!
是否启用 DSS 以通过 DSI 发送某些数据? 否则 、数据通道将 处于低功耗状态。
此致、
Brijesh
您好 Jason、
您能否运行以下命令在检查数据信号之前在显示屏上呈现某些图形
kmstest
此致
拉胡尔
此外、您能否检查并共享以下命令的输出
modetest -M tids
你好、Jason
遵循 Brijesh 的评论。
如果您还加载 L3-j721e-vision-apps.dtbo
请帮助我们首先选中 DSS"启用或不启用"、
您可以查看此 E2E 主题。
TDA4VM:在应用 K3-j721e-vision-apps.dtbo -处理器论坛-处理器- TI E2E 支持论坛时、TI 驱动程序不起作用
谢谢
Gibbs
感谢您的回复
DSS 启用。
执行 kmstest 命令后、没有数据和时钟输出。
下面是最小日志。
root@ccids:~# kmstest Connector 0/@39: DSI-1[ 3491.068626] gpiod_set_value_cansleep: invalid GPIO (errorpointer) Crtc 0/@37: 1280x720 75.000 1280/12/4/112/- 720/8/4/12/- 72 [ 3491.081334] gpiod_set_value_cansleep: invalid GPIO (errorpointer) (71.60) 0xa 0x48 Plane 0/@31: 0,0-1280x720 Fb 59 1280x72[ 3491.088486] cdns_dsi_j721e_enable 0-XR24 press enter to exit root@ccids:~# modetest -M tidss Encoders: id crtc type possible crtcs possible clones 38 37 none 0x00000001 0x00000001 Connectors: id encoder status name size (mm) modes encoders 39 38 connected DSI-1 199x112 1 38 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot) #0 1280x720 71.60 1280 1292 1296 1408 720 728 732 744 75000 flags: nhsync, nvsync; type: preferred, driver props: 1 EDID: flags: immutable blob blobs: value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs: value: 20 CRTC_ID: flags: object value: 37 CRTCs: id fb pos size 37 58 (0,0) (1280x720) #0 1280x720 71.60 1280 1292 1296 1408 720 728 732 744 75000 flags: nhsync, nvsync; type: preferred, driver props: 22 ACTIVE: flags: range values: 0 1 value: 1 23 MODE_ID: flags: blob blobs: value: f824010000050c05100580050000d002 d802dc02e8020000480000000a000000 48000000313238307837323000000000 00000000000000000000000000000000 00000000 19 OUT_FENCE_PTR: flags: range values: 0 18446744073709551615 value: 0 24 VRR_ENABLED: flags: range values: 0 1 value: 0 27 CTM: flags: blob blobs: value: 28 GAMMA_LUT: flags: blob blobs: value: 29 GAMMA_LUT_SIZE: flags: immutable range values: 0 4294967295 value: 256 Planes: id crtc fb CRTC x,y x,y gamma size possible crtcs 31 37 58 0,0 0,0 0 0x00000001 formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 AR15 AB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 17 FB_ID: flags: object value: 58 18 IN_FENCE_FD: flags: signed range values: -1 2147483647 value: -1 20 CRTC_ID: flags: object value: 37 13 CRTC_X: flags: signed range values: -2147483648 2147483647 value: 0 14 CRTC_Y: flags: signed range values: -2147483648 2147483647 value: 0 15 CRTC_W: flags: range values: 0 2147483647 value: 1280 16 CRTC_H: flags: range values: 0 2147483647 value: 720 9 SRC_X: flags: range values: 0 4294967295 value: 0 10 SRC_Y: flags: range values: 0 4294967295 value: 0 11 SRC_W: flags: range values: 0 4294967295 value: 83886080 12 SRC_H: flags: range values: 0 4294967295 value: 47185920 32 zpos: flags: range values: 0 3 value: 0 33 COLOR_ENCODING: flags: enum enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 value: 0 34 COLOR_RANGE: flags: enum enums: YCbCr limited range=0 YCbCr full range=1 value: 0 35 alpha: flags: range values: 0 65535 value: 65535 36 pixel blend mode: flags: enum enums: Pre-multiplied=0 Coverage=1 value: 0 40 0 0 0,0 0,0 0 0x00000001 formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 AR15 AB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 17 FB_ID: flags: object value: 0 18 IN_FENCE_FD: flags: signed range values: -1 2147483647 value: -1 20 CRTC_ID: flags: object value: 0 13 CRTC_X: flags: signed range values: -2147483648 2147483647 value: 0 14 CRTC_Y: flags: signed range values: -2147483648 2147483647 value: 0 15 CRTC_W: flags: range values: 0 2147483647 value: 0 16 CRTC_H: flags: range values: 0 2147483647 value: 0 9 SRC_X: flags: range values: 0 4294967295 value: 0 10 SRC_Y: flags: range values: 0 4294967295 value: 0 11 SRC_W: flags: range values: 0 4294967295 value: 0 12 SRC_H: flags: range values: 0 4294967295 value: 0 41 zpos: flags: range values: 0 3 value: 0 42 COLOR_ENCODING: flags: enum enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 value: 0 43 COLOR_RANGE: flags: enum enums: YCbCr limited range=0 YCbCr full range=1 value: 0 44 alpha: flags: range values: 0 65535 value: 65535 45 pixel blend mode: flags: enum enums: Pre-multiplied=0 Coverage=1 value: 0 46 0 0 0,0 0,0 0 0x00000001 formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 AR15 AB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 17 FB_ID: flags: object value: 0 18 IN_FENCE_FD: flags: signed range values: -1 2147483647 value: -1 20 CRTC_ID: flags: object value: 0 13 CRTC_X: flags: signed range values: -2147483648 2147483647 value: 0 14 CRTC_Y: flags: signed range values: -2147483648 2147483647 value: 0 15 CRTC_W: flags: range values: 0 2147483647 value: 0 16 CRTC_H: flags: range values: 0 2147483647 value: 0 9 SRC_X: flags: range values: 0 4294967295 value: 0 10 SRC_Y: flags: range values: 0 4294967295 value: 0 11 SRC_W: flags: range values: 0 4294967295 value: 0 12 SRC_H: flags: range values: 0 4294967295 value: 0 47 zpos: flags: range values: 0 3 value: 0 48 COLOR_ENCODING: flags: enum enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 value: 0 49 COLOR_RANGE: flags: enum enums: YCbCr limited range=0 YCbCr full range=1 value: 0 50 alpha: flags: range values: 0 65535 value: 65535 51 pixel blend mode: flags: enum enums: Pre-multiplied=0 Coverage=1 value: 0 52 0 0 0,0 0,0 0 0x00000001 formats: AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 AR15 AB15 XR24 XB24 RX24 BX24 XR30 XB30 YUYV UYVY NV12 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 17 FB_ID: flags: object value: 0 18 IN_FENCE_FD: flags: signed range values: -1 2147483647 value: -1 20 CRTC_ID: flags: object value: 0 13 CRTC_X: flags: signed range values: -2147483648 2147483647 value: 0 14 CRTC_Y: flags: signed range values: -2147483648 2147483647 value: 0 15 CRTC_W: flags: range values: 0 2147483647 value: 0 16 CRTC_H: flags: range values: 0 2147483647 value: 0 9 SRC_X: flags: range values: 0 4294967295 value: 0 10 SRC_Y: flags: range values: 0 4294967295 value: 0 11 SRC_W: flags: range values: 0 4294967295 value: 0 12 SRC_H: flags: range values: 0 4294967295 value: 0 53 zpos: flags: range values: 0 3 value: 0 54 COLOR_ENCODING: flags: enum enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 value: 0 55 COLOR_RANGE: flags: enum enums: YCbCr limited range=0 YCbCr full range=1 value: 0 56 alpha: flags: range values: 0 65535 value: 65535 57 pixel blend mode: flags: enum enums: Pre-multiplied=0 Coverage=1 value: 0 Frame buffers: id size pitch
你好、Jason
在学习了床单之后,我有一个想法...
如何启用 TVG 发生器来生成 DSI 颜色模式?
我认为这种方法可以帮助我们确保 DSI 和 D-PHY 首先运行良好
您可以使用 Linux 命令"devmem2" R/W 寄存器
参考源:
12.6.5.7 DSI 编程指南
Gibbs
您好、 Gibbs
我尝试设置 TVG 相关寄存器、但数据通道仍然没有输出。
下面是我的设置顺序。 如果有任何问题、请告诉我。
root@tda4vm-sk:~# devmem2 0x04800004 /dev/mem opened. Memory mapped at address 0xffffabbe5000. Read at address 0x04800004 (0xffffabbe5004): 0x00020027 root@tda4vm-sk:~# [ 131.617048] Initializing XFRM netlink socket [ 132.374647] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 132.389172] Bridge firewalling registered [ 133.205903] process 'docker/tmp/qemu-check342296845/check' started with executable stack devmem2 0x0480000c /dev/mem opened. Memory mapped at address 0xffffa7f35000. Read at address 0x0480000C (0xffffa7f3500c): 0x000040F9 root@tda4vm-sk:~# devmem2 0x0480000c w 0x000020f9 /dev/mem opened. Memory mapped at address 0xffff8bd5a000. Read at address 0x0480000C (0xffff8bd5a00c): 0x000040F9 Write at address 0x0480000C (0xffff8bd5a00c): 0x000020F9, readback 0x000020F9 root@tda4vm-sk:~# devmem2 0x0480000c /dev/mem opened. Memory mapped at address 0xffffb3904000. Read at address 0x0480000C (0xffffb390400c): 0x000020F9 root@tda4vm-sk:~# devmem2 0x04800004 /dev/mem opened. Memory mapped at address 0xffffa7851000. Read at address 0x04800004 (0xffffa7851004): 0x00020027 root@tda4vm-sk:~# devmem2 0x04800004 w 0x00020067 /dev/mem opened. Memory mapped at address 0xffffa8086000. Read at address 0x04800004 (0xffffa8086004): 0x00020027 Write at address 0x04800004 (0xffffa8086004): 0x00020067, readback 0x00020067 root@tda4vm-sk:~# devmem2 0x04800004 /dev/mem opened. Memory mapped at address 0xffff92d40000. Read at address 0x04800004 (0xffff92d40004): 0x00020067 root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff914c0000. Read at address 0x048000FC (0xffff914c00fc): 0x00000000 root@tda4vm-sk:~# devmem2 0x048000fc w 0x00000011 /dev/mem opened. Memory mapped at address 0xffff8a459000. Read at address 0x048000FC (0xffff8a4590fc): 0x00000000 Write at address 0x048000FC (0xffff8a4590fc): 0x00000011, readback 0x00000011 root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff957c7000. Read at address 0x048000FC (0xffff957c70fc): 0x00000011 root@tda4vm-sk:~# devmem2 0x04800104 /dev/mem opened. Memory mapped at address 0xffff89187000. Read at address 0x04800104 (0xffff89187104): 0x00000000 root@tda4vm-sk:~# devmem2 0x04800104 w 0x00fffff /dev/mem opened. Memory mapped at address 0xffff94905000. Read at address 0x04800104 (0xffff94905104): 0x00000000 Write at address 0x04800104 (0xffff94905104): 0x000FFFFF, readback 0x000FFFFF root@tda4vm-sk:~# devmem2 0x04800104 /dev/mem opened. Memory mapped at address 0xffffb5dd6000. Read at address 0x04800104 (0xffffb5dd6104): 0x000FFFFF root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffffaf565000. Read at address 0x048000FC (0xffffaf5650fc): 0x00000011 root@tda4vm-sk:~# devmem2 0x048000fc w 0x000000f1 /dev/mem opened. Memory mapped at address 0xffff867e9000. Read at address 0x048000FC (0xffff867e90fc): 0x00000011 Write at address 0x048000FC (0xffff867e90fc): 0x000000F1, readback 0x000000F1 root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff8aab7000. Read at address 0x048000FC (0xffff8aab70fc): 0x000000F1 root@tda4vm-sk:~# devmem2 0x04800100 /dev/mem opened. Memory mapped at address 0xffff8ce13000. Read at address 0x04800100 (0xffff8ce13100): 0x00000000 root@tda4vm-sk:~# devmem2 0x04800100 w 0x00000f00 /dev/mem opened. Memory mapped at address 0xffff9d38f000. Read at address 0x04800100 (0xffff9d38f100): 0x00000000 Write at address 0x04800100 (0xffff9d38f100): 0x00000F00, readback 0x00000F00 root@tda4vm-sk:~# devmem2 0x04800100 w 0x02d00f00 /dev/mem opened. Memory mapped at address 0xffff823db000. Read at address 0x04800100 (0xffff823db100): 0x00000F00 Write at address 0x04800100 (0xffff823db100): 0x02D00F00, readback 0x02D00F00 root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff90fff000. Read at address 0x048000FC (0xffff90fff0fc): 0x000000F1 root@tda4vm-sk:~# devmem2 0x048000fc w 0x000000f0 /dev/mem opened. Memory mapped at address 0xffffa71b9000. Read at address 0x048000FC (0xffffa71b90fc): 0x000000F1 Write at address 0x048000FC (0xffffa71b90fc): 0x000000F0, readback 0x000000F0 root@tda4vm-sk:~# devmem2 0x048000b0 /dev/mem opened. Memory mapped at address 0xffffbc9ce000. Read at address 0x048000B0 (0xffffbc9ce0b0): 0x80A0FE00 root@tda4vm-sk:~# devmem2 0x04800104 /dev/mem opened. Memory mapped at address 0xffffa4908000. Read at address 0x04800104 (0xffffa4908104): 0x000FFFFF root@tda4vm-sk:~# devmem2 0x04800108 /dev/mem opened. Memory mapped at address 0xffffa0468000. Read at address 0x04800108 (0xffffa0468108): 0x00000000 root@tda4vm-sk:~# devmem2 0x04800108 w 0x00000fff /dev/mem opened. Memory mapped at address 0xffffa9a42000. Read at address 0x04800108 (0xffffa9a42108): 0x00000000 Write at address 0x04800108 (0xffffa9a42108): 0x00000FFF, readback 0x00000FFF root@tda4vm-sk:~# devmem2 0x0480010c /dev/mem opened. Memory mapped at address 0xffffb4c23000. Read at address 0x0480010C (0xffffb4c2310c): 0x00000000 root@tda4vm-sk:~# devmem2 0x0480010c w 0x00ffffff /dev/mem opened. Memory mapped at address 0xffffb212b000. Read at address 0x0480010C (0xffffb212b10c): 0x00000000 Write at address 0x0480010C (0xffffb212b10c): 0x00FFFFFF, readback 0x00FFFFFF root@tda4vm-sk:~# devmem2 0x0480010c /dev/mem opened. Memory mapped at address 0xffff9eb51000. Read at address 0x0480010C (0xffff9eb5110c): 0x00FFFFFF root@tda4vm-sk:~# devmem2 0x04800110 /dev/mem opened. Memory mapped at address 0xffffb1950000. Read at address 0x04800110 (0xffffb1950110): 0x00000000 root@tda4vm-sk:~# devmem2 0x04800110 w 0x00000fff /dev/mem opened. Memory mapped at address 0xffff90cb0000. Read at address 0x04800110 (0xffff90cb0110): 0x00000000 Write at address 0x04800110 (0xffff90cb0110): 0x00000FFF, readback 0x00000FFF root@tda4vm-sk:~# devmem2 0x04800110 /dev/mem opened. Memory mapped at address 0xffffaf8a5000. Read at address 0x04800110 (0xffffaf8a5110): 0x00000FFF
谢谢。
你好、Jason
我发现有问题。
1。 DSI_MCTL_MAIN_EN 寄存器、设置 IF1_EN = 1? 我认为它应该设置为0、
DSI_MCTL_MAIN_DATA_CTL 寄存器、TVG_SEL 正确! 但您选择了错误的视频接口、应设置 VID_IF_SELECT = 01
3. DSI_TVG_CTL 寄存器、如何设置单色模式? TVG_MODE = 00。 因为您只需要数据通道的输出
我的意见是、 TVG_Color1_BIS、TVG_COLOR2、VG_COLOR2_BIS 寄存器设置为 TVG_MODE 设置后
如下所示备注您的日志。
/* DSI_MCTL_MAIN_DATA_CTL Register */ root@tda4vm-sk:~# devmem2 0x04800004 /dev/mem opened. Memory mapped at address 0xffffabbe5000. Read at address 0x04800004 (0xffffabbe5004): 0x00020027 /* DSI_MCTL_MAIN_EN REGISTER, SET IF1_EN = 1?? I think It should be set 0, please check it again */ root@tda4vm-sk:~# [ 131.617048] Initializing XFRM netlink socket [ 132.374647] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 132.389172] Bridge firewalling registered [ 133.205903] process 'docker/tmp/qemu-check342296845/check' started with executable stack devmem2 0x0480000c /dev/mem opened. Memory mapped at address 0xffffa7f35000. Read at address 0x0480000C (0xffffa7f3500c): 0x000040F9 root@tda4vm-sk:~# devmem2 0x0480000c w 0x000020f9 /dev/mem opened. Memory mapped at address 0xffff8bd5a000. Read at address 0x0480000C (0xffff8bd5a00c): 0x000040F9 Write at address 0x0480000C (0xffff8bd5a00c): 0x000020F9, readback 0x000020F9 root@tda4vm-sk:~# devmem2 0x0480000c /dev/mem opened. Memory mapped at address 0xffffb3904000. Read at address 0x0480000C (0xffffb390400c): 0x000020F9 /* DSI_MCTL_MAIN_DATA_CTL Register, TVG_SEL IS correct! But you select wrong video interface, you should set VID_IF_SELECT = 01 */ root@tda4vm-sk:~# devmem2 0x04800004 /dev/mem opened. Memory mapped at address 0xffffa7851000. Read at address 0x04800004 (0xffffa7851004): 0x00020027 root@tda4vm-sk:~# devmem2 0x04800004 w 0x00020067 /dev/mem opened. Memory mapped at address 0xffffa8086000. Read at address 0x04800004 (0xffffa8086004): 0x00020027 Write at address 0x04800004 (0xffffa8086004): 0x00020067, readback 0x00020067 root@tda4vm-sk:~# devmem2 0x04800004 /dev/mem opened. Memory mapped at address 0xffff92d40000. Read at address 0x04800004 (0xffff92d40004): 0x00020067 /* DSI_TVG_CTL Register, how about set single color mode? TVG_MODE = 00 */ root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff914c0000. Read at address 0x048000FC (0xffff914c00fc): 0x00000000 root@tda4vm-sk:~# devmem2 0x048000fc w 0x00000011 /dev/mem opened. Memory mapped at address 0xffff8a459000. Read at address 0x048000FC (0xffff8a4590fc): 0x00000000 Write at address 0x048000FC (0xffff8a4590fc): 0x00000011, readback 0x00000011 root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff957c7000. Read at address 0x048000FC (0xffff957c70fc): 0x00000011 /* DSI_TVG_COLOR1 Register */ root@tda4vm-sk:~# devmem2 0x04800104 /dev/mem opened. Memory mapped at address 0xffff89187000. Read at address 0x04800104 (0xffff89187104): 0x00000000 root@tda4vm-sk:~# devmem2 0x04800104 w 0x00fffff /dev/mem opened. Memory mapped at address 0xffff94905000. Read at address 0x04800104 (0xffff94905104): 0x00000000 Write at address 0x04800104 (0xffff94905104): 0x000FFFFF, readback 0x000FFFFF root@tda4vm-sk:~# devmem2 0x04800104 /dev/mem opened. Memory mapped at address 0xffffb5dd6000. Read at address 0x04800104 (0xffffb5dd6104): 0x000FFFFF /* DSI_TVG_CTL Register, set "TVG_STRIPE_SIZE" again */ root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffffaf565000. Read at address 0x048000FC (0xffffaf5650fc): 0x00000011 root@tda4vm-sk:~# devmem2 0x048000fc w 0x000000f1 /dev/mem opened. Memory mapped at address 0xffff867e9000. Read at address 0x048000FC (0xffff867e90fc): 0x00000011 Write at address 0x048000FC (0xffff867e90fc): 0x000000F1, readback 0x000000F1 root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff8aab7000. Read at address 0x048000FC (0xffff8aab70fc): 0x000000F1 /* DSI_TVG_IMG_SIZE Register */ root@tda4vm-sk:~# devmem2 0x04800100 /dev/mem opened. Memory mapped at address 0xffff8ce13000. Read at address 0x04800100 (0xffff8ce13100): 0x00000000 root@tda4vm-sk:~# devmem2 0x04800100 w 0x00000f00 /dev/mem opened. Memory mapped at address 0xffff9d38f000. Read at address 0x04800100 (0xffff9d38f100): 0x00000000 Write at address 0x04800100 (0xffff9d38f100): 0x00000F00, readback 0x00000F00 root@tda4vm-sk:~# devmem2 0x04800100 w 0x02d00f00 /dev/mem opened. Memory mapped at address 0xffff823db000. Read at address 0x04800100 (0xffff823db100): 0x00000F00 Write at address 0x04800100 (0xffff823db100): 0x02D00F00, readback 0x02D00F00 /* DSI_TVG_CTL Register, you stop TVG_RUN? Why */ root@tda4vm-sk:~# devmem2 0x048000fc /dev/mem opened. Memory mapped at address 0xffff90fff000. Read at address 0x048000FC (0xffff90fff0fc): 0x000000F1 root@tda4vm-sk:~# devmem2 0x048000fc w 0x000000f0 /dev/mem opened. Memory mapped at address 0xffffa71b9000. Read at address 0x048000FC (0xffffa71b90fc): 0x000000F1 Write at address 0x048000FC (0xffffa71b90fc): 0x000000F0, readback 0x000000F0 /* read DSI_VID_MAIN_CTL Register */ root@tda4vm-sk:~# devmem2 0x048000b0 /dev/mem opened. Memory mapped at address 0xffffbc9ce000. Read at address 0x048000B0 (0xffffbc9ce0b0): 0x80A0FE00 /* read DSI_TVG_COLOR1 Register */ root@tda4vm-sk:~# devmem2 0x04800104 /dev/mem opened. Memory mapped at address 0xffffa4908000. Read at address 0x04800104 (0xffffa4908104): 0x000FFFFF /* read DSI_TVG_COLOR1_BIS Register */ root@tda4vm-sk:~# devmem2 0x04800108 /dev/mem opened. Memory mapped at address 0xffffa0468000. Read at address 0x04800108 (0xffffa0468108): 0x00000000 /* write DSI_TVG_COLOR1_BIS Register */ root@tda4vm-sk:~# devmem2 0x04800108 w 0x00000fff /dev/mem opened. Memory mapped at address 0xffffa9a42000. Read at address 0x04800108 (0xffffa9a42108): 0x00000000 Write at address 0x04800108 (0xffffa9a42108): 0x00000FFF, readback 0x00000FFF /* read DSI_TVG_COLOR2 Register */ root@tda4vm-sk:~# devmem2 0x0480010c /dev/mem opened. Memory mapped at address 0xffffb4c23000. Read at address 0x0480010C (0xffffb4c2310c): 0x00000000 /* write DSI_TVG_COLOR2 Register */ root@tda4vm-sk:~# devmem2 0x0480010c w 0x00ffffff /dev/mem opened. Memory mapped at address 0xffffb212b000. Read at address 0x0480010C (0xffffb212b10c): 0x00000000 Write at address 0x0480010C (0xffffb212b10c): 0x00FFFFFF, readback 0x00FFFFFF /* read DSI_TVG_COLOR2 Register */ root@tda4vm-sk:~# devmem2 0x0480010c /dev/mem opened. Memory mapped at address 0xffff9eb51000. Read at address 0x0480010C (0xffff9eb5110c): 0x00FFFFFF /* read DSI_TVG_COLOR2_BIS Register */ root@tda4vm-sk:~# devmem2 0x04800110 /dev/mem opened. Memory mapped at address 0xffffb1950000. Read at address 0x04800110 (0xffffb1950110): 0x00000000 /* write DSI_TVG_COLOR2_BIS Register */ root@tda4vm-sk:~# devmem2 0x04800110 w 0x00000fff /dev/mem opened. Memory mapped at address 0xffff90cb0000. Read at address 0x04800110 (0xffff90cb0110): 0x00000000 Write at address 0x04800110 (0xffff90cb0110): 0x00000FFF, readback 0x00000FFF /* read DSI_TVG_COLOR2_BIS Register */ root@tda4vm-sk:~# devmem2 0x04800110 /dev/mem opened. Memory mapped at address 0xffffaf8a5000. Read at address 0x04800110 (0xffffaf8a5110): 0x00000FFF