PWM not working in pins P9_14 & P9_16 in BBB

152 views
Skip to first unread message

sajeevan k

unread,
Jul 12, 2017, 8:00:15 AM7/12/17
to BeagleBoard

Hi all,

I have already configured the pins P9_21 and P9_22 for PWM function using

BB-PWM0 overlays.


But now I want to use these pins as UART and some other pins as PWM.


I tried to make P9_14(EHRPWM1A) & P9_16(EHRPWM1B). For this I used the overlay BB-PWM1.

A part of BB-PWM1-00A0.dts is shown here to confirm that BB-PWM1 corresponds to P9_14(EHRPWM1A) & P9_16(EHRPWM1B).



fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
pinctrl_spec: Panel_Pins {
pinctrl-single,pins = <
0x48 0x06 /* (U14) gpmc_a2.ehrpwm1A */
0x4c 0x06 /* (T14) gpmc_a3.ehrpwm1B */
>;
};
};
};




This is creating a folder pwmchip4 in /sys/class/pwm directory.

Then with the following commands, pwm0 and pwm1 are created in  /sys/class/pwm/pwmchip4 directory.



sudo echo 0 > /sys/class/pwm/pwmchip4/export

sudo echo 1 > /sys/class/pwm/pwmchip4/export



And software written same as in the case of P9_21 and P9_22.


But PWM signals are not appearing in P9_14(EHRPWM1A) & P9_16(EHRPWM1B).



I tried also P8_13(ehrpwm2B) & P8_19(ehrpwm2A) in the same way with  BB-PWM2 overlay.

This is creating a folder pwmchip2 in /sys/class/pwm directory. These are also not working.


I think I am missing something.



Please help me to find out a solution.


Thanks in advance for the help.



Thanks & Regards,
Sajeevan.K

sajeevan k

unread,
Jul 13, 2017, 12:36:18 AM7/13/17
to BeagleBoard
Hi all,

Let me make my question short.

I could configure the pins P9_21 and P9_22 as PWM output using BB-PWM0 overlay.
But why it is not possible configure the the pins P9_14 & P9_16 and P8_13 & P8_19 as PWM signals, by doing the same procedure with BB-PWM2 and BB-PWM1 overlays?

Thanks & Regards,
Sajeevan.K

sajeevan k

unread,
Jul 14, 2017, 3:14:50 AM7/14/17
to BeagleBoard
Hi all,

Now I could make P9_14 working as PWM, with a Python script importing Adafruit_BBIO.PWM.

But for this to work, I need to enable the below line in uEnv.txt

cmdline=coherent_pool=1M net.ifnames=0 quiet cape_universal=enable

But enabling this line will make my other applications(including UARTs, I2Cs) not working.

Any way to make all things working?

Thanks & Regards,
Sajeevan.K
Reply all
Reply to author
Forward
0 new messages