[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