Hi Philipp,
Are you sure that it's the right ACPI path name ?
I'm not sure. I'm only making minimum changes in order to make the board use the TPM but I trust the other code already works.
Also can you please provide me your decompiled SSDT
What file do you want, I'm still learning the coreboot, ACPI, etc concepts?
The monday morning I'll attach to these entries...
Regards
Jorge
________________________________ De: Zaolin zaolin@das-labor.org Enviado: viernes, 22 de junio de 2018 16:34:58 Para: Jorge Fernandez Monteagudo; coreboot@coreboot.org Asunto: Re: [coreboot] RV: Error booting with TPM enabled.
Hey Jorge,
Are you sure that it's the right ACPI path name ?
Also can you please provide me your decompiled SSDT
so I can check whats going on ?
Best Regards, Philipp
On 22.06.2018 12:52, Jorge Fernandez Monteagudo wrote:
Hi,
I've found the src/southbridge/amd/pi/hudson/lpc.c, the related to the AMD Bettong demoboard, and
'lpc_acpi_name' and 'lpc_ops' are already defined... Maybe they are not enabled or used?
Thanks!
static const char *lpc_acpi_name(const struct device *dev) { if (dev->path.type != DEVICE_PATH_PCI) return NULL;
if (dev->path.pci.devfn == LPC_DEVFN) return "LIBR";
return NULL; }
static struct device_operations lpc_ops = { .read_resources = hudson_lpc_read_resources, .set_resources = hudson_lpc_set_resources, .enable_resources = hudson_lpc_enable_resources, #if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES) .write_acpi_tables = acpi_write_hpet, #endif .init = lpc_init, .scan_bus = scan_lpc_bus, .ops_pci = &lops_pci, .acpi_name = lpc_acpi_name, };
________________________________ De: Zaolin zaolin@das-labor.orgmailto:zaolin@das-labor.org Enviado: viernes, 22 de junio de 2018 12:26:27 Para: Jorge Fernandez Monteagudo; coreboot@coreboot.orgmailto:coreboot@coreboot.org Asunto: Re: [coreboot] RV: Error booting with TPM enabled.
Hey,
you miss the LPC ACPI path for your SoC.
Just register the acpi_name method:
https://review.coreboot.org/#/c/coreboot/+/25534/2/src/soc/intel/fsp_broadwe...
I hope that helps.
Best Regards, Philipp
On 22.06.2018 12:18, Jorge Fernandez Monteagudo wrote: Hi all,
I have an AMD Bettong demoboard supported by coreboot and the default configuration works ok.
I've been able to boot a debian8 with a 4.17.1 kernel using the SeaBios payload. Now I've connected
a TPM 1.2 to the LPC bus and I've done the next changes to the coreboot master code
(ae05d095b36ac835a6b1a221e6858065e5486888)
--- src/mainboard/amd/bettong/devicetree.cb 2018-05-10 09:39:18.000000000 +0200 +++ src/mainboard/amd/bettong/devicetree.cb 2018-06-18 15:13:53.761093194 +0200 @@ -52,7 +52,11 @@ end end # SM #device pci 14.2 on end # HDA 0x4383 - device pci 14.3 on end # LPC 0x439d + device pci 14.3 on # LPC 0x439d + chip drivers/pc80/tpm + device pnp 0c31.0 on end + end # LPC TPM + end device pci 14.7 on end # SD end #chip southbridge/amd/pi/hudson
--- src/mainboard/amd/bettong/Kconfig 2018-05-10 09:39:18.000000000 +0200 +++ src/mainboard/amd/bettong/Kconfig 2018-06-18 12:36:10.014905977 +0200 @@ -27,7 +27,9 @@ select HAVE_ACPI_TABLES select BOARD_ROMSIZE_KB_8192 select GFXUMA - + select MAINBOARD_HAS_LPC_TPM + select TPM + config MAINBOARD_DIR string default amd/bettong
--- src/mainboard/amd/bettong/romstage.c 2018-05-10 09:39:18.000000000 +0200 +++ src/mainboard/amd/bettong/romstage.c 2018-06-22 09:57:09.650663554 +0200 @@ -24,6 +24,7 @@ #include <northbridge/amd/pi/agesawrapper.h> #include <northbridge/amd/pi/agesawrapper_call.h> #include <southbridge/amd/pi/hudson/hudson.h> +#include <security/tpm/tis.h>
void cache_as_ram_main(unsigned long bist, unsigned long cpu_init_detectedx) { @@ -67,6 +68,8 @@ post_code(0x41); AGESAWRAPPER(amdinitenv);
+ init_tpm(false); + if (acpi_is_wakeup_s4()) { outb(0xEE, PM_INDEX); outb(0x8, PM_DATA);
Now the demoboard boots and a new option for TPM is displayed on screen (t for TPM actions),
the grub is loaded ok, but the kernel complains with the next lines I've been able to write down
from a pic I took with the phone.
object-220) ACPI Error: Method parse/execution failed , AE_NOT_FOUND (20180313/psparse-516) ACPI Error: Invalid zero thread count in method (20180313/dsmethod-760) ACPI Error: Invalid OwnerId: 0x00 (20180313/utownerid-156) ACPI Error: AE_NOT_FOUND, (SSDT:COREBOOT) while loading table (20180313/tbxfload-197) ACPI Error: 1 table load failures, 3 successful (20180313/tbxfload-215) ACPI BIOS Error (bug): Failure looking up [_SB.PCI0._CRS.TOM1], AE_NOT_FOUND (20180313/psargs-330) ACPI Error: Method parse/execution failed _SB.PCI0._CRS, AE_NOT_FOUND (20180313/psparse-516) ACPI BIOS Error (bug): Failure looking up [_SB.PCI0._CRS.TOM1], AE_NOT_FOUND (20180313/psargs-330) ACPI Error: Method parse/execution failed _SB.PCI0._CRS, AE_NOT_FOUND (20180313/psparse-516) ACPI BIOS Error (bug): Failure looking up [_SB.PCI0._CRS.TOM1], AE_NOT_FOUND (20180313/psargs-330) ACPI Error: Method parse/execution failed _SB.PCI0._CRS, AE_NOT_FOUND (20180313/psparse-516) acpi PNP0A08:00: Bus 0000:00 not present in PCI namespace Loading, please wait...
Anybody could help me to make the board boots again?
Regards
Jorge