Enabling TIMER4 for output


I’m trying to figure out how to use one of the TIMER pins to provide a clocking signal to an external device and I’m having some trouble. The default 24khz will do just fine for now, but eventually I may want to be able to change the frequency in the future.

I’m using an image build from the Yocto Dora repo, with the meta-ti layer providing the kernel (3.12). I’ve successfully customized the devicetree for some other devices I’m using, and feel decent about (if not totally comfortable with) my devicetree-fu.

I’ve added the following bits to the am335x-boneblack.dts to try and enable TIMER4:

In the “am33xx_pinmux” section:

timer4_pins: pinmux_timer4_pins {
pinctrl-single,pins = <
0x90 0x12 /* gpmc_advn_ale as TIMER4, OUTPUT_PULLUP | MODE2 */


And below (not certain this is necessary or right, it was quite frankly, a shot in the dark):

&timer4_fck {
pinctrl-names = “default”;
pinctrl-0 = <&timer4_pins>;
status = “okay”;

I (sadly) don’t have a scope to put on the pin to verify that it’s not working, but when I look at the output from /sys/kernel/debug/clk/clk_summary I see the following (Note: I’ve trimmed unneccasry bits from after we hit TIMER4 in the tree):

root@beaglebone:/sys/kernel/debug/clk# more clk_summary
clock enable_cnt prepare_cnt rate