Part Number:SK-AM62A-LPOther Parts Discussed in Thread:DS90UB960-Q1, DS90UB953-Q1,
SDK版本是08_06_00_45
此版本内核下没有DS90UB954驱动,可否提供一下DS90UB954驱动代码
Shine:
可以用SDK里的DS90UB960 driver,可以用上 DS90UB954。
,
?? ?:
需要改代码吗,还是直接用
,
Shine:
不需要修改,直接用。UB954寄存器和DS90UB960 driver兼容。
,
?? ?:
加载不上ko
,
?? ?:
是要编进内核吗还是编成ko也可以?
,
BobLu:
你这个报错可以参考一下 blog.csdn.net/…/103233736
,
?? ?:
报错我已经解决了,出现下面报错
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 -pMedia controller API version 5.10.168
Media device information————————driver j721e-csi2rxmodel TI-CSI2RXserialbus info platform:30102000.ticsi2rxhw revision 0x1driver 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/640×480 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/640×480 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/640×480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] <- "ds90ub960 4-0030":4 [ENABLED,IMMUTABLE] pad1: Source [stream:0 fmt:UYVY8_1X16/640×480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE] pad2: Source [stream:0 fmt:UYVY8_1X16/640×480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad3: Source [stream:0 fmt:UYVY8_1X16/640×480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad4: Source [stream:0 fmt:UYVY8_1X16/640×480 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/640×480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range] pad1: Sink pad2: Sink pad3: Sink pad4: Source [stream:0 fmt:UYVY8_2X8/640×480 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#
,
?? ?:
通过954读953的ID没读到
没link上
,
Shine:
我需要咨询一下产品线工程师。
,
?? ?:
link上了
但是拓扑不正确,如下。还需要设置什么东西吗
,
Shine:
能否回复一下下面的问题?
Is your customer using the SK-AM62A-LP board, or their custom board? How do they connect IMX390 to the board? Which IMX390 module are they using?
,
?? ?:
用的SK-AM62A-LP板子。imx390—>ds90ub953—>ds90ub954—>主控。 imx390摄像头模组内部自带isp,出来就是yuv数据
,
Shine:
已跟进,请关注下面e2e帖子的回复,有时差,可能要明天回复。https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1230747/sk-am62a-lp-ds90ub954-linux-driver
,
?? ?:
这个有点急
,
Shine:
请看下面e2e工程师的回复。Thanks for providing the diagram. I was asking how they connected the camera to our SK-AM62A-LP board. Are they using the Fusion board or UB954-Q1 EVM?
如果着急的话,可以直接在e2e帖子上回复工程师。
,
?? ?:
UB954-Q1连到SK-AM62A-LP board
,
?? ?:
前面我不是说了吗,这样连接
imx390—>ds90ub953—>ds90ub954—>主控
,
?? ?:
这有时差怎么弄啊,问题都没法解决,已经拖了一周了
,
Shine:
工程师已有回复,请查看。
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?
,
?? ?:
这有时差怎么弄呢,这问题没法解决
,
Shine:
我们一般是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.