Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: BeagleBone Black 1 GHz MPU frequency from MLO/u-boot.img bootstrap



On Sep 10, 2013, at 3:19, Manuel Bouyer <bouyer%antioche.eu.org@localhost> 
wrote:

> On Mon, Sep 09, 2013 at 07:55:14PM -0400, Dennis Ferguson wrote:
>> I noticed that the U-Boot patch queue had patches to support discovering
>> the maximum MPU frequency for AM335x evb and processor variants and
>> setting the hardware clock to match, so I fetched these, applied them to the
>> current U-Boot source tree and worked through compiling that on NetBSD.  I
>> now have an MLO/u-boot.img pair which will boot a BeagleBone Black into the
>> kernel with the processor running at 1 GHz.  It works on all the boards I
>> have.
> 
> Can't we already change the frequency from NetBSD once booted ?

We can change the frequency, but the chip data sheet specifies a different MPU 
core
voltage requirement for each operating frequency and we can't change the 
voltage.
The PMIC driver needs to provide an interface to allow the kernel to write to 
the chip
rather than just reading from it.  Without this, changing the chip frequency at 
all
violates the specified operating conditions.  My boards all hang when increased 
to
1000 MHz, and are unreliable at 900, with the current code.

With the boot change the board is now in-spec at 1 GHz but would be out-of-spec 
if the
frequency is decreased.  You can still decrease the frequency if you want but 
the chip
may run hotter than necessary (which is an improvement over a hang).  As most 
people
with a BBB won't have a reason to want to run at anything other than 1GHz in 
any case
this seems like an improvement.

I also have another reason for wanting this.  I want to use the CPU cycle 
counter as
a system clock source, but to make this reliable I'd like a boot option to 
disable
CPU frequency changes so that the clock is only configured when the CPU is 
running
at it's desired frequency and there's no chance someone will want to change its 
rate
after that.  Having the CPU come out of the bootstrap already running at the 
frequency
most people will want makes the normal case easy, and having the MPU voltage 
high
out of the bootstrap makes a second boot option to set the operating frequency 
to
something else early in the boot possible, on the off chance someone wants that.
You can decrease the operating frequency immediately but defer the accompanying
voltage decrease (until after the PMIC driver configures) but you can't safely 
increase
the frequency without increasing the voltage first.

For the BBB having the processor come out of the bootstrap running at its 
maximum
frequency and operating voltage hence seems like the best arrangement even if 
you
can change that frequency later.

Dennis Ferguson


Home | Main Index | Thread Index | Old Index