I'm looking at the i.mx7 dual SOMs from Embedded Artists. Eg: iMX7 Dual COM Board | Embedded Artists AB
I'm trying to figure out if it is possible to support both EPDC and EIM (for fpga). I saw that there's a single pin that is EIM_RW which also needs to be EPDC_SDDO9. So I believe that means that we cannot support "exactly simultaneous" operation of EPDC and EIM since that pin conflicts.
In linux 3.0.35, we could have the epdc driver acquire and release pins ( fb_data->pdata->enable_pins() , fb_data->pdata->disable_pins()) so with some additional userspace locking modifications, the 2 interfaces could be made to interoperate by making sure any eim activity would always wait for epdc activity to complete and vice-versa. In linux 4.1, that mechanism went away since board specific files got removed.
Reading https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt , I don't see a mechanism to share pins. Is there something in devicetree or 4.1 api to allow drivers to be able to acquire and release pins?
I was curious if anyone has done anything similar. I'd welcome advice/suggestions.