-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Hi,
I'm trying to enable and use the IMX219 camera module on a Rockchip RK1808 board, but I'm encountering problems during the driver probe stage.
📌 Setup
- Board: RK1808 (custom device tree)
- Kernel: 4.4.194
- Camera: Raspberry Pi Camera Module V2 (IMX219)
- Interface: MIPI CSI
- Device Tree: added
imx219@10
node with required power, GPIO, clock, and data-lanes
✅ What I've done
- Created and enabled the
imx219@10
node in DTS:- Set
status = "okay"
- Configured GPIOs (
enable-gpios
,pwdn-gpios
), clocks, regulators, and port
- Set
- Recompiled DTB with
make dtbs
and deployed it to the target board - Compared with working OV5647 DTS node (which probes successfully)
❌ Problem
IMX219 fails to probe, and the dmesg output shows:
[ 0.687709] imx219 1-0010: no default pinctrl state [ 0.694726] imx219 1-0010: Error -5 setting default controls [ 0.694780] imx219: probe of 1-0010 failed with error -5
Additionally, I get the following error:
rockchip-mipi-dphy-rx: No link between dphy and sensor rkisp1: update sensor info failed -19
Partial section of the currently used DTS file:
I commented out the ov5647 section and uncommented the imx219 section in the previously used DTS file:
`
/*ov5647: ov5647@36 {
status = "okay";
compatible = "ovti,ov5647";
reg = <0x36>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vdd1v5_dvp>;
pwdn-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
//link-frequencies = /bits/ 64 <1250000000>;
//link-frequencies = /bits/ 64 <800000000>;
data-lanes = <1 2>;
};
};
};
*/
imx219: imx219@10 {
status = "okay";
compatible = "sony,imx219";
reg = <0x10>;
clocks = <&cru SCLK_CIF_OUT>;
clock-names = "xvclk";
avdd-supply = <&vcc2v8_dvp>;
dovdd-supply = <&vcc1v8_dvp>;
dvdd-supply = <&vdd1v5_dvp>;
enable-gpios = <&gpio0 RK_PC3 GPIO_ACTIVE_HIGH>;
pwdn-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
//pinctrl-0 = <&cif_clkout_m0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "TongJu";
rockchip,camera-module-lens-name = "CHT842-MD";
port {
ucam_out: endpoint {
remote-endpoint = <&mipi_in_ucam>;
//link-frequencies = /bits/ 64 <200000000>;
data-lanes = <1 2>;
};
};
};`
❓ What I'm trying to find out
- Are there any additional steps required to fully enable the IMX219 sensor (e.g., DTS modifications, driver patches, or specific configuration settings)?
- Does the Raspberry Pi V2 IMX219 module have known compatibility issues with RK1808 or Rockchip ISP?
Any guidance or working examples would be greatly appreciated.
Thanks!