Port-arm archive

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

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



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.

Before:
# sysctl machdep.frequency.current 
machdep.frequency.current = 550
# envstat
                      Current  CritMax  WarnMax  WarnMin  CritMin  Unit
[tps65217pmic0]
              LDO1:     1.800                                         V
              LDO2:     3.300                                         V
              LDO3:     1.800                                         V
              LDO4:     3.300                                         V
             DCDC1:     1.500                                         V
             DCDC2:     1.100                                         V
             DCDC3:     1.100                                         V
  USB power source:     FALSE
   AC power source:      TRUE
# time /usr/games/primes 1 4294967295 > /dev/null
      738.20 real       729.93 user         4.00 sys

After:
# sysctl machdep.frequency.current
machdep.frequency.current = 1000
# envstat
                      Current  CritMax  WarnMax  WarnMin  CritMin  Unit
[tps65217pmic0]
              LDO1:     1.800                                         V
              LDO2:     3.300                                         V
              LDO3:     1.800                                         V
              LDO4:     3.300                                         V
             DCDC1:     1.500                                         V
             DCDC2:     1.325                                         V
             DCDC3:     1.100                                         V
  USB power source:     FALSE
   AC power source:      TRUE
# time /usr/games/primes 1 4294967295 > /dev/null
      504.69 real       499.72 user         2.50 sys

I haven't got a place to put these for downloading currently but if anyone
wants either the binaries or the patches that finally worked I can send them
as email.

To test a new MLO from an SD card you need to hold down the BBB "Boot"
button while powering the board on; otherwise the ROM boot will always
prefer the eMMC MLO if it finds it.  If you haven't done this before it is
worth trying first with a known-working MLO on the SD card since I've found
that the chip bootstrap so far refuses to boot anything from a FAT partition
that I've newfs'd with NetBSD.  To avoid figuring out why this is (I only
have a theory at this point) I have been initializing the FAT boot partition
on SD cards by dd'ing a copy of the FAT partition from a BBB Linux "flasher"
image onto the new cards.  In any case if you can successfully boot a new MLO
from an SD card it should be safe to replace the eMMC card's version with it.

Dennis Ferguson


Home | Main Index | Thread Index | Old Index