<div dir="ltr">Hi Nico,<div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 14, 2018 at 11:49 AM, Nico Huber <span dir="ltr"><<a href="mailto:nico.h@gmx.de" target="_blank">nico.h@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<span class="gmail-"><br>
On 14.01.2018 11:05, Kyösti Mälkki wrote:<br>
> On Sun, Jan 14, 2018 at 11:27 AM, Hal Martin <<a href="mailto:hal.martin@gmail.com">hal.martin@gmail.com</a>> wrote:<br>
</span><span class="gmail-">>> Just to verify again, I enabled all the PCI Express devices in the<br>
>> devicetree.cb to see if the missing devices would appear. Unfortunately they<br>
>> didn't.<br>
>><br>
><br>
> The log says some of those PCIe root ports are hidden/disabled:<br>
> PCI: Static device PCI: 00:1c.3 not found, disabling it.<br>
><br>
> You will want to look at your board's rcba_config() implementation for<br>
> the enablement, it essentially takes precedence over anything you have<br>
> in devicetree.cb. FD register 0x3418 should be of most interest to<br>
> you, and there is also RPFN 0x0404 that affects the enumeration of<br>
> 0:1c.0 PCIe root ports. Datasheet should be public.<br>
><br>
<br>
</span>Yep, they are disabled in `romstage.c`. I've commented on the commit<br>
that added the culprit.<br></blockquote><div><br></div><div>Thank you for finding this! I pulled your changes in 23255 and now the PCIe devices are detected in coreboot:</div><div><div>-[0000:00]-+-00.0  8086:0154</div><div>           +-01.0-[01]----00.0  8086:10d3</div><div>           +-01.1-[02]--</div><div>           +-02.0  8086:0166</div><div>           +-04.0  8086:0153</div><div>           +-14.0  8086:1e31</div><div>           +-19.0  8086:1502</div><div>           +-1a.0  8086:1e2d</div><div>           +-1b.0  8086:1e20</div><div>           +-1c.0-[03]----00.0  8086:10d3</div><div>           +-1c.1-[04]----00.0  8086:0082</div><div>           +-1c.2-[05]--</div><div>           +-1c.3-[06]--</div><div>           +-1c.4-[07]----00.0  10ec:8168</div><div>           +-1c.5-[08]--</div><div>           +-1c.6-[09]----00.0  8086:10d3</div><div>           +-1c.7-[0a]----00.0  8086:10d3</div><div>           +-1d.0  8086:1e26</div><div>           +-1e.0-[0b]--</div><div>           +-1f.0  8086:1e59</div><div>           +-1f.2  8086:1e03</div><div>           +-1f.3  8086:1e22</div><div>           +-1f.5  8086:1e09</div><div>           \-1f.6  8086:1e24</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Hal, generally you shouldn't set any register in your mainboard code<br>
that is already handled by the code for the respective chip (in this<br>
case sb/intel/bd82x6x/) unless you know what you are doing.<br></blockquote><div><br></div><div>I definitely do not know what I'm doing in this case. This code in romstage.c came from autoport.</div><div><br></div><div>Given your changes to the PCH code in 23255, is it really helpful to have autoport setting this?</div><div>Should autoport be setting PCIe device configuration in romstage.c at all? Or do we leave this to devicetree.cb and the PCH code?</div><div><br></div><div>-Hal</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="gmail-HOEnZb"><font color="#888888"><br>
Nico<br>
</font></span></blockquote></div><br></div></div>