eQEP Quadrature detector

Please help,

I’ve already posted a mail before but got no reaction. I’m desperately looking for support. I have a running quadrature detector using pin P8_12 and P8_11 (eqep2), see the attached dts file. The code I’m using is based on accessing the eQEP register using memory mapped IO (mmio).

I’ve have used the detector without any problems on a BBB board running the following debian version:

Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux

Now I’m trying to run exactly the same code on a newer debian version. This is not working anymore!!! I managed to download and install the following debian version (among some other versions):

Linux beaglebone 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 armv7l GNU/Linux

Note that I installed the bone50 version on a different BBB board. I don’t want to mess up the correct working bone47 board. Both board have 4G eMMC memory (revision - C)

What I notice is that the folder structure for both version is different:

For Bone47 it is: /sys/devices/ocp.3/48304000.epwmss

For Bone50 it is: /sys/devices/ocp.3/48304000.epwmss/48304180.eqep

Bone47; No means to read the position and the like.

Bone50; Reading the position using cat position alway return zero, this is also what I see running the mmio code.

So what could be the cause that the quadrature detector is no longer working on debian version higher than 3.8.13-bone47? At least the folder structure is different. Is this a kernel driver issue? Do I have to redefine the .dts file? Any help would be highly appreciated.

Best regards,


bone_eqep2-00A0.dts (1.04 KB)

if you have it working why upgrade ?
do you need a feature on bone 50 ?

I understand your question. But unfortunatly all New puchased boards carry a version higher then bone47 that don't work either

Regards Wim

You should be able to install the bone47 kernel on those new boards without issue. It's a simple apt-get command:

sudo apt-get update
apt-cache search linux-image
sudo apt-get install <the image you found above that you want>
sudo reboot

OK I will try that.

Thanks, Wim

/root>apt-cache search linux-image
alsa-base - ALSA driver configuration files
linux-headers-3.2.0-4-iop32x - Header files for Linux 3.2.0-4-iop32x
linux-headers-3.2.0-4-ixp4xx - Header files for Linux 3.2.0-4-ixp4xx
linux-headers-3.2.0-4-kirkwood - Header files for Linux 3.2.0-4-kirkwood
linux-headers-3.2.0-4-mv78xx0 - Header files for Linux 3.2.0-4-mv78xx0
linux-headers-3.2.0-4-mx5 - Header files for Linux 3.2.0-4-mx5
linux-headers-3.2.0-4-omap - Header files for Linux 3.2.0-4-omap
linux-headers-3.2.0-4-orion5x - Header files for Linux 3.2.0-4-orion5x
linux-headers-3.2.0-4-versatile - Header files for Linux 3.2.0-4-versatile
linux-headers-3.2.0-4-vexpress - Header files for Linux 3.2.0-4-vexpress
linux-image-3.2.0-4-iop32x - Linux 3.2 for IOP32x
linux-image-3.2.0-4-ixp4xx - Linux 3.2 for IXP4xx
linux-image-3.2.0-4-kirkwood - Linux 3.2 for Marvell Kirkwood
linux-image-3.2.0-4-mv78xx0 - Linux 3.2 for Marvell 78xx0
linux-image-3.2.0-4-mx5 - Linux 3.2 for Freescale i.MX51/53
linux-image-3.2.0-4-omap - Linux 3.2 for TI OMAP3+
linux-image-3.2.0-4-orion5x - Linux 3.2 for Marvell Orion
linux-image-3.2.0-4-versatile - Linux 3.2 for Versatile
linux-image-3.2.0-4-vexpress - Linux 3.2 for ARM Ltd. Versatile Express
linux-image-2.6-iop32x - Linux for IOP32x (dummy package)
linux-image-2.6-ixp4xx - Linux for IXP4xx (dummy package)
linux-image-2.6-kirkwood - Linux for Marvell Kirkwood (dummy package)
linux-image-2.6-mx5 - Linux for Freescale MXC/iMX-based (dummy package)
linux-image-2.6-omap - Linux for TI OMAP3+ (dummy package)
linux-image-2.6-orion5x - Linux for Marvell Orion (dummy package)
linux-image-2.6-versatile - Linux for Versatile (dummy package)
linux-image-iop32x - Linux for IOP32x (meta-package)
linux-image-ixp4xx - Linux for IXP4xx (meta-package)
linux-image-kirkwood - Linux for Marvell Kirkwood (meta-package)
linux-image-mv78xx0 - Linux for Marvell 78xx0 (meta-package)
linux-image-mx5 - Linux for Freescale i.MX51 (meta-package)
linux-image-omap - Linux for TI OMAP3+ (meta-package)
linux-image-orion5x - Linux for Marvell Orion (meta-package)
linux-image-versatile - Linux for Versatile (meta-package)
linux-image-vexpress - Linux for ARM Ltd. Versatile Express (meta-package)

How do I match one of the above images to the one I need? That is
Linux beaglebone 3.8.13-bone47


None of those match it…

Your rootfs is to old, this was before we introduced the apt repo.


Dear all,

Is there a newer version that definitely works using the eQEP2. For me there is no need to stick to 3.8.13-bone47 but I haven’t found a newer version that is working.
Furthermore I’m worried about the reason why the mmio code is not working anymore selecting a different Debian version.



I have tried Linux beaglebone 4.1.18-ti-r53 and its eqep is not working.