UNSOLVED OrangePi cm5-tablet RAW-MIPI-SC132M
-
Hello, I am trying to connect veye RAW-MIPI-SC132M to OrangePi cm5-tablet.
Following the instructions from https://github.com/veyeimaging/rk35xx_orangepi/tree/main/linux,
I cloned:- https://github.com/orangepi-xunlong/OrangePi_Build
- https://github.com/veyeimaging/rk35xx_orangepi/tree/main
- https://github.com/veyeimaging/rk35xx_veye_bsp
- ran an empty build to generate the base structure (sudo ./build.sh)
- copied the drivers from the bsp repo
- copied the configs
- modified the device tree files:
7.1) rk3588s-orangepi-cm5-tablet.dts:
#include "rk3588s-orangepi-cm5-tablet-lcd.dtsi" #include "rk3588s-orangepi-cm5-tablet-camera1.dtsi" //#include "rk3588s-orangepi-cm5-tablet-camera2.dtsi" #include "rk3588s-orangepi-cm5-tablet-camera2-veyemv.dtsi" #include "rk3588s-orangepi-cm5-tablet-camera3.dtsi"
7.2) rk3588s-orangepi-cm5-tablet-camera2-veyemv.dtsi:
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2021 Rockchip Electronics Co., Ltd. * */ &csi2_dcphy0 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; mipi_in_dcphy_0: endpoint@0 { reg = <0>; remote-endpoint = <&mvcam_out2>; data-lanes = <1 2>; }; /* mipi_in_dcphy_1: endpoint@1 { reg = <0>; remote-endpoint = <&imx219_out_1>; data-lanes = <1 2>; }; */ }; port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; csidcphy0_out: endpoint@0 { reg = <0>; remote-endpoint = <&mipi0_csi2_input>; }; }; }; }; &i2c6 { status = "okay"; mvcam_2: mvcam@36 { status = "okay"; compatible = "veye,mvcam"; reg = <0x36>; clocks = <&ext_cam_ov5647_clk>; clock-names = "ext_cam_ov5647_clk"; pwdn-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>; rockchip,camera-module-index = <1>; rockchip,camera-module-facing = "front"; rockchip,camera-module-name = "NC"; rockchip,camera-module-lens-name = "NC"; port { veyecam2m_out2: endpoint { remote-endpoint = <&mipi_in_dcphy_0>; data-lanes = <1 2>; }; }; }; /* imx219_cam2: imx219-cam2@10 { status = "disabled"; compatible = "sony,imx219"; reg = <0x10>; clocks = <&ext_cam_ov5647_clk>; clock-names = "ext_cam_ov5647_clk"; pwdn-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; rockchip,camera-module-name = "rpi-camera-v2"; rockchip,camera-module-lens-name = "default"; port { imx219_out_1: endpoint { remote-endpoint = <&mipi_in_dcphy_1>; data-lanes = <1 2>; }; }; }; */ }; &mipi0_csi2 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; #address-cells = <1>; #size-cells = <0>; mipi0_csi2_input: endpoint@1 { reg = <1>; remote-endpoint = <&csidcphy0_out>; }; }; port@1 { reg = <1>; #address-cells = <1>; #size-cells = <0>; mipi0_csi2_output: endpoint@0 { reg = <0>; remote-endpoint = <&cif_mipi_in0>; }; }; }; }; &rkcif_mipi_lvds { status = "disabled"; port { cif_mipi_in0: endpoint { remote-endpoint = <&mipi0_csi2_output>; }; }; }; &rkcif_mipi_lvds_sditf { status = "disabled"; port { mipi_lvds_sditf: endpoint { remote-endpoint = <&isp1_in1>; }; }; }; &rkisp1_vir0 { status = "disabled"; port { #address-cells = <1>; #size-cells = <0>; isp1_in1: endpoint@0 { reg = <0>; remote-endpoint = <&mipi_lvds_sditf>; }; }; };
sudo dmesg | grep mvcam does not output
mvcam 1-003b: camera is: RAW-MIPI-SC132M
mvcam 1-003b: firmware version: 0x1040000instead, I see
platform csi2-dcphy0: Fixed dependency cycle(s) with /i2c@fec80000/mvcam@36Any help would be much appreciated.
Best regards,
Mikhail
-
- mvcam's i2c address is 0x3b, not 0x36.
- please set rkcif_mipi_lvds's status as okay.
good luck!
-
Dmesg | grep mvcam:
csi2-dcphy0: Fixed dependency cycle(s) with /i2c@fec80000/mvcam@3b
@veye_xumm said in OrangePi cm5-tablet RAW-MIPI-SC132M:
- mvcam's i2c address is 0x3b, not 0x36.
- please set rkcif_mipi_lvds's status as okay.
good luck!
-
update: I modified the device tree a few times, and reached a different error message:
i2c-6: Failed to create I2C device for /i2c@fec80000/mvcam@3b
How can I verify that the drivers were correctly installed?
neither lsmod nor less /proc/modules show anything veye-related
-
@mparem
Because on the RK platform, the mvcam driver needs to be built into the kernel, it will not appear in the lsmod list.
Please send me your current DTS and the related error so I can take a look.
The cam2 interface on the tablet corresponds to dcphy0 and i2c6, which is correct. -
This is the decompiled dts, which I modified (set i2c address to 0x3b and changed compatibility to veye,mvcam), compiled, then moved back into /boot/dtb*/rockchip/rk3588s-orangepi-cm5-tablet.dtb (faster than recompiling with orangepi-build)
sudo dmesg | grep ov5647 [ 6.594040] i2c i2c-6: of_i2c: modalias failure on /i2c@fec80000/ov5647-cam2@36 [ 6.594051] i2c i2c-6: Failed to create I2C device for /i2c@fec80000/ov5647-cam2@36 [ 6.594128] platform csi2-dcphy0: Fixed dependency cycle(s) with /i2c@fec80000/ov5647-cam2@3b [ 6.607375] i2c i2c-7: of_i2c: modalias failure on /i2c@fec90000/ov5647-cam3@36 [ 6.607381] i2c i2c-7: Failed to create I2C device for /i2c@fec90000/ov5647-cam3@36 [ 6.607412] platform csi2-dcphy1: Fixed dependency cycle(s) with /i2c@fec90000/ov5647-cam3@3b
sudo dmesg | grep csi2-dcphy0 [ 5.600344] platform csi2-dcphy0: Fixed dependency cycle(s) with /mipi0-csi2 [ 6.594128] platform csi2-dcphy0: Fixed dependency cycle(s) with /i2c@fec80000/ov5647-cam2@3b [ 6.824192] rockchip-csi2-dphy csi2-dcphy0: csi2 dphy0 probe successfully!
sudo dmesg | grep i2c [ 5.612002] platform fed80000.phy: Fixed dependency cycle(s) with /i2c@fec80000/fusb302@22/connector [ 6.408625] platform fc000000.usb: Fixed dependency cycle(s) with /i2c@fec80000/fusb302@22 [ 6.423672] i2c_dev: i2c /dev entries driver [ 6.584542] platform csi2-dphy0: Fixed dependency cycle(s) with /i2c@fea90000/ov13850-1@10 [ 6.584625] i2c i2c-1: 1 i2c clients have been registered at 0x0c [ 6.584679] platform csi2-dphy0: Fixed dependency cycle(s) with /i2c@fea90000/ov13855-1@36 [ 6.594013] i2c i2c-6: of_i2c: modalias failure on /i2c@fec80000/imx219-cam2@10 [ 6.594028] i2c i2c-6: Failed to create I2C device for /i2c@fec80000/imx219-cam2@10 [ 6.594040] i2c i2c-6: of_i2c: modalias failure on /i2c@fec80000/ov5647-cam2@36 [ 6.594051] i2c i2c-6: Failed to create I2C device for /i2c@fec80000/ov5647-cam2@36 [ 6.594128] platform csi2-dcphy0: Fixed dependency cycle(s) with /i2c@fec80000/ov5647-cam2@3b [ 6.607375] i2c i2c-7: of_i2c: modalias failure on /i2c@fec90000/ov5647-cam3@36 [ 6.607381] i2c i2c-7: Failed to create I2C device for /i2c@fec90000/ov5647-cam3@36 [ 6.607412] platform csi2-dcphy1: Fixed dependency cycle(s) with /i2c@fec90000/ov5647-cam3@3b [ 6.607497] platform csi2-dcphy1: Fixed dependency cycle(s) with /i2c@fec90000/imx219-cam3@10 [ 6.708500] [Awinic] [1-0059]aw87xxx_i2c_probe: succeed, dev_index=[0], g_aw87xxx_dev_cnt= [1] [ 6.709515] [Awinic] [1-005a]aw87xxx_i2c_probe: succeed, dev_index=[1], g_aw87xxx_dev_cnt= [2]
-
@mparem
Please postdmesg | grep mvcam
output here.