summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibra Li <libra.li@technexion.com>2009-11-25 07:48:24 +0000
committerZheng Bao <Zheng.Bao@amd.com>2009-11-25 07:48:24 +0000
commit4cede7176770d8ab810cc6753b3e3a18cd423f34 (patch)
treec167e6c8a475e441d6f47acaed1c093bbcf7c1a2
parent46c920e13ac83513897bed1bc27529ff2cdbb436 (diff)
This patch is buzzer of TechNexion TIM-5690.
Change EARLY_STAGE into __PRE_RAM__. Signed-off-by: Libra Li <libra.li@technexion.com> Acked-by: Zheng Bao <zheng.bao@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4954 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--src/mainboard/technexion/tim5690/Config.lb1
-rw-r--r--src/mainboard/technexion/tim5690/Makefile.inc2
-rw-r--r--src/mainboard/technexion/tim5690/cache_as_ram_auto.c7
-rw-r--r--src/mainboard/technexion/tim5690/mainboard.c7
-rw-r--r--src/mainboard/technexion/tim5690/tn_post_code.c26
-rw-r--r--src/mainboard/technexion/tim5690/tn_post_code.h22
6 files changed, 59 insertions, 6 deletions
diff --git a/src/mainboard/technexion/tim5690/Config.lb b/src/mainboard/technexion/tim5690/Config.lb
index 59ca5ef1d4..53f8128c5e 100644
--- a/src/mainboard/technexion/tim5690/Config.lb
+++ b/src/mainboard/technexion/tim5690/Config.lb
@@ -31,6 +31,7 @@ arch i386 end
driver mainboard.o
object tn_post_code.o
+object speaker.o
#dir /drivers/si/3114
diff --git a/src/mainboard/technexion/tim5690/Makefile.inc b/src/mainboard/technexion/tim5690/Makefile.inc
index 0488bc7c4a..8304126780 100644
--- a/src/mainboard/technexion/tim5690/Makefile.inc
+++ b/src/mainboard/technexion/tim5690/Makefile.inc
@@ -32,6 +32,8 @@ obj-$(CONFIG_GENERATE_ACPI_TABLES) += fadt.o
# This is debug message for products of Technexion.
obj-y += tn_post_code.o
+obj-y += speaker.o
+
# This is part of the conversion to init-obj and away from included code.
initobj-y += crt0.o
diff --git a/src/mainboard/technexion/tim5690/cache_as_ram_auto.c b/src/mainboard/technexion/tim5690/cache_as_ram_auto.c
index 9a8fccf3eb..0e1fbb1b40 100644
--- a/src/mainboard/technexion/tim5690/cache_as_ram_auto.c
+++ b/src/mainboard/technexion/tim5690/cache_as_ram_auto.c
@@ -100,8 +100,8 @@ static inline int spd_read_byte(u32 device, u32 address)
#include "cpu/amd/model_fxx/fidvid.c"
-#define TECHNEXION_EARLY_SETUP
#include "tn_post_code.c"
+#include "speaker.c"
#if CONFIG_USE_FALLBACK_IMAGE == 1
@@ -249,6 +249,9 @@ void real_main(unsigned long bist, unsigned long cpu_init_detectedx)
soft_reset();
}
+ speaker_init(255);
+ speaker_on_nodelay();
+
allow_all_aps_stop(bsp_apicid);
/* It's the time to set ctrl now; */
@@ -261,6 +264,8 @@ void real_main(unsigned long bist, unsigned long cpu_init_detectedx)
sdram_initialize(sysinfo->nodes, sysinfo->ctrl, sysinfo);
+ speaker_off_nodelay();
+
rs690_before_pci_init();
sb600_before_pci_init();
diff --git a/src/mainboard/technexion/tim5690/mainboard.c b/src/mainboard/technexion/tim5690/mainboard.c
index 85b7428f43..ec819cb815 100644
--- a/src/mainboard/technexion/tim5690/mainboard.c
+++ b/src/mainboard/technexion/tim5690/mainboard.c
@@ -28,6 +28,7 @@
#include <../southbridge/amd/sb600/sb600.h>
#include "chip.h"
#include "tn_post_code.h"
+//#include "speaker.h" // test buzzer
#define ADT7461_ADDRESS 0x4C
#define ARA_ADDRESS 0x0C /* Alert Response Address */
@@ -184,6 +185,12 @@ int add_mainboard_resources(struct lb_memory *mem)
uma_memory_base, uma_memory_size);
#endif
technexion_post_code(LED_MESSAGE_FINISH);
+ // test buzzer
+ //speaker_on_delay();
+ //speaker_off_delay();
+ //speaker_on_delay();
+ //speaker_off_nodelay();
+
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/technexion/tim5690/tn_post_code.c b/src/mainboard/technexion/tim5690/tn_post_code.c
index 5780eb4094..4605976435 100644
--- a/src/mainboard/technexion/tim5690/tn_post_code.c
+++ b/src/mainboard/technexion/tim5690/tn_post_code.c
@@ -1,5 +1,25 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Libra Li <libra.li@technexion.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
-#ifdef TECHNEXION_EARLY_SETUP
+#ifdef __PRE_RAM__
#include <arch/cpu.h>
#include "southbridge/amd/sb600/sb600.h"
@@ -14,7 +34,7 @@
#include "tn_post_code.h"
-#ifdef TECHNEXION_EARLY_SETUP
+#ifdef __PRE_RAM__
// TechNexion's Post Code Initially.
void technexion_post_code_init(void)
@@ -116,7 +136,7 @@ void technexion_post_code(uint8_t udata8)
device_t dev=0;
// SMBus Module and ACPI Block (Device 20, Function 0)
-#ifdef TECHNEXION_EARLY_SETUP
+#ifdef __PRE_RAM__
dev = pci_locate_device(PCI_ID(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SB600_SM), 0);
#else
dev = dev_find_device(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SB600_SM, 0);
diff --git a/src/mainboard/technexion/tim5690/tn_post_code.h b/src/mainboard/technexion/tim5690/tn_post_code.h
index 105c20e80b..80bd62599f 100644
--- a/src/mainboard/technexion/tim5690/tn_post_code.h
+++ b/src/mainboard/technexion/tim5690/tn_post_code.h
@@ -1,11 +1,29 @@
-
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2009 Libra Li <libra.li@technexion.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
#define LED_MESSAGE_START 0xFF
#define LED_MESSAGE_FINISH 0x99
#define LED_MESSAGE_RAM 0x01
-#ifdef TECHNEXION_EARLY_SETUP
+#ifdef __PRE_RAM__
// TechNexion's Post Code Initially.
void technexion_post_code_init(void);