PWM's and 3.8 Kernel

Hi,
let me describe my environment first
I am using a ARCH linux image in beaglebone black with the Linux alarm 3.8.13-6-ARCH kernel.

Is there a proven solution to the PWM problem in the new 3.8 kernel?
Problem is that you can no longer control the pwm through the old /sys/class/pwm, now you have to go to /sys/devices/ocp.2/pwm_test_P8_13 ( an example ) after you have succesfully loaded the pwm cape and the certain pwm pin cape in the device tree.
My SLOTS output looks like this:

0: 54:PF—
1: 55:PF—
2: 56:PF—
3: 57:PF—
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
7: ff:P-O-L Override Board Name,00A0,Override Manuf,am33xx_pwm
8: ff:P-O-L Override Board Name,00A0,Override Manuf,bone_pwm_P8_13

After doing al these, you should have “duty”, “period” , “polarity” and “run” files in “/sys/devices/ocp.2/pwm_test_P8_13.14/
but i do not.
Information about this problem exists on the internet but is scattered and not very descriptive, some say that they do not have the pwm_test driver in the kernel, some say that there is no EHRPWM support enabled in the driver. Some say that the pwm_test driver is broken and it needs to be patched (http://hipstercircuits.com/enable-pwm-on-beaglebone-with-device-tree-overlays/)

I tried all of those with no luck, i still do not have the right files in ocp.2/pwm_test_P8_13.14

On standard beaglebone black with angstrom distro and on the node.js (bonescript) interface, it works.

So, how should i go about this?
What should I check?
What am I missing?
Anyone has any ideea how to do this with /dev/mem ?? I really do not understand how to find the addresses for those pins, any documentation that works on the new kernel is welcome!

Thanks!

this is the dmesg log after i inserted the pwm capes:

[ 193.724488] bone-capemgr bone_capemgr.8: part_number ‘am33xx_pwm’, version ‘N/A’
[ 193.724576] bone-capemgr bone_capemgr.8: slot #7: generic override
[ 193.724595] bone-capemgr bone_capemgr.8: bone: Using override eeprom data at slot 7
[ 193.724613] bone-capemgr bone_capemgr.8: slot #7: ‘Override Board Name,00A0,Override Manuf,am33xx_pwm’
[ 193.724724] bone-capemgr bone_capemgr.8: slot #7: Requesting part number/version based 'am33xx_pwm-00A0.dtbo
[ 193.724743] bone-capemgr bone_capemgr.8: slot #7: Requesting firmware ‘am33xx_pwm-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 193.724764] bone-capemgr bone_capemgr.8: slot #7: dtbo ‘am33xx_pwm-00A0.dtbo’ loaded; converting to live tree
[ 193.725113] bone-capemgr bone_capemgr.8: slot #7: #8 overlays
[ 193.730593] ehrpwm 48300200.ehrpwm: unable to select pin group
[ 193.732133] ecap 48300100.ecap: unable to select pin group
[ 193.734594] ehrpwm 48302200.ehrpwm: unable to select pin group
[ 193.738033] ehrpwm 48304200.ehrpwm: unable to select pin group
[ 193.738700] ecap 48304100.ecap: unable to select pin group
[ 193.739443] bone-capemgr bone_capemgr.8: slot #7: Applied #8 overlays.
[ 204.380533] bone-capemgr bone_capemgr.8: part_number ‘bone_pwm_P8_13’, version ‘N/A’
[ 204.380616] bone-capemgr bone_capemgr.8: slot #8: generic override
[ 204.380635] bone-capemgr bone_capemgr.8: bone: Using override eeprom data at slot 8
[ 204.380653] bone-capemgr bone_capemgr.8: slot #8: ‘Override Board Name,00A0,Override Manuf,bone_pwm_P8_13’
[ 204.380754] bone-capemgr bone_capemgr.8: slot #8: Requesting part number/version based 'bone_pwm_P8_13-00A0.dtbo
[ 204.380773] bone-capemgr bone_capemgr.8: slot #8: Requesting firmware ‘bone_pwm_P8_13-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’
[ 204.380794] bone-capemgr bone_capemgr.8: slot #8: dtbo ‘bone_pwm_P8_13-00A0.dtbo’ loaded; converting to live tree
[ 204.381101] bone-capemgr bone_capemgr.8: slot #8: #2 overlays
[ 204.386205] bone-capemgr bone_capemgr.8: slot #8: Applied #2 overlays.

did you find a solution, I have the same issue now…

Hai,

steps to follow,

  1. Enable pwm_test driver in your kernel, if it is module do insmod.
    #insmod pwm_test.ko
  2. echo am33xx_pwm > /sys/devices/bone_capemgr.?/slots
    3)echo bone_pwm_P8_13 > /sys/devices/bone_capemgr.?/slots