On Tue, Jan 28, 2020 at 01:42:21PM +0100, Nicolas Saenz Julienne wrote: > I'm testing this by booting directly from RPi4's bootloader. And it > works as long as I add this to config.txt: > > enable_uart=1 > gpu_freq=500 > > Which AFAIK blocks frequency scalin on the GPU and fixes the clock to a > point where the serial is set at 115200 bauds. > > Ideally it'd be nice to be able to query the clock frequency, and > recalculate the divisors based on that. But I don't know if it's > feasible at that point in the boot process. Well, we don't even support adjusting the baudrate *after* the kernel has booted. The problem is that in mainline, bcm2835_defconfig contains: CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y Likewise in the Foundation's downstream tree, bcmrpi_defconfig as well as bcm2711_defconfig and bcm2709_defconfig contain: CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y In contrast to this, we set the following on Revolution Pi devices: CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y Downclocking influences not only the uart1 baud rate but also the spi0 clock. We attach Ethernet chips to spi0, throughput was significantly worse with the ondemand governor (which is what we used previously). We felt that maximum Ethernet performance outweighs the relatively small powersaving gains. Thanks, Lukas