1*91785f70SSimon Glass /* 2*91785f70SSimon Glass * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com> 3*91785f70SSimon Glass * 4*91785f70SSimon Glass * SPDX-License-Identifier: GPL-2.0+ 5*91785f70SSimon Glass */ 6*91785f70SSimon Glass 7*91785f70SSimon Glass #include <common.h> 8*91785f70SSimon Glass #include <errno.h> 9*91785f70SSimon Glass #include <asm/io.h> 10*91785f70SSimon Glass #include <asm/post.h> 11*91785f70SSimon Glass #include <asm/processor.h> 12*91785f70SSimon Glass #include <asm/fsp/fsp_support.h> 13*91785f70SSimon Glass 14*91785f70SSimon Glass int print_cpuinfo(void) 15*91785f70SSimon Glass { 16*91785f70SSimon Glass post_code(POST_CPU_INFO); 17*91785f70SSimon Glass return default_print_cpuinfo(); 18*91785f70SSimon Glass } 19*91785f70SSimon Glass 20*91785f70SSimon Glass void reset_cpu(ulong addr) 21*91785f70SSimon Glass { 22*91785f70SSimon Glass /* cold reset */ 23*91785f70SSimon Glass outb(0x06, PORT_RESET); 24*91785f70SSimon Glass } 25*91785f70SSimon Glass 26*91785f70SSimon Glass 27*91785f70SSimon Glass int board_pci_post_scan(struct pci_controller *hose) 28*91785f70SSimon Glass { 29*91785f70SSimon Glass u32 status; 30*91785f70SSimon Glass 31*91785f70SSimon Glass /* call into FspNotify */ 32*91785f70SSimon Glass debug("Calling into FSP (notify phase INIT_PHASE_PCI): "); 33*91785f70SSimon Glass status = fsp_notify(NULL, INIT_PHASE_PCI); 34*91785f70SSimon Glass if (status != FSP_SUCCESS) 35*91785f70SSimon Glass debug("fail, error code %x\n", status); 36*91785f70SSimon Glass else 37*91785f70SSimon Glass debug("OK\n"); 38*91785f70SSimon Glass 39*91785f70SSimon Glass return 0; 40*91785f70SSimon Glass } 41*91785f70SSimon Glass 42*91785f70SSimon Glass void board_final_cleanup(void) 43*91785f70SSimon Glass { 44*91785f70SSimon Glass u32 status; 45*91785f70SSimon Glass 46*91785f70SSimon Glass /* call into FspNotify */ 47*91785f70SSimon Glass debug("Calling into FSP (notify phase INIT_PHASE_BOOT): "); 48*91785f70SSimon Glass status = fsp_notify(NULL, INIT_PHASE_BOOT); 49*91785f70SSimon Glass if (status != FSP_SUCCESS) 50*91785f70SSimon Glass debug("fail, error code %x\n", status); 51*91785f70SSimon Glass else 52*91785f70SSimon Glass debug("OK\n"); 53*91785f70SSimon Glass 54*91785f70SSimon Glass return; 55*91785f70SSimon Glass } 56