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.

[参考译文] SN65DSI84:无法在 i2c 上检测 SN65DSI84

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1289961/sn65dsi84-unable-to-detect-sn65dsi84-on-i2c

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

团队、您好!

我们在基于 Renesas RZV2L 处理器的定制电路板上使用 TI SN65DSI84桥接芯片。 我们在检测 I2C 上的桥接 IC 时面临问题。 SN65DSI8的驱动程序探测失败、出现以下提到的错误。

我们想知道、我们是否需要使用数据表"7.4.3初始化序列"部分所述的初始化序列 来检测 I2C 上的桥接芯片。   或者在检测到桥接芯片 IC 后是否正常运行。  

您能告诉我们提供的 dtsi 条目是否正确吗?  请查看附件文件、了解桥接芯片的 dtsi 条目以及面板条目和 DSI 节点。

另请查找以下提到的错误日志。

root@sm2s-rzv2l:~# dmesg | grep -i DSI
[2.012826]   sn65dsi83:2-002D 探测器失败,错误-22

下面是 i2cdetect 命令的输出,在地址0x2d 上没有检测到设备。  

root@sm2s-rzv2l:~#  
root@sm2s-rzv2l:~# i2cdetect -y 2
    0 1 2 3 4 5 6 7 8 9 a b c d e f
00:-------          ------- ----  
10:------- ------- ------- --  
20:--- UUU------ ------- ----  
第30章:你是谁? ------- ----  
40:-------------- ------- ------- --  
50:------- ------- ------- --  
60:------- ------- ------- --  
70:----- UUU---                          
root@sm2s-rzv2l:~#  

 

您能帮助我们解决问题吗?

