summaryrefslogtreecommitdiffstats
path: root/include/hw/misc/bcm2835_cprman.h
diff options
context:
space:
mode:
authorLuc Michel2020-10-10 15:57:51 +0200
committerPeter Maydell2020-10-27 12:10:44 +0100
commit6d2b874cf1a6f595df805835325e9124c26f3dbf (patch)
tree9faf20be2ff086dbabf8a3f00bec418cc270dd9b /include/hw/misc/bcm2835_cprman.h
parenthw/misc/bcm2835_cprman: add a PLL skeleton implementation (diff)
downloadqemu-6d2b874cf1a6f595df805835325e9124c26f3dbf.tar.gz
qemu-6d2b874cf1a6f595df805835325e9124c26f3dbf.tar.xz
qemu-6d2b874cf1a6f595df805835325e9124c26f3dbf.zip
hw/misc/bcm2835_cprman: implement PLLs behaviour
The CPRMAN PLLs generate a clock based on a prescaler, a multiplier and a divider. The prescaler doubles the parent (xosc) frequency, then the multiplier/divider are applied. The multiplier has an integer and a fractional part. This commit also implements the CPRMAN CM_LOCK register. This register reports which PLL is currently locked. We consider a PLL has being locked as soon as it is enabled (on real hardware, there is a delay after turning a PLL on, for it to stabilize). 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>
Diffstat (limited to 'include/hw/misc/bcm2835_cprman.h')
0 files changed, 0 insertions, 0 deletions