Skip site navigation (1)Skip section navigation (2)
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>