Date: Wed, 15 Apr 2015 10:17:45 -0700 From: Justin Hibbits <jrh29@alumni.cwru.edu> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: Should the MPC8544 root complex really show up as a device? Message-ID: <CAHSQbTCSMtmAuTZCSBvzbYafPbBmxYX-qhGMLkDziTcBhWA3OQ@mail.gmail.com> In-Reply-To: <6368B454-B882-4D0B-ACBE-02AE0F78D7C5@xcllnt.net> References: <CAHSQbTBcrwYkLUE8F2MrpE_q=ooV2McEk%2BWjHwrzFr=3Lf_jcQ@mail.gmail.com> <6368B454-B882-4D0B-ACBE-02AE0F78D7C5@xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--089e012284ec8fc45a0513c68646 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Apr 13, 2015 at 3:39 PM, Marcel Moolenaar <marcel@xcllnt.net> wrote= : > >> On Apr 13, 2015, at 3:28 PM, Justin Hibbits <jrh29@alumni.cwru.edu> wrot= e: >> >> I'm trying to get the mini-PCIe slot on my RouterBoard RB800 working, >> and running into a snag. It works just fine in RouterOS (Linux), but >> on FreeBSD, the card in the slot doesn't show up. From all my >> Googling, it appears the slot should show up on PCIe controller 1, but >> the only device that shows up is the root complex as 1/0:0:0, as type >> Processor. Should this show up anyway? Shouldn't the device behind >> it show up instead? > > The problem is that the device is flagged as a processor, not > as a PCI bridge. That=E2=80=99s why it shows up and also why you don=E2= =80=99t > find anything underneath. One way to fix it is by spoofing the > device type in sys/powerpc/mpc85xx/pci_mpc85xx.c or otherwise > by changing common PCI code to accept this device as a (host) > bridge. > > HTH, > > -- > Marcel Moolenaar > marcel@xcllnt.net Thanks Marcel, I did try spoofing it in pci_mpc85xx.c, with the attached patch (patch includes quite a bit of debug as well). The reference manual doesn't indicate if the root complex appears on every controller, or just the first (there are 3 PCIe controllers on the MPC8544, and only the first has this device showing up). Maybe I'm missing something. This is new to me, and PCI configuration has always baffled me. Trying to read bus 1 on the controller (which is configured in the Second Bus register), I only saw 0xff returned during probing in fsl_pcib_init(). Been looking at the Linux driver for hints, but not a whole lot has come from that. Unfortunately, the last couple days my RouterBoard has decided it doesn't want to boot FreeBSD, so I have to debug that before I can continue working on this, but PCI register 0x4B0 (CFG_READY) seems a contender for needing initialized, although the documentation doesn't indicate if it's only relevant for EP mode or also relevant for RC mode. - Justin --089e012284ec8fc45a0513c68646 Content-Type: text/plain; charset=US-ASCII; name="pci_mpc85xx.diff" Content-Disposition: attachment; filename="pci_mpc85xx.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i8izapb91 SW5kZXg6IHN5cy9wb3dlcnBjL21wYzg1eHgvcGNpX21wYzg1eHguYwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBz eXMvcG93ZXJwYy9tcGM4NXh4L3BjaV9tcGM4NXh4LmMJKHJldmlzaW9uIDI4MTU0MSkKKysrIHN5 cy9wb3dlcnBjL21wYzg1eHgvcGNpX21wYzg1eHguYwkod29ya2luZyBjb3B5KQpAQCAtMjY5LDYg KzI2OSw3IEBACiAKIAlpZiAoc2MtPnNjX3BjaWUpIHsKIAkJbHRzc20gPSBmc2xfcGNpYl9jZmdy ZWFkKHNjLCAwLCAwLCAwLCBQQ0lSX0xUU1NNLCAxKTsKKwkJcHJpbnRmKCJQQ0kgJWQ6IExUU1NN ID0gJXhcbiIsIGRldmljZV9nZXRfdW5pdChkZXYpLCBsdHNzbSk7CiAJCWlmIChsdHNzbSA8IExU U1NNX1NUQVRfTDApIHsKIAkJCWlmIChib290dmVyYm9zZSkKIAkJCQlwcmludGYoIlBDSSAlZDog bm8gUENJRSBsaW5rLCBza2lwcGluZ1xuIiwKQEAgLTQ0NSw2ICs0NDYsMTkgQEAKIAl9CiB9CiAK K3N0YXRpYyB2b2lkCitmc2xfcGNpYl9pbml0X2ZzbChzdHJ1Y3QgZnNsX3BjaWJfc29mdGMgKnNj LCB1aW50MTZfdCBkZXZpY2UsIGludCBidXMsCisgICAgaW50IHNsb3QsIGludCBmbikKK3sKKwl1 aW50MTZfdCB2YWw7CisKKwl2YWwgPSBmc2xfcGNpYl9yZWFkX2NvbmZpZyhzYy0+c2NfZGV2LCBi dXMsIHNsb3QsIGZuLCAweDQ0LCAyKTsKKworCWZzbF9wY2liX3dyaXRlX2NvbmZpZyhzYy0+c2Nf ZGV2LCBidXMsIHNsb3QsIGZuLCAweDQ0LCB2YWwgfCAoMSA8PCAxMCksIDIpOworCWZzbF9wY2li X3dyaXRlX2NvbmZpZyhzYy0+c2NfZGV2LCBidXMsIHNsb3QsIGZuLCBQQ0lSX0xBVFRJTUVSLCAw LCAxKTsKKwlmc2xfcGNpYl93cml0ZV9jb25maWcoc2MtPnNjX2RldiwgYnVzLCBzbG90LCBmbiwg MHg0YjAsIDEsIDQpOworfQorCiBzdGF0aWMgaW50CiBmc2xfcGNpYl9pbml0X2JhcihzdHJ1Y3Qg ZnNsX3BjaWJfc29mdGMgKnNjLCBpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZ1bmMsCiAgICAgaW50 IGJhcm5vKQpAQCAtNTE2LDEyICs1MzAsMTUgQEAKIAl1aW50OF90IGNvbW1hbmQsIGhkcnR5cGUs IGNsYXNzLCBzdWJjbGFzczsKIAogCXNlY2J1cyA9IGJ1czsKKwlwcmludGYoIkNoZWNraW5nIGJ1 cyAlZCBtYXhzbG90OiAlZFxuIiwgc2VjYnVzLCBtYXhzbG90KTsKIAlmb3IgKHNsb3QgPSAwOyBz bG90IDw9IG1heHNsb3Q7IHNsb3QrKykgewogCQltYXhmdW5jID0gMDsKIAkJZm9yIChmdW5jID0g MDsgZnVuYyA8PSBtYXhmdW5jOyBmdW5jKyspIHsKKwkJCXByaW50ZigiUmVhZGluZyAlZC8lZC8l ZFxuIiwgYnVzLCBzbG90LCBmdW5jKTsKIAkJCWhkcnR5cGUgPSBmc2xfcGNpYl9yZWFkX2NvbmZp ZyhzYy0+c2NfZGV2LCBidXMsIHNsb3QsCiAJCQkgICAgZnVuYywgUENJUl9IRFJUWVBFLCAxKTsK IAorCQkJcHJpbnRmKCJSZWFkIGhkcnR5cGU6ICV4XG4iLCBoZHJ0eXBlKTsKIAkJCWlmICgoaGRy dHlwZSAmIFBDSU1fSERSVFlQRSkgPiBQQ0lfTUFYSERSVFlQRSkKIAkJCQljb250aW51ZTsKIApA QCAtNTM3LDYgKzU1NCw5IEBACiAJCQkJc2MtPnNjX2RldmZuX3R1bmRyYSA9IERFVkZOKGJ1cywg c2xvdCwgZnVuYyk7CiAJCQkJY29udGludWU7CiAJCQl9CisJCQlpZiAodmVuZG9yID09IDB4MTk1 NyAmJiBkZXZpY2UgPT0gMHgzMykgeworCQkJCWZzbF9wY2liX2luaXRfZnNsKHNjLCBkZXZpY2Us IGJ1cywgc2xvdCwgZnVuYyk7CisJCQl9CiAKIAkJCWNvbW1hbmQgPSBmc2xfcGNpYl9yZWFkX2Nv bmZpZyhzYy0+c2NfZGV2LCBidXMsIHNsb3QsCiAJCQkgICAgZnVuYywgUENJUl9DT01NQU5ELCAx KTsKQEAgLTU3MCw2ICs1OTAsMTYgQEAKIAkJCXN1YmNsYXNzID0gZnNsX3BjaWJfcmVhZF9jb25m aWcoc2MtPnNjX2RldiwgYnVzLCBzbG90LAogCQkJICAgIGZ1bmMsIFBDSVJfU1VCQ0xBU1MsIDEp OwogCisJCQkvKiBRdWlyazogUm9vdCBjb21wbGV4IGlzIGEgYnJpZGdlLiAqLworCQkJaWYgKGhk cnR5cGUgPT0gUENJTV9IRFJUWVBFX0JSSURHRSkgeworCQkJCXByaW50ZigiVHJlYXRpbmcgQkRG ICVkLyVkLyVkIGNsYXNzICV4OiV4IGFzIGEgYnJpZGdlXG4iLAorCQkJCQlidXMsIHNsb3QsIGZ1 bmMsIGNsYXNzLCBzdWJjbGFzcyk7CisJCQkJY2xhc3MgPSBQQ0lDX0JSSURHRTsKKwkJCQlzdWJj bGFzcyA9IFBDSVNfQlJJREdFX1BDSTsKKwkJCQlmc2xfcGNpYl93cml0ZV9jb25maWcoc2MtPnNj X2RldiwgYnVzLCBzbG90LCBmdW5jLCBQQ0lSX0NMQVNTLCBjbGFzcywgMSk7CisJCQkJZnNsX3Bj aWJfd3JpdGVfY29uZmlnKHNjLT5zY19kZXYsIGJ1cywgc2xvdCwgZnVuYywgUENJUl9TVUJDTEFT Uywgc3ViY2xhc3MsIDEpOworCQkJfQorCiAJCQkvKiBBbGxvdyBvbmx5IHByb3BlciBQQ0ktUENJ IGJyaWdlcyAqLwogCQkJaWYgKGNsYXNzICE9IFBDSUNfQlJJREdFKQogCQkJCWNvbnRpbnVlOwo= --089e012284ec8fc45a0513c68646--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTCSMtmAuTZCSBvzbYafPbBmxYX-qhGMLkDziTcBhWA3OQ>