Hi Justin! The initial device tree changed between kernel 3.8 and 4.x. In 4.x the Control Module register *pwmss_ctrl* (@664h) gets cleared at boot. This register can get used to sychronize several PWM subsystems. A feature that isn't supported by the kernel nor by any of it's drivers. So no reason to change the initial state and clear that register. This just disables all PWM subsystems and makes kernel versions incompatible. (You may call it an official kernel virus).
Anyway, in order to get the PWM subsystems working in kernel 4.x you have to make sure that the register doesn't get cleared at boot. Ie. you can invert the bit-logic. Therefor download the device tree sources, edit file *am33xx-clocks.dtsi*, find the following nodes and make them look like (= add tag *ti,set-bit-to-disable)* ehrpwm0_tbclk: ehrpwm0_tbclk@44e10664 { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&l4ls_gclk>; ti,bit-shift = <0>; ti,set-bit-to-disable; reg = <0x0664>; }; ehrpwm1_tbclk: ehrpwm1_tbclk@44e10664 { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&l4ls_gclk>; ti,bit-shift = <1>; ti,set-bit-to-disable; reg = <0x0664>; }; ehrpwm2_tbclk: ehrpwm2_tbclk@44e10664 { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&l4ls_gclk>; ti,bit-shift = <2>; ti,set-bit-to-disable; reg = <0x0664>; }; Then compile and install the binary trees. PWM subsystems will work after reboot. Regards -- 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/8762020d-51b8-4a84-849b-8e102a5d6290%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.