[U-Boot] [PATCH] x86: baytrail: acpi: Add full reset bit to the reset register value in FADT
Stefan Roese
sr at denx.de
Tue Aug 29 07:49:03 UTC 2017
On 29.08.2017 07:09, Bin Meng wrote:
> 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 <sr at denx.de>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> ---
>
> arch/x86/cpu/baytrail/acpi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/cpu/baytrail/acpi.c b/arch/x86/cpu/baytrail/acpi.c
> index cbefdf8..7aac634 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;
>
Very nice Bin, this does exactly what I was missing. :)
Tested-by: Stefan Roese <sr at denx.de>
Thanks,
Stefan
More information about the U-Boot
mailing list