AMD southbridges: Move HAVE_HARD_RESET
All 3 boards with AGESA_HUDSON had HAVE_HARD_RESET with the reset.c file already placed under southbridge/. All 15 boards with CIMX_SBx00 had HAVE_HARD_RESET with functionally identical reset.c file under mainboard/. Move those files under respective southbridge/. Change-Id: Icfda51527ee62e578067a7fc9dcf60bc9860b269 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/3486 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Marc Jones <marc.jones@se-eng.com>
This commit is contained in:
parent
d715105d30
commit
56892fc475
|
@ -15,7 +15,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select SB_SUPERIO_HWM
|
||||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
romstage-y += reset.c
|
||||
ramstage-y += reset.c
|
||||
|
||||
#SB800 CIMx share AGESA V5 lib code
|
||||
ifneq ($(CONFIG_CPU_AMD_AGESA),y)
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes, htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for (i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
|
@ -36,7 +36,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select HAVE_ACPI_TABLES
|
||||
#TODO select HAVE_ACPI_RESUME
|
||||
select ENABLE_APIC_EXT_ID
|
||||
|
|
|
@ -29,7 +29,6 @@ ramstage-y += BiosCallOuts.c
|
|||
ramstage-y += sb700_cfg.c
|
||||
ramstage-y += rd890_cfg.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
||||
AGESA_PREFIX ?= $(src)/vendorcode/amd/agesa
|
||||
AGESA_ROOT ?= $(AGESA_PREFIX)/$(if $(CONFIG_CPU_AMD_AGESA_FAMILY15),f15,\
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2012 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -30,7 +30,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -34,5 +34,4 @@ ramstage-y += agesawrapper.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
ramstage-y += broadcom.c
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -30,7 +30,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_ACPI_RESUME
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -31,7 +31,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_ACPI_RESUME
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -34,5 +34,4 @@ ramstage-y += agesawrapper.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -30,7 +30,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -27,5 +27,4 @@ ramstage-y += agesawrapper.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -30,7 +30,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_ACPI_RESUME
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -32,7 +32,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -44,4 +44,3 @@ ramstage-y += dimmSpd.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -29,7 +29,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -27,5 +27,4 @@ ramstage-y += agesawrapper.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -31,7 +31,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -27,5 +27,4 @@ ramstage-y += agesawrapper.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -31,7 +31,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_ACPI_RESUME
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -13,7 +13,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select SUPERIO_ITE_IT8721F
|
||||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
romstage-y += reset.c
|
||||
ramstage-y += reset.c
|
||||
|
||||
#SB800 CIMx share AGESA V5 lib code
|
||||
ifneq ($(CONFIG_CPU_AMD_AGESA),y)
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes, htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for (i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
|
@ -15,7 +15,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
select SB_SUPERIO_HWM
|
||||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
romstage-y += reset.c
|
||||
ramstage-y += reset.c
|
||||
|
||||
#SB800 CIMx share AGESA V5 lib code
|
||||
ifneq ($(CONFIG_CPU_AMD_AGESA),y)
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes, htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for (i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
|
@ -35,7 +35,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
# erases 28 KB and writes 10 KB register dumps to SPI flash on every
|
||||
# boot, wasting 3 s and causing wear! Therefore disable S3 for now.
|
||||
#select HAVE_ACPI_RESUME
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -34,5 +34,4 @@ ramstage-y += agesawrapper.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -37,7 +37,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
|
|||
# erases 28 KB and writes 10 KB register dumps to SPI flash on every
|
||||
# boot, wasting 3 s and causing wear! Therefore disable S3 for now.
|
||||
#select HAVE_ACPI_RESUME
|
||||
select HAVE_HARD_RESET
|
||||
select SB_HT_CHAIN_UNITID_OFFSET_ONLY
|
||||
select LIFT_BSP_APIC_ID
|
||||
select SERIAL_CPU_INIT
|
||||
|
|
|
@ -34,5 +34,4 @@ ramstage-y += agesawrapper.c
|
|||
ramstage-y += BiosCallOuts.c
|
||||
ramstage-y += PlatformGnbPcie.c
|
||||
|
||||
ramstage-y += reset.c
|
||||
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* This file is part of the coreboot project.
|
||||
*
|
||||
* Copyright (C) 2011 Advanced Micro Devices, Inc.
|
||||
*
|
||||
* 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; version 2 of the License.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __PRE_RAM__
|
||||
#define __PRE_RAM__ // Use simple device model for this file even in ramstage
|
||||
#endif
|
||||
#include <arch/io.h>
|
||||
#include <reset.h>
|
||||
|
||||
#define HT_INIT_CONTROL 0x6C
|
||||
#define HTIC_BIOSR_Detect (1<<5)
|
||||
|
||||
#if CONFIG_MAX_PHYSICAL_CPUS > 32
|
||||
#define NODE_PCI(x, fn) ((x<32)?(PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)):(PCI_DEV((CONFIG_CBB-1),(CONFIG_CDB+x-32),fn)))
|
||||
#else
|
||||
#define NODE_PCI(x, fn) PCI_DEV(CONFIG_CBB,(CONFIG_CDB+x),fn)
|
||||
#endif
|
||||
|
||||
static inline void set_bios_reset(void)
|
||||
{
|
||||
u32 nodes;
|
||||
u32 htic;
|
||||
device_t dev;
|
||||
int i;
|
||||
|
||||
nodes = ((pci_read_config32(PCI_DEV(CONFIG_CBB, CONFIG_CDB, 0), 0x60) >> 4) & 7) + 1;
|
||||
for(i = 0; i < nodes; i++) {
|
||||
dev = NODE_PCI(i, 0);
|
||||
htic = pci_read_config32(dev, HT_INIT_CONTROL);
|
||||
htic &= ~HTIC_BIOSR_Detect;
|
||||
pci_write_config32(dev, HT_INIT_CONTROL, htic);
|
||||
}
|
||||
}
|
||||
|
||||
void hard_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* Try rebooting through port 0xcf9 */
|
||||
/* Actually it is not a real hard_reset --- it only reset coherent link table, but not reset link freq and width */
|
||||
outb((0 << 3) | (0 << 2) | (1 << 1), 0xcf9);
|
||||
outb((0 << 3) | (1 << 2) | (1 << 1), 0xcf9);
|
||||
}
|
||||
|
||||
//SbReset();
|
||||
void soft_reset(void)
|
||||
{
|
||||
set_bios_reset();
|
||||
/* link reset */
|
||||
outb(0x06, 0x0cf9);
|
||||
}
|
||||
|
|
@ -34,7 +34,6 @@ config BOARD_SPECIFIC_OPTIONS
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SERIAL_CPU_INIT
|
||||
select HAVE_ACPI_TABLES
|
||||
select BOARD_ROMSIZE_KB_2048
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
romstage-y += rd890_cfg.c
|
||||
romstage-y += sb700_cfg.c
|
||||
romstage-y += reset.c
|
||||
romstage-y += buildOpts.c
|
||||
romstage-y += agesawrapper.c
|
||||
romstage-y += BiosCallOuts.c
|
||||
|
@ -27,7 +26,6 @@ romstage-y += platform_oem.c
|
|||
|
||||
ramstage-y += rd890_cfg.c
|
||||
ramstage-y += sb700_cfg.c
|
||||
ramstage-y += reset.c
|
||||
ramstage-y += buildOpts.c
|
||||
ramstage-y += agesawrapper.c
|
||||
ramstage-y += BiosCallOuts.c
|
||||
|
|
|
@ -34,7 +34,6 @@ config BOARD_SPECIFIC_OPTIONS
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SERIAL_CPU_INIT
|
||||
select HAVE_ACPI_TABLES
|
||||
select BOARD_ROMSIZE_KB_4096
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
romstage-y += rd890_cfg.c
|
||||
romstage-y += sb700_cfg.c
|
||||
romstage-y += reset.c
|
||||
romstage-y += buildOpts.c
|
||||
romstage-y += agesawrapper.c
|
||||
romstage-y += BiosCallOuts.c
|
||||
|
@ -27,7 +26,6 @@ romstage-y += platform_oem.c
|
|||
|
||||
ramstage-y += rd890_cfg.c
|
||||
ramstage-y += sb700_cfg.c
|
||||
ramstage-y += reset.c
|
||||
ramstage-y += buildOpts.c
|
||||
ramstage-y += agesawrapper.c
|
||||
ramstage-y += BiosCallOuts.c
|
||||
|
|
|
@ -34,7 +34,6 @@ config BOARD_SPECIFIC_OPTIONS
|
|||
select HAVE_OPTION_TABLE
|
||||
select HAVE_PIRQ_TABLE
|
||||
select HAVE_MP_TABLE
|
||||
select HAVE_HARD_RESET
|
||||
select SERIAL_CPU_INIT
|
||||
select HAVE_ACPI_TABLES
|
||||
select BOARD_ROMSIZE_KB_4096
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
romstage-y += rd890_cfg.c
|
||||
romstage-y += sb700_cfg.c
|
||||
romstage-y += reset.c
|
||||
romstage-y += buildOpts.c
|
||||
romstage-y += agesawrapper.c
|
||||
romstage-y += BiosCallOuts.c
|
||||
|
@ -27,7 +26,6 @@ romstage-y += platform_oem.c
|
|||
|
||||
ramstage-y += rd890_cfg.c
|
||||
ramstage-y += sb700_cfg.c
|
||||
ramstage-y += reset.c
|
||||
ramstage-y += buildOpts.c
|
||||
ramstage-y += agesawrapper.c
|
||||
ramstage-y += BiosCallOuts.c
|
||||
|
|
|
@ -21,6 +21,7 @@ config SOUTHBRIDGE_AMD_AGESA_HUDSON
|
|||
bool
|
||||
select IOAPIC
|
||||
select HAVE_USBDEBUG
|
||||
select HAVE_HARD_RESET
|
||||
|
||||
if SOUTHBRIDGE_AMD_AGESA_HUDSON
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ config SOUTHBRIDGE_AMD_CIMX_SB700
|
|||
bool
|
||||
select IOAPIC
|
||||
select AMD_SB_CIMX
|
||||
select HAVE_HARD_RESET
|
||||
|
||||
if SOUTHBRIDGE_AMD_CIMX_SB700
|
||||
config SATA_CONTROLLER_MODE
|
||||
|
|
|
@ -22,8 +22,10 @@
|
|||
|
||||
romstage-y += early.c
|
||||
romstage-y += smbus.c
|
||||
romstage-y += reset.c
|
||||
|
||||
ramstage-y += late.c
|
||||
ramstage-y += reset.c
|
||||
|
||||
ramstage-y += smbus.c
|
||||
ramstage-y += lpc.c
|
||||
|
|
|
@ -22,6 +22,7 @@ config SOUTHBRIDGE_AMD_CIMX_SB800
|
|||
default n
|
||||
select IOAPIC
|
||||
select AMD_SB_CIMX
|
||||
select HAVE_HARD_RESET
|
||||
|
||||
if SOUTHBRIDGE_AMD_CIMX_SB800
|
||||
config BOOTBLOCK_SOUTHBRIDGE_INIT
|
||||
|
|
|
@ -23,9 +23,11 @@
|
|||
romstage-y += cfg.c
|
||||
romstage-y += early.c
|
||||
romstage-y += smbus.c
|
||||
romstage-y += reset.c
|
||||
|
||||
ramstage-y += cfg.c
|
||||
ramstage-y += late.c
|
||||
ramstage-y += reset.c
|
||||
|
||||
ramstage-$(CONFIG_SB800_MANUAL_FAN_CONTROL) += fan.c
|
||||
ramstage-$(CONFIG_SB800_IMC_FAN_CONTROL) += fan.c
|
||||
|
|
|
@ -22,6 +22,7 @@ config SOUTHBRIDGE_AMD_CIMX_SB900
|
|||
default n
|
||||
select IOAPIC
|
||||
select AMD_SB_CIMX
|
||||
select HAVE_HARD_RESET
|
||||
|
||||
if SOUTHBRIDGE_AMD_CIMX_SB900
|
||||
config SATA_CONTROLLER_MODE
|
||||
|
|
|
@ -23,10 +23,12 @@
|
|||
romstage-y += cfg.c
|
||||
romstage-y += early.c
|
||||
romstage-y += smbus.c
|
||||
romstage-y += reset.c
|
||||
|
||||
ramstage-y += cfg.c
|
||||
ramstage-y += early.c
|
||||
ramstage-y += late.c
|
||||
ramstage-y += reset.c
|
||||
|
||||
ramstage-y += smbus.c
|
||||
ramstage-y += lpc.c
|
||||
|
|
Loading…
Reference in New Issue