From: Peter Maydell <peter.maydell@linaro.org> To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: "Damien Hedde" <damien.hedde@greensocs.com>, "Luc Michel" <luc@lmichel.fr>, "Philippe Mathieu-Daudé" <f4bug@amsat.org> Subject: [PATCH 14/25] hw/arm/mps2-tz: Create and connect ARMSSE Clocks Date: Thu, 21 Jan 2021 19:06:11 +0000 Message-ID: <20210121190622.22000-15-peter.maydell@linaro.org> (raw) In-Reply-To: <20210121190622.22000-1-peter.maydell@linaro.org> Create and connect the two clocks needed by the ARMSSE. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/arm/mps2-tz.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c index 6a9eed9022a..7acdf490f28 100644 --- a/hw/arm/mps2-tz.c +++ b/hw/arm/mps2-tz.c @@ -62,6 +62,7 @@ #include "hw/net/lan9118.h" #include "net/net.h" #include "hw/core/split-irq.h" +#include "hw/qdev-clock.h" #include "qom/object.h" #define MPS2TZ_NUMIRQ 92 @@ -100,6 +101,8 @@ struct MPS2TZMachineState { qemu_or_irq uart_irq_orgate; DeviceState *lan9118; SplitIRQ cpu_irq_splitter[MPS2TZ_NUMIRQ]; + Clock *sysclk; + Clock *s32kclk; }; #define TYPE_MPS2TZ_MACHINE "mps2tz" @@ -110,6 +113,8 @@ OBJECT_DECLARE_TYPE(MPS2TZMachineState, MPS2TZMachineClass, MPS2TZ_MACHINE) /* Main SYSCLK frequency in Hz */ #define SYSCLK_FRQ 20000000 +/* Slow 32Khz S32KCLK frequency in Hz */ +#define S32KCLK_FRQ (32 * 1000) /* Create an alias of an entire original MemoryRegion @orig * located at @base in the memory map. @@ -396,6 +401,12 @@ static void mps2tz_common_init(MachineState *machine) exit(EXIT_FAILURE); } + /* These clocks don't need migration because they are fixed-frequency */ + mms->sysclk = clock_new(OBJECT(machine), "SYSCLK"); + clock_set_hz(mms->sysclk, SYSCLK_FRQ); + mms->s32kclk = clock_new(OBJECT(machine), "S32KCLK"); + clock_set_hz(mms->s32kclk, S32KCLK_FRQ); + object_initialize_child(OBJECT(machine), TYPE_IOTKIT, &mms->iotkit, mmc->armsse_type); iotkitdev = DEVICE(&mms->iotkit); @@ -403,6 +414,8 @@ static void mps2tz_common_init(MachineState *machine) OBJECT(system_memory), &error_abort); qdev_prop_set_uint32(iotkitdev, "EXP_NUMIRQ", MPS2TZ_NUMIRQ); qdev_prop_set_uint32(iotkitdev, "MAINCLK_FRQ", SYSCLK_FRQ); + qdev_connect_clock_in(iotkitdev, "MAINCLK", mms->sysclk); + qdev_connect_clock_in(iotkitdev, "S32KCLK", mms->s32kclk); sysbus_realize(SYS_BUS_DEVICE(&mms->iotkit), &error_fatal); /* -- 2.20.1
next prev parent reply index Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-21 19:05 [PATCH 00/25] Convert CMSDK timer, watchdog, dualtimer to Clock framework Peter Maydell 2021-01-21 19:05 ` [PATCH 01/25] ptimer: Add new ptimer_set_period_from_clock() function Peter Maydell 2021-01-22 14:08 ` Luc Michel 2021-01-21 19:05 ` [PATCH 02/25] clock: Add new clock_has_source() function Peter Maydell 2021-01-22 14:15 ` Luc Michel 2021-01-27 21:56 ` Philippe Mathieu-Daudé 2021-01-21 19:06 ` [PATCH 03/25] tests: Add a simple test of the CMSDK APB timer Peter Maydell 2021-01-21 19:56 ` Philippe Mathieu-Daudé 2021-01-24 12:50 ` Luc Michel 2021-01-21 19:06 ` [PATCH 04/25] tests: Add a simple test of the CMSDK APB watchdog Peter Maydell 2021-01-24 13:10 ` Luc Michel 2021-01-27 21:54 ` Philippe Mathieu-Daudé 2021-01-21 19:06 ` [PATCH 05/25] tests: Add a simple test of the CMSDK APB dual timer Peter Maydell 2021-01-24 13:24 ` Luc Michel 2021-01-21 19:06 ` [PATCH 06/25] hw/timer/cmsdk-apb-timer: Rename CMSDKAPBTIMER struct to CMSDKAPBTimer Peter Maydell 2021-01-21 20:21 ` Philippe Mathieu-Daudé 2021-01-22 14:22 ` Luc Michel 2021-01-21 19:06 ` [PATCH 07/25] hw/timer/cmsdk-apb-timer: Add Clock input Peter Maydell 2021-01-21 20:22 ` Philippe Mathieu-Daudé 2021-01-22 15:11 ` Luc Michel 2021-01-21 19:06 ` [PATCH 08/25] hw/timer/cmsdk-apb-dualtimer: " Peter Maydell 2021-01-21 21:49 ` Philippe Mathieu-Daudé 2021-01-22 15:17 ` Luc Michel 2021-01-21 19:06 ` [PATCH 09/25] hw/watchdog/cmsdk-apb-watchdog: " Peter Maydell 2021-01-21 20:27 ` Philippe Mathieu-Daudé 2021-01-22 15:18 ` Luc Michel 2021-01-21 19:06 ` [PATCH 10/25] hw/arm/armsse: Rename "MAINCLK" property to "MAINCLK_FRQ" Peter Maydell 2021-01-21 20:28 ` Philippe Mathieu-Daudé 2021-01-22 15:22 ` Luc Michel 2021-01-21 19:06 ` [PATCH 11/25] hw/arm/armsse: Wire up clocks Peter Maydell 2021-01-21 20:30 ` Philippe Mathieu-Daudé 2021-01-22 15:34 ` Luc Michel 2021-01-21 19:06 ` [PATCH 12/25] hw/arm/mps2: Inline CMSDK_APB_TIMER creation Peter Maydell 2021-01-21 22:14 ` Philippe Mathieu-Daudé 2021-01-22 15:33 ` Luc Michel 2021-01-21 19:06 ` [PATCH 13/25] hw/arm/mps2: Create and connect SYSCLK Clock Peter Maydell 2021-01-21 21:24 ` Philippe Mathieu-Daudé 2021-01-22 19:52 ` Luc Michel 2021-01-21 19:06 ` Peter Maydell [this message] 2021-01-21 21:30 ` [PATCH 14/25] hw/arm/mps2-tz: Create and connect ARMSSE Clocks Philippe Mathieu-Daudé 2021-01-22 19:52 ` Luc Michel 2021-01-21 19:06 ` [PATCH 15/25] hw/arm/musca: " Peter Maydell 2021-01-21 21:30 ` Philippe Mathieu-Daudé 2021-01-22 20:01 ` Luc Michel 2021-01-21 19:06 ` [PATCH 16/25] hw/arm/stellaris: Convert SSYS to QOM device Peter Maydell 2021-01-21 22:13 ` Philippe Mathieu-Daudé 2021-01-25 11:48 ` Peter Maydell 2021-01-27 22:10 ` Philippe Mathieu-Daudé 2021-01-22 20:26 ` Luc Michel 2021-01-21 19:06 ` [PATCH 17/25] hw/arm/stellaris: Create Clock input for watchdog Peter Maydell 2021-01-21 21:59 ` Philippe Mathieu-Daudé 2021-01-27 22:16 ` Philippe Mathieu-Daudé 2021-01-22 20:30 ` Luc Michel 2021-01-21 19:06 ` [PATCH 18/25] hw/timer/cmsdk-apb-timer: Convert to use Clock input Peter Maydell 2021-01-21 22:01 ` Philippe Mathieu-Daudé 2021-01-22 20:33 ` Luc Michel 2021-01-21 19:06 ` [PATCH 19/25] hw/timer/cmsdk-apb-dualtimer: " Peter Maydell 2021-01-22 20:49 ` Luc Michel 2021-01-22 21:41 ` Peter Maydell 2021-01-23 19:58 ` Luc Michel 2021-01-27 22:00 ` Philippe Mathieu-Daudé 2021-01-21 19:06 ` [PATCH 20/25] hw/watchdog/cmsdk-apb-watchdog: " Peter Maydell 2021-01-21 22:01 ` Philippe Mathieu-Daudé 2021-01-22 20:51 ` Luc Michel 2021-01-21 19:06 ` [PATCH 21/25] tests/qtest/cmsdk-apb-watchdog-test: Test clock changes Peter Maydell 2021-01-21 22:04 ` Philippe Mathieu-Daudé 2021-01-24 13:35 ` Luc Michel 2021-01-21 19:06 ` [PATCH 22/25] hw/arm/armsse: Use Clock to set system_clock_scale Peter Maydell 2021-01-21 22:05 ` Philippe Mathieu-Daudé 2021-01-23 20:31 ` Luc Michel 2021-01-23 22:33 ` Peter Maydell 2021-01-21 19:06 ` [PATCH 23/25] arm: Don't set freq properties on CMSDK timer, dualtimer, watchdog, ARMSSE Peter Maydell 2021-01-21 22:06 ` Philippe Mathieu-Daudé 2021-01-23 20:32 ` Luc Michel 2021-01-21 19:06 ` [PATCH 24/25] arm: Remove frq " Peter Maydell 2021-01-21 22:09 ` Philippe Mathieu-Daudé 2021-01-23 20:33 ` Luc Michel 2021-01-21 19:06 ` [PATCH 25/25] hw/arm/stellaris: Remove board-creation reset of STELLARIS_SYS Peter Maydell 2021-01-23 20:33 ` Luc Michel 2021-01-27 22:10 ` Philippe Mathieu-Daudé
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210121190622.22000-15-peter.maydell@linaro.org \ --to=peter.maydell@linaro.org \ --cc=damien.hedde@greensocs.com \ --cc=f4bug@amsat.org \ --cc=luc@lmichel.fr \ --cc=qemu-arm@nongnu.org \ --cc=qemu-devel@nongnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
QEMU-Devel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git git clone --mirror https://lore.kernel.org/qemu-devel/2 qemu-devel/git/2.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \ qemu-devel@nongnu.org public-inbox-index qemu-devel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git