From 4cede7176770d8ab810cc6753b3e3a18cd423f34 Mon Sep 17 00:00:00 2001 From: Libra Li Date: Wed, 25 Nov 2009 07:48:24 +0000 Subject: This patch is buzzer of TechNexion TIM-5690. Change EARLY_STAGE into __PRE_RAM__. Signed-off-by: Libra Li Acked-by: Zheng Bao git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4954 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/mainboard/technexion/tim5690/Config.lb | 1 + src/mainboard/technexion/tim5690/Makefile.inc | 2 ++ .../technexion/tim5690/cache_as_ram_auto.c | 7 +++++- src/mainboard/technexion/tim5690/mainboard.c | 7 ++++++ src/mainboard/technexion/tim5690/tn_post_code.c | 26 +++++++++++++++++++--- src/mainboard/technexion/tim5690/tn_post_code.h | 22 ++++++++++++++++-- 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 + * + * 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 #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 + * + * 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); -- cgit v1.2.3