some of the 200 pins of the Colibri iMX8X SODIMM interface (X1) are connected to 2 balls of the processor as explained in its datasheet paragraph 4.1 “Function Multiplexing”. Pins X1.67, .97 and .101 are of those and I need to use them as PWM.D and GPIOs on my board.
If my understanding is correct, they are all used by CSI ALT0 function by default (datasheet par. 4.4.1), then I have to use Device Tree and TorizonCore Builder to reconfigure them, paying attention to “make sure that the unused pin of each multiplexed pair is tri-stated or configured as input to avoid undesired behaviour and/or hardware damage” as written in the datasheet.
I think the relevant sections of imx8qxp-colibri.dtsi are the following:
First question: is it fine to use simply a device tree overlay for this type of reconfiguration on multiplexed pairs? Can I proceed as with “normal” unpaired pins?
Second question: I cannot find where the parallel CSI is enabled in device tree files with something like status = “okay” to disable it. Is really enabled by default?
Thank you for the attention and the help in handling this configuration.
thank you for the answer and the information, first of all I confirm your understanding is correct and the pins are indeed working as GPIOs and PWM by default as you write.
I was misled 1) by gpioinfo output by torizonextras/arm64v8-gpiod where the two 97 and 101 GPIOs are “unnamed” (see attachment, the others I used previously are all named like SODIMM_XX) and 2) by a wrong connection on the external hardware, which was connected to PWM.B and not PWM.D in system wirings.
By the way, can you provide a feedback about the first question “is it fine to use simply a device tree overlay for this type of reconfiguration on multiplexed pairs? Can I proceed as with “normal” unpaired pins?”
By the way, can you provide a feedback about the first question “is it fine to use simply a device tree overlay for this type of reconfiguration on multiplexed pairs? Can I proceed as with “normal” unpaired pins?”
Yes overlays should be fine for this purpose. As long as you define the paired pins properly as they are in the source device tree.