On Fri, Sep 29, 2017 at 3:19 PM, William Hermans <yyrk...@gmail.com> wrote:
> Robert,
>
> Ok I think I see what you mean now( fully ). With universal IO and the
> generic startup script enabled. I did see something similar to what you were
> saying. However, if one disables both universal IO, and the generic startup
> script, then writes their own custom overlay for all 3 of the PWM chips that
> are dual channel. You get a structure like this:
>
> root@wgd:~# ls /sys/class/pwm/pwmchip*/ |grep pwm
> /sys/class/pwm/pwmchip0/:
> npwm
> /sys/class/pwm/pwmchip2/:
> npwm
> /sys/class/pwm/pwmchip4/:
> npwm
>
> This is consistent across multiple images on the same board. In this case a
> 4G beaglebone black( rev C ). But at the same time as you can see from the
> output above. The two PWM channels for each PWM chip are not enabled. In
> Jessie, these are populated automatically at boot. How can I make that
> happen in stretch ? I could write a script, but I think that is done
> automatically through cape_manager in Jessie ?

What's happening in v4.4.x, the pwm's are now in the correct order, if
you look at v4.4.x: (pwm came before ecap)

#4.4.88-ti-r129
pwmchip0 -> ../../devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip0
pwmchip2 -> ../../devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip2
pwmchip4 -> ../../devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip4
pwmchip6 -> 
../../devices/platform/ocp/48300000.epwmss/48300100.ecap/pwm/pwmchip6
pwmchip7 -> 
../../devices/platform/ocp/48304000.epwmss/48304100.ecap/pwm/pwmchip7

In v4.9.x: (since ecap are considered pwm's) they are now in the order
of the register address:

pwmchip0 -> 
../../devices/platform/ocp/48300000.epwmss/48300100.ecap/pwm/pwmchip0
pwmchip1 -> ../../devices/platform/ocp/48300000.epwmss/48300200.pwm/pwm/pwmchip1
pwmchip3 -> ../../devices/platform/ocp/48302000.epwmss/48302200.pwm/pwm/pwmchip3
pwmchip5 -> 
../../devices/platform/ocp/48304000.epwmss/48304100.ecap/pwm/pwmchip5
pwmchip6 -> ../../devices/platform/ocp/48304000.epwmss/48304200.pwm/pwm/pwmchip6

In your case, you only want the dual mode "pwm", (48300200.pwm,
48302200.pwm, 48304200.pwm), you shouldn't blindly enable the
"pwmchip0,2,4" as they are dynamic.  You should grep the symlink
first.

Ps, watch out for v4.11.x too:

#v4.4.x/v4.9.x
/sys/class/pwm/pwmchip1/:
drwxr-xr-x 3 root root    0 Sep 29 21:06 pwm0
drwxr-xr-x 3 root root    0 Sep 29 21:06 pwm1

#v4.11.x+

/sys/class/pwm/pwmchip1/:
drwxrwxr-x 3 root pwm     0 Sep 29 21:10 pwm-1:0
drwxrwxr-x 3 root pwm     0 Sep 29 21:10 pwm-1:1

(ps, this last change is good thing, notice that udev correctly added
the "root:pwm" rule.. ;) )

Regards,

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

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAOCHtYgemgrA_oDyvFYXByGFGWOuTFHgfx2uG4Q8XX2vbY-vBA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to