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:
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!