The current config.txt allows one to change arm_freq, gpu_freq, core_freq, h264_freq, isp_freq, and v3d_freq. In addition, there is support for the kernel to change clocks on demand and based on thermal limits.
On the other hand, the hardware peripheral clock is described as:
The Raspberry Pi runs the BCM2835 with a core clock of 250MHz. This is relevant for the peripheral modules like I2C, SPI and Timer ( ARM side ) for calculating the desired clock rate.
Elsewhere, this is described as the Advanced Peripheral Bus (APB) clock, and references are made to APB clock domain.
Now, my questions are:
- Do any of the
config.txtsettings affect the APB clock used for SPI? - Does on demand
cpufreqchanging affect the APB clock used for SPI? - Is there a way to determine this clock from Linux userland, or should it be hardcoded to 250 MHz for all current and future Raspberry Pi's?