From: Bin Meng Date: Tue, 29 Aug 2017 05:09:11 +0000 (-0700) Subject: x86: baytrail: acpi: Add full reset bit to the reset register value in FADT X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=3fe6e6e2aa084d857af8a7e4663baf0451c33b30;p=u-boot.git x86: baytrail: acpi: Add full reset bit to the reset register value in FADT It was noticed a few times, that the reboot from Linux (reboot command) is different from the reboot (reset command) under U-Boot. The U-Boot version does seem to reset the board more deeply (PCI cards etc) than the Linux reboot. This is actually caused by missing full reset bit in the reset register value in the ACPI FADT table. Reported-by: Stefan Roese Signed-off-by: Bin Meng Tested-by: Stefan Roese --- diff --git a/arch/x86/cpu/baytrail/acpi.c b/arch/x86/cpu/baytrail/acpi.c index cbefdf871d..7aac634d66 100644 --- a/arch/x86/cpu/baytrail/acpi.c +++ b/arch/x86/cpu/baytrail/acpi.c @@ -73,7 +73,7 @@ void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs, fadt->reset_reg.access_size = ACPI_ACCESS_SIZE_BYTE_ACCESS; fadt->reset_reg.addrl = IO_PORT_RESET; fadt->reset_reg.addrh = 0; - fadt->reset_value = SYS_RST | RST_CPU; + fadt->reset_value = SYS_RST | RST_CPU | FULL_RST; fadt->x_firmware_ctl_l = (u32)facs; fadt->x_firmware_ctl_h = 0;