Other Parts Discussed in Thread: DS90UB960-Q1, DS90UB953-Q1,
SDK版本是08_06_00_45
此版本内核下没有DS90UB954驱动,可否提供一下DS90UB954驱动代码
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.
SDK版本是08_06_00_45
此版本内核下没有DS90UB954驱动,可否提供一下DS90UB954驱动代码
报错我已经解决了,出现下面报错
960驱动代码需要改什么东西吗
设备树配置如下:
&exp2 {
p19-hog {
/* P19 - CSI_SEL2 */
gpio-hog;
gpios = <19 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "CSI_SEL2";
};
};
&main_i2c2 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
i2c-switch@71 {
compatible = "nxp,pca9543";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x71>;
cam0_i2c: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
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>;
};
};
};
};
};
&csi0_port0 {
status = "okay";
csi2_phy0: endpoint {
remote-endpoint = <&ds90ub960_0_csi_out>;
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
};
};
&ds90ub960_0_ports {
#address-cells = <1>;
#size-cells = <0>;
/* FPDLink RX 0 */
port@0 {
reg = <0>;
ds90ub960_fpd3_in: endpoint {
remote-endpoint = <&ub953_out>;
mode = <3>;
bc-freq = <50000000>;
serializer: remote-chip {
compatible = "ti,ds90ub953-q1";
clocks = <&ds90ub960_0>;
gpio-controller;
#gpio-cells = <2>;
#clock-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ub953_in: endpoint {
remote-endpoint = <&sensor_out>;
data-lanes = <0 1 2 3>;
};
};
port@1 {
reg = <1>;
ub953_out: endpoint {
remote-endpoint = <&ds90ub960_fpd3_in>;
};
};
};
};
};
};
};
&ds90ub960_0_atr {
#address-cells = <1>;
#size-cells = <0>;
i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
sensor@1a {
compatible = "sony,imx390";
reg = <0x1a>;
clocks = <&serializer>;
clock-names = "inck";
assigned-clocks = <&serializer>;
assigned-clock-rates = <27000000>;
xclr-gpios = <&serializer 1 GPIO_ACTIVE_LOW>;
error0-gpios = <&serializer 2 GPIO_ACTIVE_HIGH>;
error1-gpios = <&serializer 3 GPIO_ACTIVE_HIGH>;
comready-gpios = <&serializer 0 GPIO_ACTIVE_HIGH>;
port {
sensor_out: endpoint {
remote-endpoint = <&ub953_in>;
};
};
};
};
};
现在i2c通了,把imx390.ko、ds90ub953.ko、ds90ub960.ko都加载上了
但是media -p拓扑结构上只有解串器
还需要配置什么东西吗
拓扑如下:
root@am62axx-evm:/opt/edgeai-gst-apps# media-ctl -p
Media controller API version 5.10.168
Media device information
------------------------
driver j721e-csi2rx
model TI-CSI2RX
serial
bus info platform:30102000.ticsi2rx
hw revision 0x1
driver version 5.10.168
Device topology
- entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
routes:
0/0 -> 1/0 [ACTIVE]
pad0: Sink
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
<- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
pad1: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
pad2: Source
-> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
pad3: Source
-> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
pad4: Source
-> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
pad5: Source
-> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
pad6: Source
-> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
- entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 0 route)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
<- "ds90ub960 4-0030":4 [ENABLED,IMMUTABLE]
pad1: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
pad2: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
pad3: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
pad4: Source
[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
- entity 15: ds90ub960 4-0030 (6 pads, 1 link, 1 route)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
routes:
0/0 -> 4/0 [ACTIVE]
pad0: Sink
[stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
pad1: Sink
pad2: Sink
pad3: Sink
pad4: Source
[stream:0 fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
-> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
pad5: Source
- entity 26: 30102000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
- entity 32: 30102000.ticsi2rx context 1 (1 pad, 1 link, 0 route)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Sink
<- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
- entity 38: 30102000.ticsi2rx context 2 (1 pad, 1 link, 0 route)
type Node subtype V4L flags 0
device node name /dev/video4
pad0: Sink
<- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
- entity 44: 30102000.ticsi2rx context 3 (1 pad, 1 link, 0 route)
type Node subtype V4L flags 0
device node name /dev/video5
pad0: Sink
<- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
- entity 50: 30102000.ticsi2rx context 4 (1 pad, 1 link, 0 route)
type Node subtype V4L flags 0
device node name /dev/video6
pad0: Sink
<- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]
- entity 56: 30102000.ticsi2rx context 5 (1 pad, 1 link, 0 route)
type Node subtype V4L flags 0
device node name /dev/video7
pad0: Sink
<- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]
root@am62axx-evm:/opt/edgeai-gst-apps#
已跟进,请关注下面e2e帖子的回复,有时差,可能要明天回复。
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1230747/sk-am62a-lp-ds90ub954-linux-driver
工程师已有回复,请查看。
The UB954-Q1 EVM has two Samtec MIPI connectors. Which one are they using? I assume they have an E1 version of the SK-AM62A-LP which has a Samtec MIPI connector. Is that right?
Would you mind asking them to provide a picture of their complete HW setup (camera, UB954-Q1 EVM, SK-AM62A, etc)?
Also just to confirm, their IMX390 camera module has integrated ISP, and the output is yuv data, so they won't need to use the ISP on AM62A. Is this correct?
我们一般是24小时之内给客户回复,如果复杂的问题,可能需要更长的时间。我看e2e的工程师已经在尽快回复您了。
Ok. Thanks for the clarification. If you use J26, you'll need to populate the zero ohm resistors on the bottom of the board, as documented in the User's Guide, section 4.4 MIPI CSI-2 Output Signals.