diff --git a/README.md b/README.md index e6c90ff..0e8689c 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,7 @@ # Leopard Imaging LI-M021C-MIPI Stereo-Optic Cameras -## Kernel Changes -The source code we have modified or added and is pertinent to these cameras is in the following files: -* controls-utility.sh -* hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-tx2-spiri-camera-base.dtsi -* hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-tx2-spiri-camera.dtsi -* hardware/nvidia/platform/t18x/quill/kernel-dts/Makefile -* hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-tx2-spiri-USB3.dts -* hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-tx2-spiri-base.dts -* hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-tx2-spiri-mPCIe.dts -* hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-tx2-spiri-revF+.dts -* nvidia/drivers/media/i2c/mt9m021.c -* nvidia/drivers/media/i2c/mt9m021_mode_tbls.h -* nvidia/drivers/media/platform/tegra/camera/camera_common.c -* nvidia/drivers/media/platform/tegra/camera/tegracam_ctrls.c -* nvidia/include/media/camera_common.h -* nvidia/include/media/tegra-v4l2-camera.h - -All these modifications and additions are part of the Spiri Mu kernel, and are represented by symbolic links from this repository into https://git.spirirobotics.com/Spiri/mu_kernel_sources, with the exception of the controls-utility.sh script, which is transferred in the spiri_scripts folder of the rootfs. +## Cameras setup +The camera sensors should be conencted to a ConnectTech's Elroy board. ## Features @@ -90,7 +74,57 @@ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=RG12 - v4l2-ctl -d /dev/video01 --set-fmt-video=width=1280,height=720,pixelformat=RG12 --set-ctrl bypass_mode=0 --stream-mmap ``` -## Documentation +## Appends + +#### Kernel Changes + +The Driver for the MT9M021 cameras consists on the following structure, that adds the DTB and Kernel sources, along with its Makefiles that lead its portability to a Kernel source. +```bash +. +├── hardware +│ └── nvidia-spiri +│ └── platform +│ └── t18x +│ ├── common +│ │ └── kernel-dts +│ │ └── t18x-common-platforms +│ │ ├── tegra186-tx2-spiri-camera-base.dtsi +│ │ └── tegra186-tx2-spiri-camera.dtsi +│ └── quill +│ └── kernel-dts +│ ├── Makefile +│ ├── tegra186-tx2-spiri-base.dts +│ ├── tegra186-tx2-spiri-mPCIe.dts +│ ├── tegra186-tx2-spiri-revF+.dts +│ └── tegra186-tx2-spiri-USB3.dts +├── kernel +│ ├── kernel-4.9 +│ │ └── arch +│ │ └── arm64 +│ │ └── configs +│ │ └── tegra_defconfig +│ └── nvidia-spiri +│ ├── drivers +│ │ └── media +│ │ ├── i2c +│ │ │ ├── Kconfig +│ │ │ ├── Makefile +│ │ │ ├── mt9m021.c +│ │ │ └── mt9m021_mode_tbls.h +│ └── include +│ └── media +│ └── mt9m021.h +└── README.md +``` +In order to add the Driver to the Kernel, the following reference Kernel files are patched for adding custom controls that the camera implements. + +* kernel/nvidia/drivers/media/platform/tegra/camera/camera_common.c +* kernel/nvidia/drivers/media/platform/tegra/camera/tegracam_ctrls.c +* kernel/nvidia/include/media/camera_common.h +* kernel/nvidia/include/media/tegra-v4l2-camera.h + + +#### Documentation * CSI2 adapter board guide * Camera module data sheet * Camera sensor data sheet