AGESA: Switch to MMCONF_SUPPORT_DEFAULT
Vendorcode always does PCI MMCONF access once it is enabled via MSR. In coreboot proper, we don't give opportunity to make pci_read/write calls before PCI MMCONF is enabled via MSR. This happens early in romstage amd_initmmio() for all cores. Change-Id: If31bc0a67b480bcc1d955632f413f5cdeec51a54 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/17533 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
7d09cfcf74
commit
59e0334207
|
@ -17,6 +17,7 @@ config CPU_AMD_AGESA_FAMILY10
|
||||||
bool
|
bool
|
||||||
select CPU_AMD_MODEL_10XXX
|
select CPU_AMD_MODEL_10XXX
|
||||||
select PCI_IO_CFG_EXT
|
select PCI_IO_CFG_EXT
|
||||||
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
|
|
||||||
if CPU_AMD_AGESA_FAMILY10
|
if CPU_AMD_AGESA_FAMILY10
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
config CPU_AMD_AGESA_FAMILY12
|
config CPU_AMD_AGESA_FAMILY12
|
||||||
bool
|
bool
|
||||||
select PCI_IO_CFG_EXT
|
select PCI_IO_CFG_EXT
|
||||||
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
|
|
||||||
if CPU_AMD_AGESA_FAMILY12
|
if CPU_AMD_AGESA_FAMILY12
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
config CPU_AMD_AGESA_FAMILY14
|
config CPU_AMD_AGESA_FAMILY14
|
||||||
bool
|
bool
|
||||||
select PCI_IO_CFG_EXT
|
select PCI_IO_CFG_EXT
|
||||||
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
|
|
||||||
if CPU_AMD_AGESA_FAMILY14
|
if CPU_AMD_AGESA_FAMILY14
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
config CPU_AMD_AGESA_FAMILY15
|
config CPU_AMD_AGESA_FAMILY15
|
||||||
bool
|
bool
|
||||||
select PCI_IO_CFG_EXT
|
select PCI_IO_CFG_EXT
|
||||||
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
|
|
||||||
if CPU_AMD_AGESA_FAMILY15
|
if CPU_AMD_AGESA_FAMILY15
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
config CPU_AMD_AGESA_FAMILY15_RL
|
config CPU_AMD_AGESA_FAMILY15_RL
|
||||||
bool
|
bool
|
||||||
select PCI_IO_CFG_EXT
|
select PCI_IO_CFG_EXT
|
||||||
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
|
|
||||||
if CPU_AMD_AGESA_FAMILY15_RL
|
if CPU_AMD_AGESA_FAMILY15_RL
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
config CPU_AMD_AGESA_FAMILY15_TN
|
config CPU_AMD_AGESA_FAMILY15_TN
|
||||||
bool
|
bool
|
||||||
select PCI_IO_CFG_EXT
|
select PCI_IO_CFG_EXT
|
||||||
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
|
|
||||||
if CPU_AMD_AGESA_FAMILY15_TN
|
if CPU_AMD_AGESA_FAMILY15_TN
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
config CPU_AMD_AGESA_FAMILY16_KB
|
config CPU_AMD_AGESA_FAMILY16_KB
|
||||||
bool
|
bool
|
||||||
select PCI_IO_CFG_EXT
|
select PCI_IO_CFG_EXT
|
||||||
|
select MMCONF_SUPPORT_DEFAULT
|
||||||
select X86_AMD_FIXED_MTRRS
|
select X86_AMD_FIXED_MTRRS
|
||||||
|
|
||||||
if CPU_AMD_AGESA_FAMILY16_KB
|
if CPU_AMD_AGESA_FAMILY16_KB
|
||||||
|
|
|
@ -39,6 +39,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -40,6 +40,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -38,6 +38,9 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
|
amd_initmmio();
|
||||||
|
|
||||||
/* In Hudson RRG, PMIOxD2[5:4] is "Drive strength control for
|
/* In Hudson RRG, PMIOxD2[5:4] is "Drive strength control for
|
||||||
* LpcClk[1:0]". To be consistent with Parmer, setting to 4mA
|
* LpcClk[1:0]". To be consistent with Parmer, setting to 4mA
|
||||||
* even though the register is not documented in the Kabini BKDG.
|
* even though the register is not documented in the Kabini BKDG.
|
||||||
|
@ -46,8 +49,6 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
outb(0xD2, 0xcd6);
|
outb(0xD2, 0xcd6);
|
||||||
outb(0x00, 0xcd7);
|
outb(0x00, 0xcd7);
|
||||||
|
|
||||||
amd_initmmio();
|
|
||||||
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
pci_devfn_t dev = PCI_DEV(0, 0x14, 3);
|
pci_devfn_t dev = PCI_DEV(0, 0x14, 3);
|
||||||
pci_write_config32(dev, 0x44, 0xff03ffd5);
|
pci_write_config32(dev, 0x44, 0xff03ffd5);
|
||||||
|
|
|
@ -38,6 +38,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
|
|
|
@ -46,6 +46,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -41,6 +41,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -43,6 +43,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
u8 byte;
|
u8 byte;
|
||||||
pci_devfn_t dev;
|
pci_devfn_t dev;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
|
|
|
@ -39,9 +39,11 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
post_code(0x35);
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
|
post_code(0x35);
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
post_code(0x30);
|
post_code(0x30);
|
||||||
gpioEarlyInit();
|
gpioEarlyInit();
|
||||||
|
|
|
@ -39,6 +39,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -43,6 +43,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -51,6 +51,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
//outb(0xD2, 0xcd6);
|
//outb(0xD2, 0xcd6);
|
||||||
//outb(0x00, 0xcd7);
|
//outb(0x00, 0xcd7);
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
|
|
|
@ -64,6 +64,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
u8 byte;
|
u8 byte;
|
||||||
pci_devfn_t dev;
|
pci_devfn_t dev;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_POST_DEVICE_PCI_PCIE)
|
#if IS_ENABLED(CONFIG_POST_DEVICE_PCI_PCIE)
|
||||||
|
|
|
@ -43,6 +43,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
|
|
|
@ -113,6 +113,9 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
pci_devfn_t dev;
|
pci_devfn_t dev;
|
||||||
u32 *addr32;
|
u32 *addr32;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
|
amd_initmmio();
|
||||||
|
|
||||||
/* In Hudson RRG, PMIOxD2[5:4] is "Drive strength control for
|
/* In Hudson RRG, PMIOxD2[5:4] is "Drive strength control for
|
||||||
* LpcClk[1:0]". To be consistent with Parmer, setting to 4mA
|
* LpcClk[1:0]". To be consistent with Parmer, setting to 4mA
|
||||||
* even though the register is not documented in the Kabini BKDG.
|
* even though the register is not documented in the Kabini BKDG.
|
||||||
|
@ -121,7 +124,6 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
outb(0xD2, 0xcd6);
|
outb(0xD2, 0xcd6);
|
||||||
outb(0x00, 0xcd7);
|
outb(0x00, 0xcd7);
|
||||||
|
|
||||||
amd_initmmio();
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
pci_devfn_t dev2 = PCI_DEV(0, 0x14, 3);
|
pci_devfn_t dev2 = PCI_DEV(0, 0x14, 3);
|
||||||
pci_write_config32(dev2, 0x44, 0xff03ffd5);
|
pci_write_config32(dev2, 0x44, 0xff03ffd5);
|
||||||
|
|
|
@ -46,6 +46,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -41,6 +41,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -38,6 +38,9 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
|
amd_initmmio();
|
||||||
|
|
||||||
/* In Hudson RRG, PMIOxD2[5:4] is "Drive strength control for
|
/* In Hudson RRG, PMIOxD2[5:4] is "Drive strength control for
|
||||||
* LpcClk[1:0]". To be consistent with Parmer, setting to 4mA
|
* LpcClk[1:0]". To be consistent with Parmer, setting to 4mA
|
||||||
* even though the register is not documented in the Kabini BKDG.
|
* even though the register is not documented in the Kabini BKDG.
|
||||||
|
@ -46,8 +49,6 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
outb(0xD2, 0xcd6);
|
outb(0xD2, 0xcd6);
|
||||||
outb(0x00, 0xcd7);
|
outb(0x00, 0xcd7);
|
||||||
|
|
||||||
amd_initmmio();
|
|
||||||
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
pci_devfn_t dev = PCI_DEV(0, 0x14, 3);
|
pci_devfn_t dev = PCI_DEV(0, 0x14, 3);
|
||||||
pci_write_config32(dev, 0x44, 0xff03ffd5);
|
pci_write_config32(dev, 0x44, 0xff03ffd5);
|
||||||
|
|
|
@ -44,6 +44,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
u32 *addr32;
|
u32 *addr32;
|
||||||
|
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
/* Set LPC decode enables. */
|
/* Set LPC decode enables. */
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
hudson_lpc_port80();
|
hudson_lpc_port80();
|
||||||
|
|
|
@ -62,6 +62,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -34,6 +34,8 @@
|
||||||
void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
hudson_lpc_port80();
|
hudson_lpc_port80();
|
||||||
|
|
|
@ -45,6 +45,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -46,6 +46,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -128,6 +128,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
u8 byte;
|
u8 byte;
|
||||||
pci_devfn_t dev;
|
pci_devfn_t dev;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_POST_DEVICE_PCI_PCIE)
|
#if IS_ENABLED(CONFIG_POST_DEVICE_PCI_PCIE)
|
||||||
|
|
|
@ -51,6 +51,7 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
if (!cpu_init_detectedx && boot_cpu()) {
|
if (!cpu_init_detectedx && boot_cpu()) {
|
||||||
|
|
|
@ -30,7 +30,6 @@ config BOARD_SPECIFIC_OPTIONS
|
||||||
select HAVE_MP_TABLE
|
select HAVE_MP_TABLE
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select BOARD_ROMSIZE_KB_2048
|
select BOARD_ROMSIZE_KB_2048
|
||||||
#select MMCONF_SUPPORT_DEFAULT #TODO enable it to resolve Multicore IO conflict
|
|
||||||
|
|
||||||
config MAINBOARD_DIR
|
config MAINBOARD_DIR
|
||||||
string
|
string
|
||||||
|
|
|
@ -40,8 +40,9 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
post_code(0x30);
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
post_code(0x31);
|
post_code(0x31);
|
||||||
|
|
||||||
/* Halt if there was a built in self test failure */
|
/* Halt if there was a built in self test failure */
|
||||||
|
|
|
@ -39,8 +39,9 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
post_code(0x30);
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
post_code(0x31);
|
post_code(0x31);
|
||||||
|
|
||||||
/* Halt if there was a built in self test failure */
|
/* Halt if there was a built in self test failure */
|
||||||
|
|
|
@ -30,7 +30,6 @@ config BOARD_SPECIFIC_OPTIONS
|
||||||
select HAVE_MP_TABLE
|
select HAVE_MP_TABLE
|
||||||
select HAVE_ACPI_TABLES
|
select HAVE_ACPI_TABLES
|
||||||
select BOARD_ROMSIZE_KB_4096
|
select BOARD_ROMSIZE_KB_4096
|
||||||
#select MMCONF_SUPPORT_DEFAULT #TODO enable it to resolve Multicore IO conflict
|
|
||||||
|
|
||||||
config MAINBOARD_DIR
|
config MAINBOARD_DIR
|
||||||
string
|
string
|
||||||
|
|
|
@ -38,8 +38,9 @@ void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
post_code(0x30);
|
/* Must come first to enable PCI MMCONF. */
|
||||||
amd_initmmio();
|
amd_initmmio();
|
||||||
|
|
||||||
post_code(0x31);
|
post_code(0x31);
|
||||||
|
|
||||||
/* For serial port. */
|
/* For serial port. */
|
||||||
|
|
|
@ -18,7 +18,6 @@ config NORTHBRIDGE_AMD_AGESA_FAMILY10
|
||||||
select HAVE_DEBUG_RAM_SETUP
|
select HAVE_DEBUG_RAM_SETUP
|
||||||
select HAVE_DEBUG_SMBUS
|
select HAVE_DEBUG_SMBUS
|
||||||
select HYPERTRANSPORT_PLUGIN_SUPPORT
|
select HYPERTRANSPORT_PLUGIN_SUPPORT
|
||||||
select MMCONF_SUPPORT
|
|
||||||
|
|
||||||
if NORTHBRIDGE_AMD_AGESA_FAMILY10
|
if NORTHBRIDGE_AMD_AGESA_FAMILY10
|
||||||
|
|
||||||
|
|
|
@ -1096,13 +1096,11 @@ static void cpu_bus_init(device_t dev)
|
||||||
|
|
||||||
static void cpu_bus_read_resources(device_t dev)
|
static void cpu_bus_read_resources(device_t dev)
|
||||||
{
|
{
|
||||||
#if CONFIG_MMCONF_SUPPORT
|
|
||||||
struct resource *resource = new_resource(dev, 0xc0010058);
|
struct resource *resource = new_resource(dev, 0xc0010058);
|
||||||
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
||||||
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096*256;
|
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096*256;
|
||||||
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
||||||
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cpu_bus_set_resources(device_t dev)
|
static void cpu_bus_set_resources(device_t dev)
|
||||||
|
|
|
@ -17,7 +17,6 @@ config NORTHBRIDGE_AMD_AGESA_FAMILY12
|
||||||
select HAVE_DEBUG_RAM_SETUP
|
select HAVE_DEBUG_RAM_SETUP
|
||||||
select HAVE_DEBUG_SMBUS
|
select HAVE_DEBUG_SMBUS
|
||||||
select HYPERTRANSPORT_PLUGIN_SUPPORT
|
select HYPERTRANSPORT_PLUGIN_SUPPORT
|
||||||
select MMCONF_SUPPORT
|
|
||||||
|
|
||||||
if NORTHBRIDGE_AMD_AGESA_FAMILY12
|
if NORTHBRIDGE_AMD_AGESA_FAMILY12
|
||||||
|
|
||||||
|
|
|
@ -649,13 +649,11 @@ static void cpu_bus_read_resources(device_t dev)
|
||||||
{
|
{
|
||||||
printk(BIOS_DEBUG, "\nFam12h - northbridge.c - %s - Start.\n",__func__);
|
printk(BIOS_DEBUG, "\nFam12h - northbridge.c - %s - Start.\n",__func__);
|
||||||
|
|
||||||
#if CONFIG_MMCONF_SUPPORT
|
|
||||||
struct resource *resource = new_resource(dev, 0xc0010058);
|
struct resource *resource = new_resource(dev, 0xc0010058);
|
||||||
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
||||||
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096*256;
|
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096*256;
|
||||||
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
||||||
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
||||||
#endif
|
|
||||||
printk(BIOS_DEBUG, "Fam12h - northbridge.c - %s - End.\n",__func__);
|
printk(BIOS_DEBUG, "Fam12h - northbridge.c - %s - End.\n",__func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
##
|
##
|
||||||
config NORTHBRIDGE_AMD_AGESA_FAMILY14
|
config NORTHBRIDGE_AMD_AGESA_FAMILY14
|
||||||
bool
|
bool
|
||||||
select MMCONF_SUPPORT
|
|
||||||
|
|
||||||
if NORTHBRIDGE_AMD_AGESA_FAMILY14
|
if NORTHBRIDGE_AMD_AGESA_FAMILY14
|
||||||
|
|
||||||
|
|
|
@ -302,13 +302,11 @@ static void nb_read_resources(device_t dev)
|
||||||
* It is not honored by the coreboot resource allocator if it is in
|
* It is not honored by the coreboot resource allocator if it is in
|
||||||
* the CPU_CLUSTER.
|
* the CPU_CLUSTER.
|
||||||
*/
|
*/
|
||||||
#if CONFIG_MMCONF_SUPPORT
|
|
||||||
struct resource *resource = new_resource(dev, 0xc0010058);
|
struct resource *resource = new_resource(dev, 0xc0010058);
|
||||||
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
||||||
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
||||||
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
||||||
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
||||||
|
|
|
@ -18,7 +18,6 @@ config NORTHBRIDGE_AMD_AGESA_FAMILY15
|
||||||
select HAVE_DEBUG_RAM_SETUP
|
select HAVE_DEBUG_RAM_SETUP
|
||||||
select HAVE_DEBUG_SMBUS
|
select HAVE_DEBUG_SMBUS
|
||||||
select HYPERTRANSPORT_PLUGIN_SUPPORT
|
select HYPERTRANSPORT_PLUGIN_SUPPORT
|
||||||
select MMCONF_SUPPORT
|
|
||||||
|
|
||||||
if NORTHBRIDGE_AMD_AGESA_FAMILY15
|
if NORTHBRIDGE_AMD_AGESA_FAMILY15
|
||||||
|
|
||||||
|
|
|
@ -326,13 +326,11 @@ static void nb_read_resources(device_t dev)
|
||||||
* It is not honored by the coreboot resource allocator if it is in
|
* It is not honored by the coreboot resource allocator if it is in
|
||||||
* the CPU_CLUSTER.
|
* the CPU_CLUSTER.
|
||||||
*/
|
*/
|
||||||
#if CONFIG_MMCONF_SUPPORT
|
|
||||||
struct resource *resource = new_resource(dev, 0xc0010058);
|
struct resource *resource = new_resource(dev, 0xc0010058);
|
||||||
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
||||||
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
||||||
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
||||||
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
##
|
##
|
||||||
config NORTHBRIDGE_AMD_AGESA_FAMILY15_RL
|
config NORTHBRIDGE_AMD_AGESA_FAMILY15_RL
|
||||||
bool
|
bool
|
||||||
select MMCONF_SUPPORT
|
|
||||||
|
|
||||||
if NORTHBRIDGE_AMD_AGESA_FAMILY15_RL
|
if NORTHBRIDGE_AMD_AGESA_FAMILY15_RL
|
||||||
|
|
||||||
|
|
|
@ -326,13 +326,11 @@ static void read_resources(struct device *dev)
|
||||||
* It is not honored by the coreboot resource allocator if it is in
|
* It is not honored by the coreboot resource allocator if it is in
|
||||||
* the CPU_CLUSTER.
|
* the CPU_CLUSTER.
|
||||||
*/
|
*/
|
||||||
#if CONFIG_MMCONF_SUPPORT
|
|
||||||
struct resource *resource = new_resource(dev, 0xc0010058);
|
struct resource *resource = new_resource(dev, 0xc0010058);
|
||||||
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
||||||
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
||||||
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
||||||
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_resource(struct device *dev, struct resource *resource, u32 nodeid)
|
static void set_resource(struct device *dev, struct resource *resource, u32 nodeid)
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
##
|
##
|
||||||
config NORTHBRIDGE_AMD_AGESA_FAMILY15_TN
|
config NORTHBRIDGE_AMD_AGESA_FAMILY15_TN
|
||||||
bool
|
bool
|
||||||
select MMCONF_SUPPORT
|
|
||||||
|
|
||||||
if NORTHBRIDGE_AMD_AGESA_FAMILY15_TN
|
if NORTHBRIDGE_AMD_AGESA_FAMILY15_TN
|
||||||
|
|
||||||
|
|
|
@ -325,13 +325,11 @@ static void nb_read_resources(device_t dev)
|
||||||
* It is not honored by the coreboot resource allocator if it is in
|
* It is not honored by the coreboot resource allocator if it is in
|
||||||
* the CPU_CLUSTER.
|
* the CPU_CLUSTER.
|
||||||
*/
|
*/
|
||||||
#if CONFIG_MMCONF_SUPPORT
|
|
||||||
struct resource *resource = new_resource(dev, 0xc0010058);
|
struct resource *resource = new_resource(dev, 0xc0010058);
|
||||||
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
||||||
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
||||||
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
||||||
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
##
|
##
|
||||||
config NORTHBRIDGE_AMD_AGESA_FAMILY16_KB
|
config NORTHBRIDGE_AMD_AGESA_FAMILY16_KB
|
||||||
bool
|
bool
|
||||||
select MMCONF_SUPPORT
|
|
||||||
|
|
||||||
if NORTHBRIDGE_AMD_AGESA_FAMILY16_KB
|
if NORTHBRIDGE_AMD_AGESA_FAMILY16_KB
|
||||||
|
|
||||||
|
|
|
@ -325,13 +325,11 @@ static void read_resources(device_t dev)
|
||||||
* It is not honored by the coreboot resource allocator if it is in
|
* It is not honored by the coreboot resource allocator if it is in
|
||||||
* the APIC_CLUSTER.
|
* the APIC_CLUSTER.
|
||||||
*/
|
*/
|
||||||
#if CONFIG_MMCONF_SUPPORT
|
|
||||||
struct resource *resource = new_resource(dev, 0xc0010058);
|
struct resource *resource = new_resource(dev, 0xc0010058);
|
||||||
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
resource->base = CONFIG_MMCONF_BASE_ADDRESS;
|
||||||
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
resource->size = CONFIG_MMCONF_BUS_NUMBER * 4096 * 256;
|
||||||
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
resource->flags = IORESOURCE_MEM | IORESOURCE_RESERVE |
|
||||||
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
IORESOURCE_FIXED | IORESOURCE_STORED | IORESOURCE_ASSIGNED;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
static void set_resource(device_t dev, struct resource *resource, u32 nodeid)
|
||||||
|
|
Loading…
Reference in New Issue