[coreboot] [Mohon Peak] Console output on external UARTs behind PCIe
Patrick Agrain
patrick.agrain at alcatel-lucent.com
Wed Mar 11 17:44:30 CET 2015
Hi,
More information on this.
The POST code sequence (as far I can see, but I'm not Steeve Austin...) is:
40h -> 47h -> A9h
IMHO, we are parsing following code from
./src/southbridge/intel/fsp_rangeley/romstage.c
void main(FSP_INFO_HEADER *fsp_info_header)
{
uint32_t fd_mask = 0;
uint32_t func_dis = DEFAULT_PBASE + PBASE_FUNC_DIS;
/*
* Do not use the Serial Console before it is setup.
* This causes the I/O to clog and a side effect is
* that the reset button stops functioning. So
* instead just use outb so it doesn't output to the
* console when CONFIG_CONSOLE_POST.
*/
outb(0x40, 0x80);
/* Rangeley UART POR state is enabled */
console_init();
post_code(0x41);
/* Enable GPIOs BAR */
pci_write_config32(SOC_LPC_DEV, GBASE, DEFAULT_GPIOBASE|0x02);
early_mainboard_romstage_entry();
post_code(0x42);
rangeley_sb_early_initialization();
post_code(0x46);
/* Program any required function disables */
get_func_disables(&fd_mask);
if (fd_mask != 0) {
write32(func_dis, read32(func_dis) | fd_mask);
/* Ensure posted write hits. */
read32(func_dis);
}
/*
* Call early init to initialize memory and chipset. This function
returns
* to the romstage_main_continue function with a pointer to the HOB
* structure.
*/
post_code(0x47);
printk(BIOS_DEBUG, "Starting the Intel FSP (early_init)\n");
fsp_early_init(fsp_info_header);
die("Uh Oh! fsp_early_init should not return here.\n");
}
... and I'm affraid we get stucked in the fsp_early_init() function ... :-(
Regards.
Patrick Agrain
Le 11/03/2015 16:21, Patrick Agrain a écrit :
> Hello Kyösti,
>
> I tried what you suggested below:
>
> - Enabled EARLY_PCI_BRIDGE
> - Set Bridge at D:1 F:0
> - Enabled OXI PCIe952 and disabled SERIAL_PORT_ON_SUPERIO.
> Reboot Mohon Peak CRB: failed. No output. POST code at 0xA9.
>
> Will try to get further.
> If anybody has an idea...
>
> Regards,
> Patrick Agrain
>
> On Fri, 2015-03-06 at 17:25 +0100, Patrick Agrain wrote:
> >/ Hello everybody,
> />/
> />/ Do you think that it would be possible to output the console messages
> />/ from coreboot (seabios) on another UART port (strapped to be visible on
> />/ Memory-based space or IO Space) connected on a PCIe slot ?
> />/
> /
> Yes, it has been done before.
>
> I should have a hack for SeaBIOS to support memory-mapped UART
> somewhere, I will go and look. If I remember correctly SeaBIOS boot
> media selection only works from local keyboard, not over serial.
>
>
> >/ I've purchased a StarTech UART board with an OXPCIe952 chip, with the
> />/ same IDs as visible in ./src/drivers/uart/oxpcie.c.
> />/
> />/ On
> />/ http://www.coreboot.org/Serial_console#PCIe.2FMini_PCIe_based_serial_cards,
> />/ what is behind the sentence:
> />/ "In order to use the card for romstage debugging, minimal setup of the
> />/ PCIe bridge and the MPEX2S952 have to be added to romstage.c" ?
> />/
> /
> You need to enable OxPCIe support and set EARLY_PCI_BRIDGE_* variables
> in menuconfig. If you can boot to OS with that plaform, with the serial
> card installed, get the location of PCIe rootport (aka. parent bridge)
> for OxPCIe card with lspci -vv command.
>
>
>
> Once you have OS shell, both coreboot and SeaBIOS console messages are
> available from CBMEM console using 'cbmem -c' command.
>
> >/ Thanks in advance.
> />/ Best regards,
> />/ Patrick Agrain
> />/
> /
>
> HTH,
>
> Kyösti
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20150311/f8fcf6c4/attachment.html>
More information about the coreboot
mailing list