I am trying to use tw9990 connected to a ATSAMA5D29 to play a camera feed. I have a custom board where the digital data lines are going to the ISC lines of the processor. I have an embedded linux distro made in Buildroot based off the microchip kernel. I am seeing the TW9910 module come up and talk to the TW9990 chip successfully, but I don't see any /dev/video. I added a small patch to the microchip-isc driver's probe() function which printed "probing" with printk, but I'm not seeing it in dmesg. An interesting, but confusing part of dmesg:
# dmesg | grep isc
device class 'misc': registering
/ahb/apb/isc@f0008000 Linked as a fwnode consumer to /ahb/apb/pinctrl@fc038000
/ahb/apb/isc@f0008000 Dropping the fwnode link to /ahb/apb/pinctrl@fc038000/isc_base
/ahb/apb/isc@f0008000 Dropping the fwnode link to /ahb/apb/pinctrl@fc038000/isc_data_8bit
device: 'platform:fc038000.pinctrl--platform:f0008000.isc': device_add
devices_kset: Moving f0008000.isc to end of list
PM: Moving platform:f0008000.isc to end of list
platform f0008000.isc: Linked as a consumer to fc038000.pinctrl
/ahb/apb/isc@f0008000 Dropping the fwnode link to /ahb/apb/pinctrl@fc038000
bus: 'platform': add driver microchip-sama5d2-isc
/ahb/apb/i2c@f8028000/tw9990@44: Relaxing link with /ahb/apb/isc@f0008000
/ahb/apb/isc@f0008000: Relaxing link with /ahb/apb/i2c@f8028000/tw9990@44
platform f0008000.isc: Fixed dependency cycle(s) with /ahb/apb/i2c@f8028000/tw9990@44
device: 'i2c:0-0044--platform:f0008000.isc': device_add
platform f0008000.isc: Linked as a sync state only consumer to 0-0044
/ahb/apb/isc@f0008000 Dropping the fwnode link to /ahb/apb/i2c@f8028000/tw9990@44
/ahb/apb/i2c@f8028000/tw9990@44: Relaxing link with /ahb/apb/isc@f0008000
i2c 0-0044: Fixed dependency cycle(s) with /ahb/apb/isc@f0008000
device: 'platform:f0008000.isc--i2c:0-0044': device_add
i2c 0-0044: Linked as a sync state only consumer to f0008000.isc
/ahb/apb/i2c@f8028000/tw9990@44 Dropping the fwnode link to /ahb/apb/isc@f0008000
at91_i2c f8028000.i2c: Dropping the link to f0008000.isc
device: 'platform:f0008000.isc--platform:f8028000.i2c': device_unregister
tw9910 0-0044: Dropping the link to f0008000.isc
device: 'platform:f0008000.isc--i2c:0-0044': device_unregister
The device_register and between isc and i2c may be part of the problem, but I don't know why that's happening. The full dmesg is here and the kernel configuration is here.