<div dir="ltr">don't forget, you can write code that runs in user mode and drives the superio.<div><br></div><div>This is a handy way to test superio chips you're not sure about.</div><div><br></div><div>use iopl(3) to enable arbitrary Io port access, then inb/outb to try to get some idea what's going on.</div><div><br></div><div>This is obviously a little limited, since the firmware has already done lots of setup, but I've been able to learn things using this technique.</div><div><br></div><div>ron</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 4, 2017 at 9:43 AM Kyösti Mälkki <<a href="mailto:kyosti.malkki@gmail.com">kyosti.malkki@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Dec 4, 2017 at 2:44 PM, Gergely Kiss <<a href="mailto:mail.gery@gmail.com" target="_blank">mail.gery@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> I'm working on porting Coreboot to the ASUS AM1I-A motherboard and I'm a bit<br>
> stuck.<br>
><br>
> I could successfully build Coreboot but after flashing the ROM, my board<br>
> looks to be bricked...<br>
><br>
> Once powering on the board, the CPU fan spins up but then nothing happens, I<br>
> can't see any output on the serial console (the connection was tested prior<br>
> to flashing by running a getty on the COM port and it was working fine).<br>
><br>
<br>
Common errors: Forgetting to use correct super-IO config base address<br>
(0x2e vs 0x4e) and not providing 48MHz reference clock for the uart<br>
baudrate divisor. AMD hardware often uses configurable GPIO pins for<br>
this purpose, the code copied from biostar/am1ml may not be right for<br>
asus/am1l-a.<br>
<br>
You can dump those GPIO configurations eg. with iotools or even dd<br>
from /dev/mem. Related datasheets for the Kabini family should be<br>
available without NDAs.<br>
<br>
> The board is not fried as I can load back the vendor firmware and it boots<br>
> up absolutely fine.<br>
><br>
> I'd like to find out why Coreboot would not start but don't know what tool<br>
> would be the most suitable for debugging.<br>
><br>
> The chipset and the CPU is already supported by Coreboot but the SuperIO<br>
> chip is not. It looks to me the serial interfaces of ITE chips work the same<br>
> for all models so I believe using the common code for ITE SIO chips should<br>
> work but I'm unsure (no datasheet available).<br>
<br>
AM1 socket support is a hack anyways, grep for<br>
FORCE_AM1_SOCKET_SUPPORT. Your mileage may vary.<br>
<br>
It's not uncommon that PNP LDNs for the UARTs change within one vendor.<br>
Did you run util/superiotool and dump SIO settings from vendor boot?<br>
<br>
><br>
> Shall I use a PCIe serial interface card or rather try EHCI debugging? I'm<br>
> afraid in case the boot process halts at some early stage (like before<br>
> romstage) then I won't see any useful output using any of those.<br>
><br>
<br>
EHCI debug should be fine nowadays with AGESA, still not my first<br>
choice here for you.<br>
PCIe serial cards are untested, probably do not work early enough to<br>
be useful for you.<br>
Traditional serial port debug will also be silent before romstage...<br>
<br>
> Using a POST card would be a better approach I think but my board has a<br>
> single PCIe 4x slot which seems to be unsupported by POST cards I could find<br>
> on the web (except one from a Chinese vendor but it costs about $1k which is<br>
> way too expensive).<br>
<br>
Those mini-PCI-e POST cards with 7-seg displays are about 4 USD and<br>
your mainboard TPM connector seems to carry the required LPC signals.<br>
Remember to enable and route POSTs to LPC (kconfig POST_DEVICE_LPC).<br>
<br>
><br>
> Here's my WIP code for reference:<br>
><br>
> <a href="https://github.com/kissg1988/coreboot/tree/master/src/mainboard/asus/am1i-a" rel="noreferrer" target="_blank">https://github.com/kissg1988/coreboot/tree/master/src/mainboard/asus/am1i-a</a><br>
><br>
> Any idea how to proceed?<br>
><br>
<br>
Get one of those POST cards, try to show vendor/device ID registers<br>
from superio on the 7-seg display.<br>
<br>
> Thanks,<br>
> Gergely<br>
><br>
><br>
<br>
HTH,<br>
Kyösti<br>
<br>
> --<br>
> coreboot mailing list: <a href="mailto:coreboot@coreboot.org" target="_blank">coreboot@coreboot.org</a><br>
> <a href="https://mail.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://mail.coreboot.org/mailman/listinfo/coreboot</a><br>
<br>
--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org" target="_blank">coreboot@coreboot.org</a><br>
<a href="https://mail.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://mail.coreboot.org/mailman/listinfo/coreboot</a></blockquote></div>