Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13157
-gerrit
commit 33c501c00b974f0b9c7971c4918daea381df37ba
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Tue Nov 24 14:11:57 2015 -0600
mainboard/asus/kgpe-d16: Use W83667HG-A SuperIO instead of NCT5572D
Change-Id: If67999098fbe2831eeb30cb8b362c558db5d2688
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/mainboard/asus/kgpe-d16/Kconfig | 2 +-
src/mainboard/asus/kgpe-d16/devicetree.cb | 43 +++++++++++++++++++------------
src/mainboard/asus/kgpe-d16/romstage.c | 8 +++---
3 files changed, 31 insertions(+), 22 deletions(-)
diff --git a/src/mainboard/asus/kgpe-d16/Kconfig b/src/mainboard/asus/kgpe-d16/Kconfig
index f394ca9..23c91f0 100644
--- a/src/mainboard/asus/kgpe-d16/Kconfig
+++ b/src/mainboard/asus/kgpe-d16/Kconfig
@@ -12,7 +12,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select SOUTHBRIDGE_AMD_SB700
select SOUTHBRIDGE_AMD_SB700_DISABLE_ISA_DMA
select SOUTHBRIDGE_AMD_SUBTYPE_SP5100
- select SUPERIO_NUVOTON_NCT5572D
+ select SUPERIO_WINBOND_W83667HG_A
select PARALLEL_CPU_INIT
select HAVE_ROMSTAGE_CONSOLE_SPINLOCK
select HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK
diff --git a/src/mainboard/asus/kgpe-d16/devicetree.cb b/src/mainboard/asus/kgpe-d16/devicetree.cb
index 96372f9..95f40cf 100644
--- a/src/mainboard/asus/kgpe-d16/devicetree.cb
+++ b/src/mainboard/asus/kgpe-d16/devicetree.cb
@@ -177,34 +177,43 @@ chip northbridge/amd/amdfam10/root_complex # Root complex
device pci 14.1 on end # IDE 0x439c
device pci 14.2 on end # HDA 0x4383 (ASUS MIO add-on card)
device pci 14.3 on # LPC 0x439d (SMBUS primary controller)
- chip superio/nuvoton/nct5572d # Super I/O
- device pnp 2e.0 off end # FDC; Not available on the KGPE-D16
- device pnp 2e.1 off end # LPT1; Not available on the KGPE-D16
- device pnp 2e.2 on # Com1
+ chip superio/winbond/w83667hg-a # Super I/O
+ device pnp 2e.0 off end # FDC; Not available on the KGPE-D16
+ device pnp 2e.1 off end # LPT1; Not available on the KGPE-D16
+ device pnp 2e.2 on # COM1
io 0x60 = 0x3f8
irq 0x70 = 4
end
- device pnp 2e.3 off end # IR: Not available on the KGPE-D16
- device pnp 2e.5 on # PS/2 keyboard & mouse
+ device pnp 2e.3 on # COM2
+ io 0x60 = 0x2f8
+ irq 0x70 = 3
+ end
+ device pnp 2e.5 on # PS/2 keyboard & mouse
io 0x60 = 0x60
io 0x62 = 0x64
irq 0x70 = 1
irq 0x72 = 12
end
- device pnp 2e.6 off end # CIR: Not available on the KGPE-D16
- device pnp 2e.7 off end # GIPO689
- device pnp 2e.8 off end # WDT
- device pnp 2e.9 off end # GPIO235
- device pnp 2e.a on end # ACPI
- device pnp 2e.b on # HW Monitor
+ device pnp 2e.6 off end # SPI: Not available on the KGPE-D16
+ device pnp 2e.107 off end # GIPO6
+ device pnp 2e.207 off end # GIPO7
+ device pnp 2e.307 off end # GIPO8
+ device pnp 2e.407 off end # GIPO9
+ device pnp 2e.8 off end # WDT
+ device pnp 2e.108 off end # GPIO 1
+ device pnp 2e.9 off end # GPIO2
+ device pnp 2e.109 off end # GPIO3
+ device pnp 2e.209 off end # GPIO4
+ device pnp 2e.309 off end # GPIO5
+ device pnp 2e.a on end # ACPI
+ device pnp 2e.b on # HW Monitor
io 0x60 = 0x290
- io 0x62 = 0x0000 # SB-TSI currently not implemented
+ io 0x62 = 0x0000 # SB-TSI currently not implemented
irq 0x70 = 5
end
- device pnp 2e.c off end # PECI
- device pnp 2e.d off end # SUSLED
- device pnp 2e.e off end # CIRWKUP
- device pnp 2e.f off end # GPIO_PP_OD
+ device pnp 2e.c off end # PECI
+ device pnp 2e.d off end # VID_BUSSEL
+ device pnp 2e.f off end # GPIO_PP_OD
end
end
device pci 14.4 on # Bridge
diff --git a/src/mainboard/asus/kgpe-d16/romstage.c b/src/mainboard/asus/kgpe-d16/romstage.c
index 13af96f..89183cc 100644
--- a/src/mainboard/asus/kgpe-d16/romstage.c
+++ b/src/mainboard/asus/kgpe-d16/romstage.c
@@ -35,8 +35,8 @@
#include <delay.h>
#include <cpu/x86/lapic.h>
#include "northbridge/amd/amdfam10/reset_test.c"
-#include <superio/nuvoton/common/nuvoton.h>
-#include <superio/nuvoton/nct5572d/nct5572d.h>
+#include <superio/winbond/common/winbond.h>
+#include <superio/winbond/w83667hg-a/w83667hg-a.h>
#include <cpu/x86/bist.h>
#include <smp/spinlock.h>
// #include "northbridge/amd/amdk8/incoherent_ht.c"
@@ -46,7 +46,7 @@
#include "northbridge/amd/amdfam10/debug.c"
#include "northbridge/amd/amdfam10/setup_resource_map.c"
-#define SERIAL_DEV PNP_DEV(0x2e, NCT5572D_SP1)
+#define SERIAL_DEV PNP_DEV(0x2e, W83667HG_A_SP1)
static void activate_spd_rom(const struct mem_controller *ctrl);
@@ -393,7 +393,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
sb7xx_51xx_pci_port80();
/* Initialize early serial */
- nuvoton_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE);
+ winbond_enable_serial(SERIAL_DEV, CONFIG_TTYS0_BASE);
console_init();
/* Disable LPC legacy DMA support to prevent lockup */
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13158
-gerrit
commit a53ec586744d11cb93c74e9a8ceb589090d45bc8
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Tue Nov 24 14:11:58 2015 -0600
cpu/amd/fam10h-15h: Fix Family 15h boot hang when BSP lift enabled
The existing code did not allow for the second core of the BSP to
reside on an APIC ID other than 1, leading to a boot hang on Family
15h processors when APIC_ID_OFFSET was set to anything other than 0.
Furthermore, insufficient AP stack space was allocated for AP start.
Change-Id: I4ded3cfb3736149e2265848014352d7622d5042a
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/cpu/amd/family_10h-family_15h/Kconfig | 2 +-
src/cpu/amd/family_10h-family_15h/init_cpus.c | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/cpu/amd/family_10h-family_15h/Kconfig b/src/cpu/amd/family_10h-family_15h/Kconfig
index bfb6751..2f3dfc0 100644
--- a/src/cpu/amd/family_10h-family_15h/Kconfig
+++ b/src/cpu/amd/family_10h-family_15h/Kconfig
@@ -48,7 +48,7 @@ config DCACHE_BSP_STACK_SLUSH
config DCACHE_AP_STACK_SIZE
hex
- default 0x400
+ default 0x500
config UDELAY_IO
bool
diff --git a/src/cpu/amd/family_10h-family_15h/init_cpus.c b/src/cpu/amd/family_10h-family_15h/init_cpus.c
index 5a67601..e8e81d2 100644
--- a/src/cpu/amd/family_10h-family_15h/init_cpus.c
+++ b/src/cpu/amd/family_10h-family_15h/init_cpus.c
@@ -356,6 +356,7 @@ static u32 init_cpus(u32 cpu_init_detectedx, struct sys_info *sysinfo)
uint32_t dword;
uint8_t set_mtrrs;
uint8_t node_count;
+ uint8_t fam15_bsp_core1_apicid;
struct node_core_id id;
/* Please refer to the calculations and explaination in cache_as_ram.inc before modifying these values */
@@ -483,7 +484,12 @@ static u32 init_cpus(u32 cpu_init_detectedx, struct sys_info *sysinfo)
if (is_fam15h()) {
/* core 1 on node 0 is special; to avoid corrupting the
* BSP do not alter MTRRs on that core */
- if (apicid == 1)
+ if (IS_ENABLED(CONFIG_ENABLE_APIC_EXT_ID) && (CONFIG_APIC_ID_OFFSET > 0))
+ fam15_bsp_core1_apicid = CONFIG_APIC_ID_OFFSET + 1;
+ else
+ fam15_bsp_core1_apicid = 1;
+
+ if (apicid == fam15_bsp_core1_apicid)
set_mtrrs = 0;
else
set_mtrrs = !!(apicid & 0x1);