Kaynağa Gözat

ARM: qemu-arm: enable RTC

QEMU provides an emulated ARM AMBA PrimeCell PL031 RTC.

The patch sets the base address in the board include file according to the
definition in hw/arm/virt.c of the QEMU source. It defines the Kconfig
option for the existing driver, and enables the RTC driver in
qemu_arm64_defconfig and qemu_arm_defconfig as well as the date command.

We need an RTC to provide the GetTime() runtime service in the UEFI
subsystem.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Tested-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Heinrich Schuchardt 5 yıl önce
ebeveyn
işleme
b19886b946

+ 2 - 0
configs/qemu_arm64_defconfig

@@ -9,6 +9,7 @@ CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_DATE=y
 CONFIG_OF_BOARD=y
 CONFIG_SCSI_AHCI=y
 CONFIG_AHCI_PCI=y
@@ -20,6 +21,7 @@ CONFIG_NVME=y
 CONFIG_PCI=y
 CONFIG_DM_PCI=y
 CONFIG_PCIE_ECAM_GENERIC=y
+CONFIG_RTC_PL031=y
 CONFIG_SCSI=y
 CONFIG_DM_SCSI=y
 CONFIG_SYSRESET=y

+ 2 - 0
configs/qemu_arm_defconfig

@@ -9,6 +9,7 @@ CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_DATE=y
 CONFIG_OF_BOARD=y
 CONFIG_SCSI_AHCI=y
 CONFIG_AHCI_PCI=y
@@ -20,6 +21,7 @@ CONFIG_NVME=y
 CONFIG_PCI=y
 CONFIG_DM_PCI=y
 CONFIG_PCIE_ECAM_GENERIC=y
+CONFIG_RTC_PL031=y
 CONFIG_SCSI=y
 CONFIG_DM_SCSI=y
 CONFIG_SYSRESET=y

+ 7 - 0
drivers/rtc/Kconfig

@@ -48,6 +48,13 @@ config RTC_RX8010SJ
 	help
 	  Support for Epson RX8010SJ Real Time Clock devices.
 
+config RTC_PL031
+	bool "Enable ARM AMBA PL031 RTC driver"
+	help
+	  The ARM PrimeCell Real Time Clock (PL031) is an optional SoC
+	  peripheral based on the Advanced Microcontroller Bus Architecture
+	  (AMBA). It is emulated in QEMU virtual ARM machines.
+
 config RTC_MV
 	bool "Enable Marvell RTC driver"
 	depends on DM_RTC

+ 3 - 0
include/configs/qemu-arm.h

@@ -24,6 +24,9 @@
 /* For block devices, QEMU emulates an ICH9 AHCI controller over PCI */
 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 6
 
+/* QEMU emulates the ARM AMBA PL031 RTC */
+#define CONFIG_SYS_RTC_PL031_BASE	0x09010000
+
 /* Environment options */
 #define CONFIG_ENV_SIZE				SZ_64K