On 11/16/2012 09:17 PM, Elliott Mitchell wrote:
> On Fri, Nov 16, 2012 at 06:13:56PM +0100, Hauke Mehrtens wrote:
>> On 11/16/2012 05:44 AM, Elliott Mitchell wrote:
>>> I happened to be browsing the linux-mips git repository and noticed the
>>> commit at Tue, 10 Jul 2012 16:16:47.
>> What commit are you talking about? Do you have a commit id?
> Looking at:
> I'm guessing "1dfef20a4cf82997d4c7520138ed8188a181241c" is the commit id.
> Subject is: "brcmsmac: remove PCI_FORCEHT() macro"
> Description is:
> The BCM4716 is a SoC and does not have a PCI client interface, so this
> condition is never true.
> Acked-by: Arend van Spriel <firstname.lastname@example.org>
> Signed-off-by: Hauke Mehrtens <email@example.com>
> Signed-off-by: John W. Linville <firstname.lastname@example.org>
> I'm guessing the piece of code is invoked on all flavors of bcm471,
> so while it doesn't get invoked on most devices, some of them it
> definitely can be.
I have never seen a bcm4718 with a PCIe controller running in client
mode and it does not make sense to me. PCIe client mode means it is
connected to some other controller like in a Intel chipset in a desktop
PC, but there you would use a normal PCIe card and not a SoC. The
controller is normally running in host mode, so an other PCIe card like
the BCM43224 could be connected to the PCIe controller in the SoC. I
have a Netgear WNDR3400 with a BCM4718 and a BCM43224 connected to the
PCIe host controller in the SoC.
>>> The Broadcom 4716 *does* have an external PCI Express interface! Take a
>>> look at the images on http://wiki.openwrt.org/toh/asus/rt-n16 If you
>>> look at the image of the underside
>>> (http://wiki.openwrt.org/_media/inbox/rt-n16_back_hires.jpg) on the right
>>> side, CON3 and CON5 are the solder pads for mounting a mini-PCIe
>>> connector and bracket. Apparently V11 is a voltage regulator needed for
>>> that to work, but on this an example of a Broadcom 4716 board that really
>>> does allow a useable PCIe interface (with some hardware hacking).
>> Are you sure the Asus rt-n16 has a BCM4716 and not an BCM4718? Both have
>> the same chip id (0x4716), but a different revision number (BCM4716 =
>> rev 8, BCM4718 = rev 10). The BCM4716 and BCM4717 do not have a PCIe
>> controller, just the BCM4718 has one .
> I'm not actually. Currently exploring a device with ASUS's minimal shell
> they give you. According to /proc/cpuinfo, "system type: Broadcom
> BCM4716 chip rev 1 pkg 10". If I'm looking at the correct byte in
> /sys/devices/[...]/config, it does in fact appear to be 0x0A (decimal
So it is a BCM4718 with a PCIe controller.
> I've seen photos of some people in Taiwan who soldered something at V11
> (presumably a voltage regulator, it's all Chinese to me). I'm guessing
> they did in fact get a MiniPCIe card to work, but everything is in the
> wrong language. :-) The crucial build photo of the regulator module
> has disappeared, so it is more difficult to reconstruct.
Yes that could be possible and mainline linux would support such a
setup. Be aware that the PCIe controller in the BCM4718 reorders some of
the PCIe writes and reads, which causes some problems.