Part Number:SK-TDA4VMOther Parts Discussed in Thread:DS90UB954-Q1EVM, , DS90UB954-Q1
sdk: ti-processor-sdk-linux-j7-evm-08_06_01_02
连接SK-TDA4VM与ds90ub954-Q1EVM:
使用ds90ub954-Q1EVM的J26连接到SK-TDA4VM的J24,ds90ub954-Q1EVM的J26已经填充零欧姆电阻,连接情况如下图:

并在sk-tda4vm的/run/media/mmcblk0p1/uEnv.txt文件中添加如下dtbo:
name_overlays=k3-j721e-fpdlink-sk-fusion.dtbo
重启发现问题:

Gary Lu:
确认一下通信协议的配置是否正确,波特率、数据位和停止位等参数
,
zhiwu jiang:
你好,可以说得清楚一点吗?在哪里配置呢?
,
Defu Liu:
你好,我也遇到了这个问题,能详细说一下解决方法吗谢谢
,
Gary Lu:
您是如何上电ds90ub954-Q1EVM的?
您能试试这个顺序吗?(先上电ds90ub954-Q1EVM,再上电SK板)
,
zhiwu jiang:
您好,我们是按照您所说这个顺序上电的,还是不行。
我们使用的是SK板的CSI2-EXP接口连接ds90ub954-Q1EVM,添加的是k3-j721e-fpdlink-sk-fusion.dtbo,请问设备树中有需要修改的地方吗?
下面是k3-j721e-fpdlink-sk-fusion.dts
// SPDX-License-Identifier: GPL-2.0 /** Copyright (C) 2021 Texas Instruments Incorporated - http://www.ti.com/*//dts-v1/; /plugin/;/ {fragment@101 {target-path = "/";__overlay__ {clk_fusion_25M_fixed: fixed-clock-25M {compatible = "fixed-clock";#clock-cells = <0>;clock-frequency = <25000000>;};};}; };&main_i2c3 {#address-cells = <1>;#size-cells = <0>;i2c-switch@70 {compatible = "nxp,pca9543";#address-cells = <1>;#size-cells = <0>;reg = <0x70>;cam0_i2c: i2c@0 {#address-cells = <1>;#size-cells = <0>;reg = <0>;ds90ub960_0: deser@3d {compatible = "ti,ds90ub960-q1";reg-names = "main", "ser0", "ser1", "ser2", "ser3";reg= <0x3d>, <0x44>, <0x45>, <0x46>, <0x47>;clocks = <&clk_fusion_25M_fixed>;i2c-alias-pool = /bits/ 16 <0x4a 0x4b 0x4c 0x4d 0x4e 0x4f>;data-rate = <1600000000>;#clock-cells = <0>;ds90ub960_0_ports: ports {#address-cells = <1>;#size-cells = <0>;/* CSI-2 */port@4 {reg = <4>;ds90ub960_0_csi_out: endpoint {clock-lanes = <0>;data-lanes = <1 2 3 4>;remote-endpoint = <&csi2_phy0>;};};};ds90ub960_0_atr: i2c-atr {#address-cells = <1>;#size-cells = <0>;};};ds90ub960_1: deser@36 {compatible = "ti,ds90ub960-q1";reg-names = "main", "ser0", "ser1", "ser2", "ser3";reg= <0x36>, <0x54>, <0x55>, <0x56>, <0x57>;clocks = <&clk_fusion_25M_fixed>;i2c-alias-pool = /bits/ 16 <0x5a 0x5b 0x5c 0x5d 0x5e 0x5f>;data-rate = <1600000000>;#clock-cells = <0>;ds90ub960_1_ports: ports {#address-cells = <1>;#size-cells = <0>;/* CSI-2 */port@4 {reg = <4>;ds90ub960_1_csi_out: endpoint {clock-lanes = <0>;data-lanes = <1 2 3 4>;remote-endpoint = <&csi2_phy1>;};};};ds90ub960_1_atr: i2c-atr {#address-cells = <1>;#size-cells = <0>;};};};}; };&csi0_port0 {status = "okay";csi2_phy0: endpoint {remote-endpoint = <&ds90ub960_0_csi_out>;clock-lanes = <0>;data-lanes = <1 2 3 4>;}; };&csi1_port0 {status = "okay";csi2_phy1: endpoint {remote-endpoint = <&ds90ub960_1_csi_out>;clock-lanes = <0>;data-lanes = <1 2 3 4>;}; };
,
Gary Lu:
已跟进资深产品线工程师,请耐心等待
,
Gary Lu:
此处的设备树用于对接Fusion1单板(UB960反序列化器)和SK设备。
请问您用的是哪一块CSI2-EXP板?是融合板吗?从您分享的图片来看,它看起来不像融合板。请确认一下。
您必须根据连接SK的板修改设备树。
,
zhiwu jiang:
你好,使用的是DS90UB954-Q1EVM板。看到有帖子下面工程师回复954和960的driver是一样的不用修改,那954和960的i2c地址是一样的吗?是否需要修改设备树中960处相应的寄存器地址呢?
,
Gary Lu:
已跟进
,
Gary Lu:
在SDK 9.1的drivers/media/i2c/ds90ub960.c中增加了对DS90UB954的支持
SDK 8.6默认不支持。
你可以在SDK 8.6上尝试下面的补丁并更改compatible = "ti,ds90ub954-q1";在设备树中吗?
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/0001_2D00_media_2D00_i2c_2D00_ds90ub960_2D00_Add_2D00_support_2D00_for_2D00_DS90UB954_2D00_Q1.patch
,
zhiwu jiang:
您好,这个补丁不完全适配SDK8.6,打补丁失败了。
SDK8.6中ds90ub960.c的代码与下面链接的一致:https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/plain/drivers/media/i2c/ds90ub960.c?h=ti-rt-linux-5.10.y
请尽快回复,谢谢。
,
Gary Lu:
已跟进,请耐心等待
,
Gary Lu:
该补丁可能无法直接应用,因为 Linux 内核版本已从 SDK 8.6 更新到 SDK 9.0。
由于对 ub954 的支持是在 SDK 9.1 中实现的,因此您必须手动向后移植此补丁并应用更改。
这里唯一需要的更改是这个补丁并更改兼容=“ti,ds90ub954-q1”;在设备树中。您可以尝试一下吗?
另外,如果您可以迁移到 SDK 9.1(即最新的 SDK),那么这不是问题。
TI中文支持网

