How to set clock in the Beagle bone Black

Hello everyone,

Hello all,

My target is to communicate the two Beagle bone Black via CAN bus. I have to code in C language.
As there are two clocks: Interface clock and Functional clock in the PRCM module. And in functional clock there are various registers to enable the CLKCTRL pins for the particular module like CM_PER_GPIO1_CLKCTRL, CM_PER_GPIO2_CLKCTRL, CM_PER_DCAN1_CLKCTRL etc.

in the User Manual, Interface clock at 100 MHz and Functional clock at 26 MHz given. How can i set these frequency ?

How to set the basic clock of the Beagle bone Black ? Is there any calculation to set the clock ?

Please advise, thanks in advance

  1. First Find the entire clocking system block diagram and understand how this feeds your subsystem(not easy but required)
  2. Find some C code in starterware that sets these registers and look at comments and values used in example.After you understand what they are doing adjust your values and measure your results.
    3)If you can’t do that say a prayer and Google for a spreadsheet on TI website that calculates this.
    4)If you can’t do any of above rephrase your question exactly what your system clock is and what registers you are trying to calculate and say 3 prayers someone has time to do this or has done this recently and did all the work you don’t want to do and answers the question. The code is out there you just need to dig very hard and spend the time understanding how this is done I’ve done it its not fun but essential to doing any low level embedded software programming.
    Good Luck