EQEP pin conflict with MCASP

117 views
Skip to first unread message

Kevin Cox

unread,
Dec 28, 2016, 10:40:34 AM12/28/16
to BeagleBoard, kc...@sgss.com
Hello

I am trying to enable and use eqep0 on my BBB (kernel 4.4.30-ti-r64) and am encountering a pin conflict (pin 107) between the eqep driver and mcasp driver

From dmesg output:

[   41.150493] eqep 48300180.eqep: ver. 1.0
[   41.150628] pinctrl-single 44e10800.pinmux: pin 44e109ac.0 already requested by 48038000.mcasp; cannot claim for 48300180.eqep
[   41.162226] pinctrl-single 44e10800.pinmux: pin-107 (48300180.eqep) status -22
[   41.169520] pinctrl-single 44e10800.pinmux: could not request pin 107 (44e109ac.0) from group pinctrl_eqep0_pins  on device pinctrl-single
[   41.182036] eqep 48300180.eqep: Error applying setting, reverse things back


In /boot/uEnv.txt I enable bone_eqep0 and disable HDMI with/without audio:

##Example v4.1.x
cape_disable=bone_capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
cape_enable=bone_capemgr.enable_partno=BB-UART1,bone_eqep0

In /opt/bb.org-overlays/src/arm/bone_eqep0-00A0 shows the following pins being used which none of them map to pin 107 on my BBB:

pinctrl-single,pins = <
BONE_P9_42B (PIN_INPUT | MUX_MODE1) // GPIO3_18 = EQEP0A_in
BONE_P9_27  (PIN_INPUT | MUX_MODE1) // GPIO3_19 = EQEP0B_in
BONE_P9_41B (PIN_INPUT | MUX_MODE1) // GPIO3_20 = EQEP0_index
BONE_P9_25  (PIN_INPUT | MUX_MODE1) // GPIO3_21 = EQEP0_strobe

I have found a thread here: https://groups.google.com/forum/#!category-topic/beagleboard/audio/YNhtwbe_b4k that shows how to disable mcasp0 but I am concerned that something is not configured right as my understanding was that eqep0 should not conflict with other hardware and especially a pin that should not overlap.  Am I missing something obvious.  I thought I could just enable this driver out of the box.

Kevin 


Robert Nelson

unread,
Dec 28, 2016, 10:44:21 AM12/28/16
to Beagle Board, kc...@sgss.com, kac...@gmail.com
On Wed, Dec 28, 2016 at 9:10 AM, Kevin Cox <kac...@gmail.com> wrote:
> Hello
>
> I am trying to enable and use eqep0 on my BBB (kernel 4.4.30-ti-r64) and am
> encountering a pin conflict (pin 107) between the eqep driver and mcasp
> driver
>
> From dmesg output:
>
> [ 41.150493] eqep 48300180.eqep: ver. 1.0
> [ 41.150628] pinctrl-single 44e10800.pinmux: pin 44e109ac.0 already
> requested by 48038000.mcasp; cannot claim for 48300180.eqep
> [ 41.162226] pinctrl-single 44e10800.pinmux: pin-107 (48300180.eqep)
> status -22
> [ 41.169520] pinctrl-single 44e10800.pinmux: could not request pin 107
> (44e109ac.0) from group pinctrl_eqep0_pins on device pinctrl-single
> [ 41.182036] eqep 48300180.eqep: Error applying setting, reverse things
> back
>
>
> In /boot/uEnv.txt I enable bone_eqep0 and disable HDMI with/without audio:

For v4.4.x you need to use:

(just eMMC enabled)
dtb=am335x-boneblack-emmc-overlay.dtb

(no eMMC/video/audio)
dtb=am335x-boneblack-overlay.dtb

Regards,


--
Robert Nelson
https://rcn-ee.com/

William Hermans

unread,
Dec 28, 2016, 10:45:50 AM12/28/16
to beagl...@googlegroups.com
On Wed, Dec 28, 2016 at 8:10 AM, Kevin Cox <kac...@gmail.com> wrote:
Hello

I am trying to enable and use eqep0 on my BBB (kernel 4.4.30-ti-r64) and am encountering a pin conflict (pin 107) between the eqep driver and mcasp driver

From dmesg output:

[   41.150493] eqep 48300180.eqep: ver. 1.0
[   41.150628] pinctrl-single 44e10800.pinmux: pin 44e109ac.0 already requested by 48038000.mcasp; cannot claim for 48300180.eqep
[   41.162226] pinctrl-single 44e10800.pinmux: pin-107 (48300180.eqep) status -22
[   41.169520] pinctrl-single 44e10800.pinmux: could not request pin 107 (44e109ac.0) from group pinctrl_eqep0_pins  on device pinctrl-single
[   41.182036] eqep 48300180.eqep: Error applying setting, reverse things back


In /boot/uEnv.txt I enable bone_eqep0 and disable HDMI with/without audio:

##Example v4.1.x
cape_disable=bone_capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
cape_enable=bone_capemgr.enable_partno=BB-UART1,bone_eqep0

Thats wrong. First of all cape_disable for the purpose you're trying to achieve here is unnecessary.

william@beaglebone:~/dev$ head /boot/uEnv.txt
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.4.27-ti-r62
#uuid=
#dtb=

##BeagleBone Black/Green dtb's for v4.1.x (BeagleBone White just works..)

##BeagleBone Black: HDMI (Audio/Video) disabled:
dtb=am335x-boneblack-emmc-overlay.dtb



In /opt/bb.org-overlays/src/arm/bone_eqep0-00A0 shows the following pins being used which none of them map to pin 107 on my BBB:

pinctrl-single,pins = <
BONE_P9_42B (PIN_INPUT | MUX_MODE1) // GPIO3_18 = EQEP0A_in
BONE_P9_27  (PIN_INPUT | MUX_MODE1) // GPIO3_19 = EQEP0B_in
BONE_P9_41B (PIN_INPUT | MUX_MODE1) // GPIO3_20 = EQEP0_index
BONE_P9_25  (PIN_INPUT | MUX_MODE1) // GPIO3_21 = EQEP0_strobe

I have found a thread here: https://groups.google.com/forum/#!category-topic/beagleboard/audio/YNhtwbe_b4k that shows how to disable mcasp0 but I am concerned that something is not configured right as my understanding was that eqep0 should not conflict with other hardware and especially a pin that should not overlap.  Am I missing something obvious.  I thought I could just enable this driver out of the box.

The rest assuming your overlay is correct should just work.

Kevin Cox

unread,
Dec 29, 2016, 11:04:29 AM12/29/16
to BeagleBoard, kc...@sgss.com
thank you, this solved the problem.
Reply all
Reply to author
Forward
0 new messages