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
Hi Sreedhar A ,
You can not use the same pinctl function in two different dts node.They will confilct each other.
Best Regards,
Zhiming
Thank you Zhiming,
Yes, I understand it is conflicting, is there any approach for solving my issue.
Thank you,
Sreedhar
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