Browse Source

malta: enable RTC support

This is actually required in order for a Linux kernel to boot
successfully on a physical Malta board. Without enabling the RTC, a
Malta Linux kernel will get stuck in its estimate_frequencies function
on boot.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Paul Burton 11 years ago
parent
commit
3ced12a06b
3 changed files with 14 additions and 1 deletions
  1. 8 0
      board/imgtec/malta/malta.c
  2. 1 1
      drivers/rtc/mc146818.c
  3. 5 0
      include/configs/malta.h

+ 8 - 0
board/imgtec/malta/malta.c

@@ -9,6 +9,7 @@
 #include <netdev.h>
 #include <pci_gt64120.h>
 #include <pci_msc01.h>
+#include <rtc.h>
 #include <serial.h>
 
 #include <asm/addrspace.h>
@@ -147,6 +148,13 @@ int board_early_init_f(void)
 	return 0;
 }
 
+int misc_init_r(void)
+{
+	rtc_reset();
+
+	return 0;
+}
+
 struct serial_device *default_serial_console(void)
 {
 	switch (malta_sys_con()) {

+ 1 - 1
drivers/rtc/mc146818.c

@@ -15,7 +15,7 @@
 #include <command.h>
 #include <rtc.h>
 
-#ifdef __I386__
+#if defined(__I386__) || defined(CONFIG_MALTA)
 #include <asm/io.h>
 #define in8(p) inb(p)
 #define out8(p, v) outb(v, p)

+ 5 - 0
include/configs/malta.h

@@ -23,6 +23,10 @@
 #define CONFIG_PCNET_79C973
 #define PCNET_HAS_PROM
 
+#define CONFIG_MISC_INIT_R
+#define CONFIG_RTC_MC146818
+#define CONFIG_SYS_ISA_IO_BASE_ADDRESS	0
+
 /*
  * CPU Configuration
  */
@@ -105,6 +109,7 @@
 #undef CONFIG_CMD_LOADS
 #undef CONFIG_CMD_NFS
 
+#define CONFIG_CMD_DATE
 #define CONFIG_CMD_DHCP
 #define CONFIG_CMD_PCI
 #define CONFIG_CMD_PING