
Hi Eric,
Thanks Marek,
On 11/11/2013 09:22 AM, Marek Vasut wrote:
Enable PCI express on MX6 Sabrelite.
Signed-off-by: Marek Vasut marex@denx.de Cc: Albert Aribaud albert.u.boot@aribaud.net Cc: Eric Nelson eric.nelson@boundarydevices.com Cc: Fabio Estevam fabio.estevam@freescale.com Cc: Stefano Babic sbabic@denx.de
board/boundary/nitrogen6x/nitrogen6x.c | 7 ++++++- include/configs/nitrogen6x.h | 11 +++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c index 1712908..46be51e 100644 --- a/board/boundary/nitrogen6x/nitrogen6x.c +++ b/board/boundary/nitrogen6x/nitrogen6x.c @@ -369,7 +369,12 @@ int board_eth_init(bd_t *bis)
free(bus);
}
#endif
- return 0;
I think this bit needs a different configuration option and should be disabled by default.
This activates all PCI/PCI-express ethernet cards, that's why CONFIG_PCI. I suppose testing CONFIG_CMD_NET would be a good idea here as well.
+#ifdef CONFIG_PCI
- ret = pci_eth_init(bis);
+#endif
It seems to lock up the system if you don't have the proper device connected.
I am attaching you a patch, can you please try with the attached patch ? It should fix your enumeration issue.
btw. I noticed there's no PCIe reset connected on the sabrelite, that's a bit bad, we found out the PCIe reset should be connected, otherwise the PCIe will misbehave upon init sometimes.
Without this bit, I was able to confirm proper enumeration of a PCIe bus with a USB 3.0 controller:
00:01.0 - 16c3:abcd - Bridge device 01:00.0 - 1b21:0612 - Mass storage controller
Unfortunately, in a quick test, the image fails to boot without a PCIe device connected, or oddly, with a different PCIe ethernet controller connected.
I think it's handy to have the placeholder here, but I think you're the only person on the planet with the right set of components to make it work at the moment.
I'd usually be proud by hearing that, but ... I can't say I'm too happy about this ;-)
Best regards, Marek Vasut