uvdl / meta-ornl

A repository to hold various scripts, techniques and discussion issues that cross several projects
GNU General Public License v3.0
0 stars 0 forks source link

Figure out why `tc358743_mipi` added the same way as 'ov564x_mipi` which *does* work on the DT6CustomCarrier #2

Closed bvacaliuc closed 4 years ago

bvacaliuc commented 5 years ago

See: https://github.com/uvdl/linux-imx/commit/cf3abdee50e01b6da80f7fc1c8dc8a3d4de44786#diff-4c7ee9df401bd9077f4da29971bd8fefR322

We have this device: https://auvidea.com/b101-hdmi-to-csi-2-bridge-15-pin-fpc/

bvacaliuc commented 5 years ago

See also #4, it seems to be a common problem in the community. See msg137045. At this point, as far as I can tell, one needs to set CONFIG_VIDEO_TC358743=y, but often are not provided this option because the feature depends on other configuration options to be set.

I would not be surprised if there was a circular dependency of some sort going on...

edisonf commented 5 years ago

@bvacaliuc

For debian build I modified the build script so I can change the kernel configuration and rebuild without overwriting it.

The new targets are:

kernel_defconfig: Configures kernel with default configuration kernel_menuconfig: Opens kernel menuconfig

If you need to change the kernel configuration yo can just run:

./make_var_som_mx6_debian.sh -c kernel_menuconfig

Change the configuration and then build with:

./make_var_som_mx6_debian.sh -c kernel
./make_var_som_mx6_debian.sh -c modules

make_var_som_mx6_debian.sh.txt

bvacaliuc commented 5 years ago

Thanks. I commited it to the iris2 branch. Work flow is better, but there is something wierd going on with CONFIG_VIDEO_TC358743. In the 'imx_v7_iris2_defconfig'. For example:

$ grep CONFIG_VIDEO src/kernel/arch/arm/configs/imx_v7_iris2_defconfig
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEO_MXC_OUTPUT=y
CONFIG_VIDEO_MXC_CAPTURE=m
CONFIG_VIDEO_MXC_CSI_CAMERA=m
CONFIG_VIDEO_MXC_IPU_OUTPUT=y
CONFIG_VIDEO_MXC_PXP_V4L2=y
CONFIG_VIDEO_CODA=y
CONFIG_VIDEO_TC358743=y

But when the kernel is built, the .config file has stripped the CONFIG_VIDEO_TC358743=y line:

$ grep CONFIG_VIDEO src/kernel/.config
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEO_V4L2=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
# CONFIG_VIDEO_PCI_SKELETON is not set
CONFIG_VIDEOBUF_GEN=y
CONFIG_VIDEOBUF_DMA_CONTIG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
# CONFIG_VIDEO_CPIA2 is not set
# CONFIG_VIDEO_USBTV is not set
# CONFIG_VIDEO_EM28XX is not set
# CONFIG_VIDEO_CAFE_CCIC is not set
CONFIG_VIDEO_MXC_OUTPUT=y
CONFIG_VIDEO_MXC_CAPTURE=m
# CONFIG_VIDEO_MX8_CAPTURE is not set
CONFIG_VIDEO_V4L2_MXC_INT_DEVICE=m
CONFIG_VIDEO_MXC_CSI_CAMERA=m
CONFIG_VIDEO_MXC_IPU_CAMERA=y
CONFIG_VIDEO_MXC_IPU_OUTPUT=y
CONFIG_VIDEO_MXC_PXP_V4L2=y
# CONFIG_VIDEO_XILINX is not set
CONFIG_VIDEO_CODA=y
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
# CONFIG_VIDEO_SH_VEU is not set
CONFIG_VIDEO_IR_I2C=y
CONFIG_VIDEOMODE_HELPERS=y

I even manually added the line to .config, but after a rebuild, it got removed:

$ diff src/kernel/.config src/kernel/.config.old
2929a2930
> CONFIG_VIDEO_TC358743=y

I guess if you can help figure out why its getting stripped out, that would be a great help.

bvacaliuc commented 5 years ago

Edison reported on todays telcon that the TC358743 driver in Debian uses the V4L2_SUBDEV_API, but the i.mx6 CPU subsystem does not support the V4L2_SUBDEV_API.