Other Parts Discussed in Thread: SYSCONFIG, SK-AM68, TDA4VM, AM68
Tool/software:
I am working with the AM68A board and attempting to interface the INMP441 microphone via I²S using McASP1. Here are my pin connections:
-
VDD → Pin 17 (3.3V)
-
GND → Pin 6
-
SCK/BCLK (I²S_BCLK) → Pin 12 (I2S_SCLK)
-
WS/LRC (I²S_FS) → Pin 35 (I2S_FS)
-
SD (I²S_DIN) → Pin 38 (I2S_DIN)
-
SEL/LR → Pin 39
After making these connections, I ran the command:
dmesg | grep -i mcasp
And encountered the following error:
[ 7.911951] pinctrl-single 11c000.pinctrl: pin PIN46 already requested by 600000.gpio; cannot claim for 2b10000.mcasp
[ 7.926309] pinctrl-single 11c000.pinctrl: pin-46 (2b10000.mcasp) status -22
[ 7.935282] pinctrl-single 11c000.pinctrl: could not request pin 46 (PIN46) from group mcasp1-default-pins on device pinctrl-single
[ 7.947510] davinci-mcasp 2b10000.mcasp: Error applying setting, reverse things back
Upon checking k3-am68-sk.dts, I found the following entry for McASP1 pin configuration:
mcasp1-default-pins {
pinctrl-single,pins = <0xb8 0x01 0xbc 0x01 0xc0 0x40001 0xb4 0x01>;
phandle = <0x6a>;
};
It seems that PIN46 is already allocated to 600000.gpio, preventing McASP1 from acquiring it.
Questions:
-
How can I resolve this pin conflict to enable McASP1 for I²S operation?
-
Can I remap McASP1 to different pins in the device tree, or do I need to release PIN46 from GPIO first?
-
If PIN46 is necessary for McASP1, what modifications should I make in the device tree to properly configure the pinmux settings?