Hi,
I am using devicetree overlays for some peripheral of my device. For example the touch controller that is connected over I2C.
The I2C interface is in my base device tree including the muxing of the I2C pins of the controller. This works perfectly.
But my touch controller also has two more connections. 1st touch interrupt line and 2nd touch reset line. I configured them also in my devicetree overlay but without success. It seems that is is not possible.
This is showing in dmesg:
[ 235.290431] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/pinctrl_touchscreen_ctrl
[ 235.303069] imx8mp-pinctrl 30330000.pinctrl: invalid group "touchgrp" for function "pinctrl"
This is the way I configured my touch.dtsb:
fragment@0 {
target = <&iomuxc>;
__overlay__ {
pinctrl_touchscreen_ctrl: touchgrp {
fsl,pins = <
MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02 0x00000006 //touch_int
MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x00000146 //touch_rst
>;
};
};
};
Why do I get these two messages from dmesg? And why is the pinmux not working? In the case above the pin GPIO1_IO3 schould have a internal pullup but I can not meassure 3V3. If I put the pinmux of GPIO1_IO3 into another iomux of the base device tree it works. So I assume that a) there is a mistake in my overlay or b) it is not possible.
did you add your new pinctrl in the iomux in the imx8mp-evk.dts? you can refer to the document as below: