pincontrol error in iMX8MM EVK

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

pincontrol error in iMX8MM EVK

1,315 Views
sreedhar_appala
Contributor IV

Hi,

 

I am working with iMX8MM EVK and Yocto distribution 4.19.35 version

 

Build Configuration:
BB_VERSION = "1.42.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-16.04"
TARGET_SYS = "aarch64-poky-linux"
MACHINE = "imx8mmevk"
DISTRO = "fsl-imx-xwayland"
DISTRO_VERSION = "4.19-warrior"
TUNE_FEATURES = "aarch64"
TARGET_FPU = ""

We have interfaced keypad and sensor input to the PCA6416A IO Expander.

I want to configure the MX8MM_IOMUXC_GPIO1_IO12  pin as shared interrupt for keypad and sensor input.

I am getting the below pincontrol  error it is registering for keypad but failing for sensor.

imx8mm-pinctrl 30330000.pinctrl: pin MX8MM_IOMUXC_GPIO1_IO12 already requested by keypad_int; cannot claim for volsense_int
imx8mm-pinctrl 30330000.pinctrl: pin-22 (volsense_int) status -22
imx8mm-pinctrl 30330000.pinctrl: could not request pin 22 (MX8MM_IOMUXC_GPIO1_IO12) from group ioexp_int on device 30330000.pinctrl

dts settings are below:

keypad_int: keypad_int {
   interrupt-parent = <&gpio1>;
   interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_ioexp_int>;
   status = "okay";
};

volsense_int: volsense_int {
   interrupt-parent = <&gpio1>;
   interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_ioexp_int>;
   status = "okay";
};

pinctrl_ioexp_int: ioexp_int {
   fsl,pins = <
   MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x14f
   >;
};

Could you please tell me where i am doing wrong.

Thank you,

Sreedhar

0 Kudos
3 Replies

1,264 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi  Sreedhar A ,

You can not use the same pinctl function in two different dts node.They will confilct each other.

Best Regards,

Zhiming

0 Kudos

1,264 Views
sreedhar_appala
Contributor IV

Thank you Zhiming,

Yes, I understand it is conflicting, is there any approach for solving my issue.

Thank you,

Sreedhar

0 Kudos

1,264 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi  Sreedhar A ,

 

The hardware can no support two device with the same dts node. You can use two different IRQ ,and handle irq input in software, if you want to let two device related,you can try epoll in linux kernel.

 

Best Regards,

Zhiming

0 Kudos