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
Hello @idragan
I hope you are doing very well.
It happens because the driver.
Could you please sahre your entire node of ADC and IMU?
I would like to check why this is happening.
Please share device tree related to ADC and IMU with the respective pinctrl_adc pinctrl_imu.
Best regards,
Salas.
Hi Salas,
Thanks for reaching me out.
Sure, I'm attaching you device tree. I'd like to add few notes in order to make things easier for you:
1. There is no entry for ADC device itself, rather, it's just pins added to the appropriate I2C bus (here it's i2c5).
2. IMU is defined as imu1 and pins are assigned to it. The driver for it is custom written and under the licence so I cannot share its code.
3. Moreover, there is one more device, named testdev, with whom we're communication through the SPI. If pins belong to its own pin handle and not to the pinctrl_gpio_leds, functionality is again not operative.
Regards,
Dragan