diff options
author | Luc Michel | 2020-10-10 15:57:56 +0200 |
---|---|---|
committer | Peter Maydell | 2020-10-27 12:10:44 +0100 |
commit | 502960ca04c15cc7e24f3e8f9e0d8070bc3d77d7 (patch) | |
tree | db3f113ffa05bf1b95d691fa67c1d1eebf805dc0 /include/hw/misc/bcm2835_cprman.h | |
parent | hw/misc/bcm2835_cprman: implement clock mux behaviour (diff) | |
download | qemu-502960ca04c15cc7e24f3e8f9e0d8070bc3d77d7.tar.gz qemu-502960ca04c15cc7e24f3e8f9e0d8070bc3d77d7.tar.xz qemu-502960ca04c15cc7e24f3e8f9e0d8070bc3d77d7.zip |
hw/misc/bcm2835_cprman: add the DSI0HSCK multiplexer
This simple mux sits between the PLL channels and the DSI0E and DSI0P
clock muxes. This mux selects between PLLA-DSI0 and PLLD-DSI0 channel
and outputs the selected signal to source number 4 of DSI0E/P clock
muxes. It is controlled by the cm_dsi0hsck register.
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')
-rw-r--r-- | include/hw/misc/bcm2835_cprman.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/hw/misc/bcm2835_cprman.h b/include/hw/misc/bcm2835_cprman.h index 0fc8f68845..3df4ceedd2 100644 --- a/include/hw/misc/bcm2835_cprman.h +++ b/include/hw/misc/bcm2835_cprman.h @@ -174,6 +174,20 @@ typedef struct CprmanClockMuxState { struct CprmanClockMuxState *backref[CPRMAN_NUM_CLOCK_MUX_SRC]; } CprmanClockMuxState; +typedef struct CprmanDsi0HsckMuxState { + /*< private >*/ + DeviceState parent_obj; + + /*< public >*/ + CprmanClockMux id; + + uint32_t *reg_cm; + + Clock *plla_in; + Clock *plld_in; + Clock *out; +} CprmanDsi0HsckMuxState; + struct BCM2835CprmanState { /*< private >*/ SysBusDevice parent_obj; @@ -184,6 +198,7 @@ struct BCM2835CprmanState { CprmanPllState plls[CPRMAN_NUM_PLL]; CprmanPllChannelState channels[CPRMAN_NUM_PLL_CHANNEL]; CprmanClockMuxState clock_muxes[CPRMAN_NUM_CLOCK_MUX]; + CprmanDsi0HsckMuxState dsi0hsck_mux; uint32_t regs[CPRMAN_NUM_REGS]; uint32_t xosc_freq; |