MarvellEmbeddedProcessors / u-boot-marvell

Marvell PBU U-Boot
Other
64 stars 73 forks source link

Code for Armada 3700 is inconsistent for the different u-boot versions #21

Open FlashBurnGitHub opened 5 years ago

FlashBurnGitHub commented 5 years ago

As I´m trying to find out why the cpu scaling code in the Linux kernel does not work, I had a quick look at the u-boot sources here for the file:

arch/arm/mach-mvebu/armada3700/clock.c

The source are inconsistent for the different u-boot masters (uboot-2018.03, uboot-2017.03).

So which code is the right one? It starts with that in 2017.03 it is said that the L2 clock is the same as the cpu clock, but in 2018.03 it is back to the old code.

Is this an error and which code is the right one?

BenjKeiser commented 4 years ago

Not sure if it is correct, but also concerning the configuration the u-boot is inconsistent for the a3700. I am looking for fuse support in u-boot to verify the trusted boot. According to the documentation (u-boot-2018.03-armada-18.12/doc/mvebu/trusted_boot.txt): A3700 platforms

Command Location:
    -> Command line interface
        -> MVEBU commands
            -> efuse
Driver Location:
    -> ARM architecture
        -> MVEBU Common SoC Utilities
            -> eFuse support

I was unable to find these settings in 18.12, however it was present in 17.10. When checking the history for the appropriate files, it becomes clear that fuse support was not integrated in 18.12.

pali commented 3 years ago

As I´m trying to find out why the cpu scaling code in the Linux kernel does not work

It is because of bugs in kernel driver and seems that also because of the the CPU voltage HW bugs. See details in patch series which fixes these issues: https://lore.kernel.org/linux-arm-kernel/20210114124032.12765-1-pali@kernel.org/