Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Sep 2016 18:19:55 -0700
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        Russell Haley <russ.haley@gmail.com>
Cc:        "C.Dornig" <c_dornig@gmx.de>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Bananapi Pro WiFi Adapter
Message-ID:  <CAJ-VmomoW9Y3EsPwi%2BzvYowYRNGxJdxhE0wP35MgmV8Tim9MQg@mail.gmail.com>
In-Reply-To: <CABx9NuRP93mpmAaY6AAj9BXGVxZ3mBYe1YMfGb_y0-TS3chULw@mail.gmail.com>
References:  <14e39088-681f-7771-110e-69d364d26afb@gmx.de> <CAJ-VmomYCn_%2B3MWjcsoVKFY88hNFc%2BRqLFspA33h-gq4h4%2BSYw@mail.gmail.com> <CABx9NuRP93mpmAaY6AAj9BXGVxZ3mBYe1YMfGb_y0-TS3chULw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

So the bhnd/bcma is because of how the bus interconnect works between
all the logical units on a chip. Ie, the chip doesn't pretend to be
one big chip by hiding all of the AMBA interconnects inside the
functional blocks - it actively isn't pretending. So, for the PCI(e)
devices, when we want to speak to a different core we have to switch
out the active core and switch the new core into the register window
before we can access it.

The ath, iwn, etc NICs don't do this - they have some bus glue that
maps one big register window over the functional blocks. (eg atheros
chips tend to have MAC/DMA at low registers, MAC DCU/QCU at 4xxx, RTC
at 7xxx, PHY at 8xxx, per-chain stuff at 9xxx, axxx, bxxxx (chain0,
chain1, chain2), etc. It's still all AMBA or something similar inside,
it's just hidden from us by the host controller block.

So before we can port brcmfmac we need:

* bhnd so we can speak to the cores on the chip, control the power
management units, clock units, offload CPUs (eg injecting firmware
into the right bits), etc
* cam/mmc so we can speak to SDIO attached devices via CAM (ie, we
submit commands, get responses, get interrupts, etc) as the bus layer.

I hope that helps,


-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomoW9Y3EsPwi%2BzvYowYRNGxJdxhE0wP35MgmV8Tim9MQg>