How to mount the video device if there is no I2C channel

If the video device does not have an I2C channel to control! It will initialize and send a fixed resolution,
But refer to other video equipments are all connected to i2C BUS to control

i2c@3180000 {ov5693_c@36 {

How to mount the video device if there is no I2C channel

You still can follow the reference sensor driver to remove all of the i2c REG accessing code for it.

but register device error
err = tegracam_device_register(tc_dev);
if (err) {
dev_err(dev, “tegra camera driver registration failed\n”);
return err;

see tegracam_core.c

int tegracam_device_register(struct tegracam_device *tc_dev)

s_data->regmap = devm_regmap_init_i2c(tc_dev->client,
if (IS_ERR(s_data->regmap)) {
“regmap init failed: %ld\n”, PTR_ERR(s_data->regmap));

	return -ENODEV;

It seems that even this side has to be removed together

You only need to remove all the i2c REG accessing code to avoid physical i2c R/W and don’t remove all of the i2c things like i2c_client struct.

But there is no I2C device
How to implement it on dts?
How to mount the driver

i2c@3160000 {  /* I2C_PM, "adapter" 0 */
		i2c@0 {
				status = "okay";
				#address-cells = <1>;
				#size-cells = <0>;	

				compatible = "psm_amb_gen3_kcku15p";/* I2C device address */              
				reg = <0x30>;                     	/* shifted by 2 */

You can just mount to any I2C bus but don’t have driver to access that will be OK.

Same I2C BUS and address
Will the devices conflict?

You can change the slave address as any others to avoid conflict.

So just set a virtual address?
Can the driver be mounted?