summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorJonathon Hall <jonathon.hall@puri.sm>2023-05-01 13:42:46 -0400
committerMatt DeVillier <matt.devillier@gmail.com>2023-05-08 17:51:08 +0000
commit78f8343c70551bdb8f2cc3716aed9f339a85530b (patch)
treef99255176b959296f071e4db04585d6dbc713dae /src/drivers
parente12b313844da92ff91dd0ff47a85c2fd0789a475 (diff)
drivers/pc80/rtc/mc146818rtc.c: Add Kconfig for RTC CMOS base addresses
Configure the CMOS bank I/O base addresses with PC_CMOS_BASE_PORT_BANK* rather than hard-coding as 0x70, 0x72. The defaults remain the same. Change-Id: Ie44e5f5191c66f44e2df8ea0ff58a860be88bfcf Signed-off-by: Jonathon Hall <jonathon.hall@puri.sm> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74903 Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/pc80/rtc/Kconfig8
-rw-r--r--src/drivers/pc80/rtc/mc146818rtc.c8
2 files changed, 12 insertions, 4 deletions
diff --git a/src/drivers/pc80/rtc/Kconfig b/src/drivers/pc80/rtc/Kconfig
index 0d064571e6..7a1c398d5c 100644
--- a/src/drivers/pc80/rtc/Kconfig
+++ b/src/drivers/pc80/rtc/Kconfig
@@ -9,3 +9,11 @@ config USE_PC_CMOS_ALTCENTURY
depends on DRIVERS_MC146818
help
May be useful for legacy OSes that assume its presence.
+
+config PC_CMOS_BASE_PORT_BANK0
+ hex "Base port for CMOS bank 0 index/data registers"
+ default 0x70
+
+config PC_CMOS_BASE_PORT_BANK1
+ hex "Base port for CMOS bank 1 index/data registers"
+ default 0x72
diff --git a/src/drivers/pc80/rtc/mc146818rtc.c b/src/drivers/pc80/rtc/mc146818rtc.c
index f45a3a0d21..6474ecbd1a 100644
--- a/src/drivers/pc80/rtc/mc146818rtc.c
+++ b/src/drivers/pc80/rtc/mc146818rtc.c
@@ -249,11 +249,11 @@ void set_boot_successful(void)
{
uint8_t index, byte;
- index = inb(RTC_PORT(0)) & 0x80;
+ index = inb(RTC_PORT_BANK0(0)) & 0x80;
index |= RTC_BOOT_BYTE;
- outb(index, RTC_PORT(0));
+ outb(index, RTC_PORT_BANK0(0));
- byte = inb(RTC_PORT(1));
+ byte = inb(RTC_PORT_BANK0(1));
if (CONFIG(SKIP_MAX_REBOOT_CNT_CLEAR)) {
/*
@@ -269,5 +269,5 @@ void set_boot_successful(void)
byte &= 0x0f;
}
- outb(byte, RTC_PORT(1));
+ outb(byte, RTC_PORT_BANK0(1));
}