<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div>So, we're now very close to the end. Our COM and PS/2 works in SeaBIOS, but doesn't works in OS Linux.<br></div><div>Thanks Alexander for his help, It was really all about SerIRQ.<br></div><div><br></div><div>Repeating: we have SoC Intel Baytrail with Atom E3845 CPU and Super I/O SMSC 3114. And our problem was in broken PS/2 and COM-ports.<br><br>COM-port:<br>At first of all, we're commented out this line in soc/romstage/romstage.c:<br>    byt_config_com1_and_enable(); - from main(...) function.<br><br></div>And our COM1 sent for pretty small piece of coreboot log for us. But after few lines he died somewhere in FSP.<br></div><div>We're thought, FSP made byt_config_com1_and_enable's analogue and initialized Legacy UART again. So, were wrote little function:<br><br>void byt_config_com1_and_disable(void)<br>{<br>    uint32_t reg;<br><br>    reg = pci_read_config32(PCI_DEV(0, LPC_DEV, 0), UART_CONT);<br>    reg &= 0xFFFFFFF0;<br>    reg |= 0x02;    // Set uncorrect addresses for COMA and COMB<br>    pci_write_config32(PCI_DEV(0, LPC_DEV, 0), UART_CONT, reg);<br>}<br><br></div><div>And now we're see full coreboot log (+SeaBIOS log too).<br><br></div><div>What's about PS/2? We're found sc_enable_serial_irqs function in soc/intel/fsp_baytrail/southcluster.c with comments about suspicious interrupts by PS/2. It's body was empty because of define.<br></div><div>So, we're defined that (#define SETUPSERIQ) and added this option in our KConfig (select CONFIG_SERIRQ_CONTINUOUS_MODE). After all, PS/2 keyboard is works in SeaBIOS.</div><div><br></div><div>But know we're confused by OS Linux (latest Lubuntu). COM and PS/2 doesn't works, we're see "PS/2 controller not found" in dmesg.<br></div><div>Why It's works in SeaBIOS and isn''t works in OS? Is it because of uncorrect IRQs or we need correct our asl code?<br><br></div><div>Thank you all for your help and attention, Coreboot society!<br></div><div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">пт, 16 нояб. 2018 г. в 17:48, Alexander Couzens <<a href="mailto:lynxis@fe80.eu">lynxis@fe80.eu</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Konstantin,<br>
<br>
the IRQ are usually freely configurable via the LDN.<br>
Using the lower bits of 0x70h is quite common to select the IRQ.<br>
<br>
The SuperIO is connected via LPC, which supports all legacy IRQs by<br>
Serial-IRQ.<br>
Further, depending on the Chipset, it must allow to receive the IRQs<br>
over the SerIRQ line of the LPC.<br>
<br>
Best Regards,<br>
lynxis<br>
-- <br>
Alexander Couzens<br>
<br>
mail: <a href="mailto:lynxis@fe80.eu" target="_blank">lynxis@fe80.eu</a><br>
jabber: <a href="mailto:lynxis@fe80.eu" target="_blank">lynxis@fe80.eu</a><br>
mobile: +4915123277221<br>
gpg: 390D CF78 8BF9 AA50 4F8F  F1E2 C29E 9DA6 A0DF 8604<br>
</blockquote></div>