Hi,
We are using custom board based on iMX8MP. In order to use some of the peripherals like IMU and ADC, proper pins (like reset and interrupt pins) need to be set. Problem emerges when it comes to the place where those pins are defined.
If those pins are defined as a part of gpio-leds entry, those pins are both visible and controllable:
pinctrl_gpio_leds: ledgrp {
fsl,pins = <
MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0xc6
MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0xc6
MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0xc6
MX8MP_IOMUXC_SAI1_TXD1__GPIO4_IO13 0xc6
MX8MP_IOMUXC_SAI1_RXD5__GPIO4_IO07 0xc6
MX8MP_IOMUXC_SAI1_RXD2__GPIO4_IO04 0x1c6
MX8MP_IOMUXC_SAI1_RXD4__GPIO4_IO06 0x1c6
>;
};
Here, first two SAI pins are connected to the ADC and the last two to the IMU. If I move those exact same definitions to the their appropriate pinctrl handles, those pins can be assigned by those devices but it seems they are uncontrollable, as those devices aren't functional in that case.
I'd like to ask, why it happens that same pin definition is affected by the place where it is defined? I'd like to have those pins properly divided in their own respective pinctrl handles and not to put them all in the LED pin handles.
I'm attaching device tree where both peripherals are functioning, whose pins are defined within LED pin handles.
Regards,
Dragan