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.

[参考译文] TDA4VM:TDA4VM 无法在 Linux 上输出 DSI 频率信号

Guru**** 649970 points
Other Parts Discussed in Thread: TDA4VM, SN65DSI83
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1159173/tda4vm-tda4vm-can-not-output-dsi-frequency-signal-on-linux

器件型号:TDA4VM
主题中讨论的其他器件: SN65DSI83

你好

根据以下链接的内容、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 = <&reg_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 = <&reg_backlight>;
                enable-gpios = <&main_gpio0 117 GPIO_ACTIVE_HIGH>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&panel_bridge_out>;
			};
		};
	};*/

};

dmesg 日志作为附件文件

e2e.ti.com/.../6180.dmesg.txt

问题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