Open rmast opened 3 weeks ago
@jwrdegoede
Do we additionally have to transplant some of the GPIO handling of the atomisp-mt9m114.c to some atomisp or v4l2-driver to make the new mt9m114.c work?
The devil is in the detail:
mt9m114.c: static struct i2c_driver mt9m114_driver = { .driver = { .name = "mt9m114", .pm = &mt9m114_pm_ops, .of_match_table = mt9m114_of_ids, }, .probe = mt9m114_probe, .remove = mt9m114_remove, };
ov2680.c:
static struct i2c_driver ov2680_i2c_driver = { .driver = { .name = "ov2680", .pm = pm_sleep_ptr(&ov2680_pm_ops), .of_match_table = ov2680_dt_ids, .acpi_match_table = ov2680_acpi_ids, }, .probe = ov2680_probe, .remove = ov2680_remove, };
This source: https://github.com/torvalds/linux/blob/master/drivers/staging/media/atomisp/pci/atomisp_csi2_bridge.c
should be adapted for Baytrail as was suggested in this commit message:
Currently this source only supports Lenovo Ideapad Miix 310 and Xiaomi Mipad2, which both depend on a well formed Cherry Trail GUID for the camera in the DSDT, where the DSDT of the Asus T100 is not that mature and doesn't contain this GUID: dc2f6c4f-045b-4f1d-97b9-882a6860a4be
And probably this one as well: https://github.com/torvalds/linux/blob/master/drivers/media/pci/intel/ipu-bridge.c
This file has a comment that only mentions the atomisp2401: https://github.com/torvalds/linux/blob/master/drivers/staging/media/atomisp/pci/atomisp_csi2.c
This function is a model for how parse_dt should await the bridge: https://github.com/torvalds/linux/blob/master/drivers/media/i2c/ov2680.c#L1074
You could wonder why https://github.com/torvalds/linux/blob/master/drivers/media/i2c/aptina-pll.c is not applied in mt9m114.c for determining the PLL values.
@jwrdegoede writes: Unfortunately things are not that easy, I have a pretty good idea what the minimum necessary changes are, to get things to work at a minimum the following mt9m114 driver changes are required:
Originally posted by @jwrdegoede in https://github.com/jfwells/linux-asus-t100ta/issues/4#issuecomment-2409030204