谢谢。
尼莱什

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    团队、您好!  

    请找到 我们针对桥接芯片和 LVDS 面板执行的 DTSI 条目

    &i2c2 {
            #address-cells = <1>;
            #size-cells = <0>;
            pinctrl-names = "default";
            pinctrl-0 = <&i2c2_pins>;
            clock-frequency = <400000>;
            status="okay";
    	dsi_lvds_bridge: sn65dsi84@2d {
                        compatible = "ti,sn65dsi84";
                        reg = <0x2d>;
                        ti,data-lanes = <4>;
                        ti,lvds-format = <0>;
                        ti,lvds-bpp = <24>;
                        ti,width-mm = <217>;
                        ti,height-mm = <136>;
                        ti,lvds-channels = <1>;
                        enable-gpios = <&exp1 10 GPIO_ACTIVE_HIGH>;
                        status = "okay";
                        timings_1024x600_60:display-timings {
                                lvds {
                                        clock-frequency = <65000000>;
                                        hactive = <1280>;
                                        vactive = <800>;
                                        hback-porch = <48>;
                                        hfront-porch = <48>;
                                        vback-porch = <10>;
                                        vfront-porch = <10>;
                                        hsync-len = <64>;
                                        vsync-len = <4>;
                                        hsync-active = <0>;
                                        vsync-active = <0>;
                                        de-active = <1>;
                                        pixelclk-active = <0>;
                                };
                        };
                        ports{
                                #address-cells = <1>;
                                #size-cells = <0>;
                                port@0 {
                                        reg = <0>;
                                        bridge_in: endpoint {
                                                remote-endpoint = <&dsi0_out>;
                                        };
                                };
                                port@2 {
                                        reg = <2>;
                                        bridge_out: endpoint {
                                                remote-endpoint = <&lvds_in>;
                                        };
                                };
                        };
        	};
    };
    
    &dsi0 {
            status = "okay";
            #address-cells = <1>;
            #size-cells = <0>;
    
            ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
    
                    port@1 {
                            dsi0_out: endpoint {
                                    remote-endpoint = <&bridge_in>;
                                    data-lanes = <1 2 3 4>;
                            };
                    };
            };
    };
    
    
    lvds_panel: lvds {
                    compatible = "panel-lvds";
                    label = "AMA-101A01-DU2511-G020";
                    width-mm = <217>;
                    height-mm = <136>;
                    data-mapping = "vesa-24";
                    backlight = <&backlight>;
                    status = "okay";
    
                    panel-timing {
                        clock-frequency = <75000000>;
                        hactive = <1280>;
                        vactive = <800>;
                        hback-porch = <48>;
                        hfront-porch = <48>;
                        vback-porch = <10>;
                        vfront-porch = <10>;
                        hsync-len = <64>;
                        vsync-len = <4>;
                        hsync-active = <0>;
                        vsync-active = <0>;
                        de-active = <1>;
                        pixelclk-active = <0>;
                    };
    
                    ports {
                            port@0 {
                                    lvds_in: endpoint {
                                            remote-endpoint = <&bridge_out>;
                                    };
                            };
                    };
            };
    
    
    
    backlight: pwm-backlight {
                    compatible = "pwm-backlight";
                    pwms = <&mtu3 0 500000>;
                    brightness-levels = <100 99 98 97 96 95 94 93 92 91
                            90 89 88 87 86 85 84 83 82 81
                            80 79 78 77 76 75 74 73 72 71
                            70 69 68 67 66 65 64 63 62 61
                            60 59 58 57 56 55 54 53 52 51
                            50 49 48 47 46 45 44 43 42 41
                            40 39 38 37 36 35 34 33 32 31
                            30 29 28 27 26 25 24 23 22 21
                            20 19 18 17 16 15 14 13 12 11
                            10  9  8  7  6  5  4  3  2  1
                             0>;
                    default-brightness-level = <50>;
                    status = "okay";
            };
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Nilesh:

    您需要遵循数据表第7.4.2节中显示的初始化序列、以便 Sn65DSI83的所有函数正常运行。

    在确认初始化正确后重新写入。 尝试使用0x2D 地址来查看这是否有效。 如果该位没有读取、请尝试从0x2C 读取。

    如果可能、您可以确认该器件是否可以发送 ACK?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Vishesh:

    是桥接芯片 IC 的 I2C 检测所需的此初始化序列。 因为我们无法检测到该 IC。

    数据表中提到" 当 EN 为输入高电平时、SN65DSI84本地 I2C 接口被启用 ",这意味着对于正常的 I2C 检测,我们只需要将 EN 引脚设置为高电平,而不需要执行完整的初始化序列。 如果我们的理解有误、请更正我们的问题。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Nilesh:

    正确的做法是、应仅根据 EN 来启用 I2C、但最好在调试时消除所有错误原因。 确保初始化过程正确将确保不存在任何问题。

    您是否也尝试过像我提到的那样从地址0x2C 读取和写入?

    您是否能够发送要写入的实际寄存器值? 我会更轻松地确认您使用它正确设置寄存器。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Vishesh:

    您能否为 SN65DSI84桥接芯片提供参考器件树条目? 此外、您能否告知我们上面提供的附加 DTSI 条目是否正确。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Nilesh:

    我无法在未根据您使用的面板规格进行验证的情况下验证 DTSI 条目。 关于参考树条目、TI 不使用它。 我们使用 Aardvark I2C 适配器、但前提是您无法读取或写入我不支持的器件。 根据器件上的 ADDR 引脚、您能否确认写入正确的地址?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vishesh:

    我们只需启用 EN 引脚即可在 uboot 中检测到桥接芯片。 我们通过探测内核和 uboot 中的 i2c 线来检查信号、我们在 uboot 中获得桥接芯片 IC 的正确地址、但在内核中、该地址不适用。
    您能否提供您在源代码中用于的 DTSI 节点的任何参考。

    谢谢
    尼莱什   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Nilesh:

    下面是一个可能有用的参考 Linux 脚本。 请查看以下主题。

     https://e2e.ti.com/support/interface-group/interface/f/interface-forum/549283/sn65dsi83-sn65dsi84-sn65dsi85---linux-driver/2006135#2006135

    仅供参考、正如本主题中所述、TI 不支持用于这些器件的任何软件、所提供的任何软件均按原样提供。