]> git.proxmox.com Git - mirror_qemu.git/commit
hw/misc/bcm2835_cprman: add a PLL channel skeleton implementation
authorLuc Michel <luc@lmichel.fr>
Sat, 10 Oct 2020 13:57:52 +0000 (15:57 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 27 Oct 2020 11:10:44 +0000 (11:10 +0000)
commit09d56bbc9bc2f40865764b06b9830a9504bd3f9a
tree6c4e54d7aa28d71065dba046496f78005543032c
parent6d2b874cf1a6f595df805835325e9124c26f3dbf
hw/misc/bcm2835_cprman: add a PLL channel skeleton implementation

PLLs are composed of multiple channels. Each channel outputs one clock
signal. They are modeled as one device taking the PLL generated clock as
input, and outputting a new clock.

A channel shares the CM register with its parent PLL, and has its own
A2W_CTRL register. A write to the CM register will trigger an update of
the PLL and all its channels, while a write to an A2W_CTRL channel
register will update the required channel only.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Luc Michel <luc@lmichel.fr>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/misc/bcm2835_cprman.c
include/hw/misc/bcm2835_cprman.h
include/hw/misc/bcm2835_cprman_internals.h