mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-18 06:38:15 +01:00
x86: ivybridge: Use reset_cpu()
Now that reset_cpu() functions correctly, use it instead of directly accessing the port. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
ff6a8f3c06
commit
5021c81faa
@ -92,7 +92,7 @@ static int set_flex_ratio_to_tdp_nominal(void)
|
|||||||
|
|
||||||
/* Issue warm reset, will be "CPU only" due to soft reset data */
|
/* Issue warm reset, will be "CPU only" due to soft reset data */
|
||||||
outb(0x0, PORT_RESET);
|
outb(0x0, PORT_RESET);
|
||||||
outb(0x6, PORT_RESET);
|
outb(SYS_RST | RST_CPU, PORT_RESET);
|
||||||
cpu_hlt();
|
cpu_hlt();
|
||||||
|
|
||||||
/* Not reached */
|
/* Not reached */
|
||||||
@ -286,8 +286,7 @@ int print_cpuinfo(void)
|
|||||||
|
|
||||||
/* System is not happy after keyboard reset... */
|
/* System is not happy after keyboard reset... */
|
||||||
debug("Issuing CF9 warm reset\n");
|
debug("Issuing CF9 warm reset\n");
|
||||||
outb(0x6, 0xcf9);
|
reset_cpu(0);
|
||||||
cpu_hlt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Early chipset init required before RAM init can work */
|
/* Early chipset init required before RAM init can work */
|
||||||
|
@ -117,7 +117,6 @@ static inline void set_global_reset(int enable)
|
|||||||
|
|
||||||
int intel_early_me_init_done(u8 status)
|
int intel_early_me_init_done(u8 status)
|
||||||
{
|
{
|
||||||
u8 reset;
|
|
||||||
int count;
|
int count;
|
||||||
u32 mebase_l, mebase_h;
|
u32 mebase_l, mebase_h;
|
||||||
struct me_hfs hfs;
|
struct me_hfs hfs;
|
||||||
@ -156,7 +155,6 @@ int intel_early_me_init_done(u8 status)
|
|||||||
/* Check status after acknowledgement */
|
/* Check status after acknowledgement */
|
||||||
intel_early_me_status();
|
intel_early_me_status();
|
||||||
|
|
||||||
reset = 0;
|
|
||||||
switch (hfs.ack_data) {
|
switch (hfs.ack_data) {
|
||||||
case ME_HFS_ACK_CONTINUE:
|
case ME_HFS_ACK_CONTINUE:
|
||||||
/* Continue to boot */
|
/* Continue to boot */
|
||||||
@ -164,17 +162,17 @@ int intel_early_me_init_done(u8 status)
|
|||||||
case ME_HFS_ACK_RESET:
|
case ME_HFS_ACK_RESET:
|
||||||
/* Non-power cycle reset */
|
/* Non-power cycle reset */
|
||||||
set_global_reset(0);
|
set_global_reset(0);
|
||||||
reset = 0x06;
|
reset_cpu(0);
|
||||||
break;
|
break;
|
||||||
case ME_HFS_ACK_PWR_CYCLE:
|
case ME_HFS_ACK_PWR_CYCLE:
|
||||||
/* Power cycle reset */
|
/* Power cycle reset */
|
||||||
set_global_reset(0);
|
set_global_reset(0);
|
||||||
reset = 0x0e;
|
x86_full_reset();
|
||||||
break;
|
break;
|
||||||
case ME_HFS_ACK_GBL_RESET:
|
case ME_HFS_ACK_GBL_RESET:
|
||||||
/* Global reset */
|
/* Global reset */
|
||||||
set_global_reset(1);
|
set_global_reset(1);
|
||||||
reset = 0x0e;
|
x86_full_reset();
|
||||||
break;
|
break;
|
||||||
case ME_HFS_ACK_S3:
|
case ME_HFS_ACK_S3:
|
||||||
case ME_HFS_ACK_S4:
|
case ME_HFS_ACK_S4:
|
||||||
@ -182,10 +180,5 @@ int intel_early_me_init_done(u8 status)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Perform the requested reset */
|
|
||||||
if (reset) {
|
|
||||||
outb(reset, 0xcf9);
|
|
||||||
cpu_hlt();
|
|
||||||
}
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -393,8 +393,7 @@ int sdram_initialise(struct pei_data *pei_data)
|
|||||||
/* If MRC data is not found we cannot continue S3 resume. */
|
/* If MRC data is not found we cannot continue S3 resume. */
|
||||||
if (pei_data->boot_mode == PEI_BOOT_RESUME && !pei_data->mrc_input) {
|
if (pei_data->boot_mode == PEI_BOOT_RESUME && !pei_data->mrc_input) {
|
||||||
debug("Giving up in sdram_initialize: No MRC data\n");
|
debug("Giving up in sdram_initialize: No MRC data\n");
|
||||||
outb(0x6, PORT_RESET);
|
reset_cpu(0);
|
||||||
cpu_hlt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Pass console handler in pei_data */
|
/* Pass console handler in pei_data */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user