The prefix POSTCODE makes it clear that the macro is a post code. Hence, replace related macros starting with POST to POSTCODE and also replace every instance the macros are invoked with the new name. The files was changed by running the following bash script from the top level directory. header="src/soc/amd/common/block/include/amdblocks/post_codes.h \ src/include/cpu/intel/post_codes.h \ src/soc/intel/common/block/include/intelblocks/post_codes.h" array=`grep -r "#define POST_" $header | \ tr '\t' ' ' | cut -d ":" -f 2 | cut -d " " -f 2` for str in $array; do splitstr=`echo $str | cut -d '_' -f2-` grep -r $str src | cut -d ':' -f 1 | \ xargs sed -i'' -e "s/$str/POSTCODE_$splitstr/g" done Change-Id: Id2ca654126fc5b96e6b40d222bb636bbf39ab7ad Signed-off-by: Yuchen He <yuchenhe126@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/76044 Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
125 lines
2.7 KiB
C
125 lines
2.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#include <bootstate.h>
|
|
#include <console/console.h>
|
|
#include <device/device.h>
|
|
#include <device/pci.h>
|
|
#include <drivers/i2c/designware/dw_i2c.h>
|
|
#include <soc/acpi.h>
|
|
#include <soc/cpu.h>
|
|
#include <soc/northbridge.h>
|
|
#include <soc/pci_devs.h>
|
|
#include <soc/southbridge.h>
|
|
#include <amdblocks/psp.h>
|
|
#include <amdblocks/agesawrapper.h>
|
|
#include <amdblocks/agesawrapper_call.h>
|
|
#include <amdblocks/i2c.h>
|
|
#include <amdblocks/post_codes.h>
|
|
|
|
#include "chip.h"
|
|
|
|
const char *soc_acpi_name(const struct device *dev)
|
|
{
|
|
if (dev->path.type == DEVICE_PATH_DOMAIN)
|
|
return "PCI0";
|
|
|
|
if (dev->path.type == DEVICE_PATH_USB) {
|
|
switch (dev->path.usb.port_type) {
|
|
case 0:
|
|
/* Root Hub */
|
|
return "RHUB";
|
|
case 2:
|
|
/* USB2 ports */
|
|
switch (dev->path.usb.port_id) {
|
|
case 0: return "HS01";
|
|
case 1: return "HS02";
|
|
case 2: return "HS03";
|
|
case 3: return "HS04";
|
|
case 4: return "HS05";
|
|
case 5: return "HS06";
|
|
case 6: return "HS07";
|
|
case 7: return "HS08";
|
|
}
|
|
break;
|
|
case 3:
|
|
/* USB3 ports */
|
|
switch (dev->path.usb.port_id) {
|
|
case 0: return "SS01";
|
|
case 1: return "SS02";
|
|
case 2: return "SS03";
|
|
}
|
|
break;
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
if (dev->path.type != DEVICE_PATH_PCI)
|
|
return NULL;
|
|
|
|
switch (dev->path.pci.devfn) {
|
|
case GFX_DEVFN:
|
|
return "IGFX";
|
|
case PCIE0_DEVFN:
|
|
return "PBR4";
|
|
case PCIE1_DEVFN:
|
|
return "PBR5";
|
|
case PCIE2_DEVFN:
|
|
return "PBR6";
|
|
case PCIE3_DEVFN:
|
|
return "PBR7";
|
|
case PCIE4_DEVFN:
|
|
return "PBR8";
|
|
case EHCI1_DEVFN:
|
|
return "EHC0";
|
|
case SD_DEVFN:
|
|
return "SDCN";
|
|
case XHCI_DEVFN:
|
|
return "XHC0";
|
|
default:
|
|
return NULL;
|
|
}
|
|
};
|
|
|
|
struct device_operations stoneyridge_pci_domain_ops = {
|
|
.read_resources = domain_read_resources,
|
|
.set_resources = pci_domain_set_resources,
|
|
.enable_resources = domain_enable_resources,
|
|
.scan_bus = pci_domain_scan_bus,
|
|
.acpi_name = soc_acpi_name,
|
|
};
|
|
|
|
static void soc_init(void *chip_info)
|
|
{
|
|
fch_init(chip_info);
|
|
}
|
|
|
|
static void soc_final(void *chip_info)
|
|
{
|
|
fch_final(chip_info);
|
|
fam15_finalize(chip_info);
|
|
}
|
|
|
|
struct chip_operations soc_amd_stoneyridge_ops = {
|
|
CHIP_NAME("AMD StoneyRidge SOC")
|
|
.init = soc_init,
|
|
.final = soc_final
|
|
};
|
|
|
|
static void earliest_ramstage(void *unused)
|
|
{
|
|
if (!acpi_is_wakeup_s3()) {
|
|
post_code(POSTCODE_PSP_LOAD_SMU);
|
|
if (CONFIG(SOC_AMD_PSP_SELECTABLE_SMU_FW))
|
|
psp_load_named_blob(BLOB_SMU_FW2, "smu_fw2");
|
|
|
|
post_code(POSTCODE_AGESA_AMDINITENV);
|
|
do_agesawrapper(AMD_INIT_ENV, "amdinitenv");
|
|
} else {
|
|
/* Complete the initial system restoration */
|
|
post_code(POSTCODE_AGESA_AMDS3LATERESTORE);
|
|
do_agesawrapper(AMD_S3LATE_RESTORE, "amds3laterestore");
|
|
}
|
|
}
|
|
|
|
BOOT_STATE_INIT_ENTRY(BS_PRE_DEVICE, BS_ON_ENTRY, earliest_ramstage, NULL);
|