Hello,
I’m trying to interface ov5647 mipi sensor with Jetson Nano, so I followed some procedure,
first I took dts reference of imx219, and what I did is replaced imx219 with ov5647 using find and replace, and reg value 10 with 36.
these are the locations of where added new file and changed some files
1. Linux_for_Tegra/source/public/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-all-p3449-0000-camera-ov5647-dual.dts
2. Linux_for_Tegra/source/public/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-camera-rbpcv2-dual-ov5647.dtsi
3. Linux_for_Tegra/source/public/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-camera-rbpcv2-dual-ov5647.dtsi
4. Linux_for_Tegra/source/public/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-camera-rbpcv2-ov5647.dtsi
5. Linux_for_Tegra/source/public/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-porg-camera-rbpcv2-ov5647.dtsi
6. Linux_for_Tegra/source/public/kernel_src/kernel/nvidia/drivers/media/i2c/ov5647.c
and I created ov5647.c file, which does not have any complicated functions, it has only 2 functions probe and remove,
static const struct of_device_id ov5647_of_match[] = {
{ .compatible = "nvidia,ov5647", },
{ },
};
MODULE_DEVICE_TABLE(of, ov5647_of_match);
static int ov5647_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
printk("ov5647 Driver Loaded\n");
return 0;
}
static int ov5647_remove(struct i2c_client *client)
{
printk("ov5647 Driver UnLoaded\n");
return 0;
}
static const struct i2c_device_id ov5647_id[] = {
{ "ov5647", 0 },
{ }
};
MODULE_DEVICE_TABLE(i2c, ov5647_id);
static struct i2c_driver ov5647_i2c_driver = {
.driver = {
.name = "ov5647",
.owner = THIS_MODULE,
.of_match_table = of_match_ptr(ov5647_of_match),
},
.probe = ov5647_probe,
.remove = ov5647_remove,
.id_table = ov5647_id,
};
module_i2c_driver(ov5647_i2c_driver);
MODULE_DESCRIPTION("Media Controller driver for Sony IMX219");
MODULE_AUTHOR("NVIDIA Corporation");
MODULE_LICENSE("GPL v2");
Linux_for_Tegra.zip (16.8 KB)
the above zip contains files which I added and changed for ov5647
and BSP package I’m using is R32.7.2
can any one tell me, what mistakes I had done?