TL;DR: the following is a simple summary of the issue:
Amlogic SoCs contain an own embedded microcontroller (Cortex-M3) used for controlling power and clocks
A proprietary and closed source firmware is loaded on the M3 at boot. This stuff is contained in the bl30.bin blob we have to include
This firmware controls the real clockspeeds, ignores what the cpufreq framework running in the Linux kernel wants and even reports back bogus clockspeeds (the kernel wants to set 15