PCI: brcmstb: Augment driver for MIPs SOCs
authorJim Quinlan <jim2101024@gmail.com>
Thu, 9 Dec 2021 20:47:25 +0000 (15:47 -0500)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 11 Jan 2022 10:55:41 +0000 (11:55 +0100)
commitaa8589aac8e335e5e2e9a9de72a53913892e92f9
tree560612b0334115ade06c0c4b592d0b9c8a6f656b
parentd552ddeaab4a15a8dc157ac007833aa0b3706862
PCI: brcmstb: Augment driver for MIPs SOCs

The current brcmstb driver works for Arm and Arm64.  A few things are
modified here for us to support MIPs as well.

  o There are four outbound range register groups and each directs a window
    of up to 128MB.  Even though there are four 128MB DT "ranges" in the
    bmips PCIe DT node, these ranges are contiguous and are collapsed into
    a single range by the OF range parser.  Now the driver assumes a single
    range -- for MIPs only -- and splits it back into 128MB sizes.

  o For bcm7425, the config space accesses must be 32-bit reads or
    writes.  In addition, the 4k config space register array is missing
    and not used.

  o The registers for the upper 32-bits of the outbound window address do
    not exist.

  o Burst size must be set to 256 (this refers to an internal bus).

Signed-off-by: Jim Quinlan <jim2101024@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
drivers/pci/controller/Kconfig
drivers/pci/controller/pcie-brcmstb.c