19 Jul, 2016

1 commit

  • So far we had only MIPS devices with serial flash connected to the SoC's
    ChipCommon. ARM devices got a separated SPI controller and weere using
    standard SPI drivers.
    This has changed with the wireless SoC BCM47189B0. It's ARM based but
    has serial flash attached just like older devices. This allows using
    existing driver with these devices.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     

07 Mar, 2016

1 commit

  • This follows the way of handling other flashes and cleans code a bit. As
    next task we will want to move flash code to ChipCommon driver as:
    1) Flash controllers are accesible using ChipCommon registers
    2) This code isn't MIPS specific
    This change prepares bcma for that.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     

18 Aug, 2015

1 commit


08 Jun, 2015

1 commit

  • This extension of BCMA_DRIVER_PCI has no reason to depend on
    BCMA_HOST_PCI. User may just want to have PCI device attached to SoC
    registered without enabling any extra client mode code.
    This can be useful when having non-bcma PCI device attached or when
    using other PCI driver.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     

13 Mar, 2015

2 commits


05 Mar, 2015

2 commits

  • Driver for PCIe core requires PCI to be enabled, however we shouldn't
    require it for the whole bus. Someone may be not interested in extra
    PCI devices and what's more there are SoCs without any PCI at all (like
    BCM5356C0, BCM5357*, BCM47186B0). For more details see Kconfig "help".
    Please note this patch doesn't allow disabling PCI drivers yet, as it
    requires more work on calls to bcma_core_pci_* functions.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: Kalle Valo

    Rafał Miłecki
     
  • bcma also needs PCI, just like IOMEM and DMA, so let it depend on PCI,
    or will cause building break for allmodconfig under c6x:

    CC [M] drivers/bcma/driver_pcie2.o
    drivers/bcma/driver_pcie2.c: In function 'bcma_core_pcie2_up':
    drivers/bcma/driver_pcie2.c:196:8: error: implicit declaration of function 'pcie_set_readrq' [-Werror=implicit-function-declaration]
    err = pcie_set_readrq(dev, pcie2->reqsize);
    ^

    Signed-off-by: Chen Gang
    Signed-off-by: Kalle Valo

    Chen Gang
     

23 Jan, 2014

1 commit

  • Input GPIO changes can generate interrupts, but we need kind of ACK for
    them by changing IRQ polarity. This is required to stop hardware from
    keep generating interrupts and generate another one on the next GPIO
    state change.
    This code allows using GPIOs with standard interrupts and add for
    example GPIO buttons support.

    Signed-off-by: Rafał Miłecki
    Acked-by: Hauke Mehrtens
    Signed-off-by: John Crispin
    Patchwork: http://patchwork.linux-mips.org/patch/6216/

    Rafał Miłecki
     

23 Jul, 2013

1 commit


13 Jun, 2013

1 commit


03 Jan, 2013

1 commit

  • Commit cf0936b06d8e98a157630e99f647e2ff6d29d7ad ("bcma: add GPIO driver")
    added BCMA_DRIVER_GPIO, which unconditionally selects GPIOLIB, causing
    a Kconfig warning:

    warning: (ARCH_REQUIRE_GPIOLIB && SSB_DRIVER_GPIO && BCMA_DRIVER_GPIO && MFD_TC6393XB && FB_VIA) selects GPIOLIB which has unmet direct dependencies (ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB)

    and build failure for m68k/allmodconfig:

    In file included from include/linux/bcma/bcma.h:8,
    from drivers/bcma/bcma_private.h:9,
    from drivers/bcma/main.c:9:
    include/linux/bcma/bcma_driver_chipcommon.h:582: error: field ‘gpio’ has incomplete type
    In file included from include/linux/bcma/bcma.h:12,
    from drivers/bcma/bcma_private.h:9,
    from drivers/bcma/main.c:9:
    include/linux/ssb/ssb.h:440: error: field ‘gpio’ has incomplete type
    make[4]: *** [drivers/bcma/main.o] Error 1
    make[3]: *** [drivers/bcma/] Error 2

    Turn the select into a dependency to fix this.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: John W. Linville

    Geert Uytterhoeven
     

22 Nov, 2012

1 commit

  • Register a GPIO driver to access the GPIOs provided by the chip.
    The GPIOs of the SoC should always start at 0 and the other GPIOs could
    start at a random position. There is just one SoC in a system and when
    they start at 0 the number is predictable.

    Signed-off-by: Hauke Mehrtens
    Patchwork: http://patchwork.linux-mips.org/patch/4587
    Acked-by: Florian Fainelli

    Hauke Mehrtens
     

22 Aug, 2012

2 commits


18 Jul, 2012

1 commit


13 Jul, 2012

1 commit


11 Apr, 2012

1 commit

  • The following is seen during allmodconfig builds for MIPS:

    drivers/bcma/driver_pci_host.c:518:2: error: implicit declaration
    of function 'pcibios_enable_device' [-Werror=implicit-function-declaration]
    cc1: some warnings being treated as errors
    make[3]: *** [drivers/bcma/driver_pci_host.o] Error 1

    Most likey introduced by commit 49dc9577155576b10ff79f0c1486c816b01f58bf

    "bcma: add PCIe host controller"

    Add the header instead of implicitly assuming it will be present.
    Sounds like a good idea, but that alone doesn't fix anything.

    The real problem is that the Kconfig has settings related to whether
    PCI is possible, i.e.

    config BCMA_HOST_PCI_POSSIBLE
    bool
    depends on BCMA && PCI = y
    default y

    config BCMA_HOST_PCI
    bool "Support for BCMA on PCI-host bus"
    depends on BCMA_HOST_PCI_POSSIBLE

    ...but what is missing is that BCMA_DRIVER_PCI_HOSTMODE doesn't
    have any dependencies on the above. Add one.

    CC: Hauke Mehrtens
    CC: John W. Linville
    Signed-off-by: Paul Gortmaker
    Acked-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Paul Gortmaker
     

09 Aug, 2011

2 commits

  • This adds a mips driver to bcma. This is only found on embedded
    devices. For now the driver just initializes the irqs used on this
    system.

    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • This patch adds support for using bcma on a Broadcom SoC as the system
    bus. An SoC like the bcm4716 could register this bus and use it to
    searches for the bcma cores and register the devices on this bus.

    BCMA_HOSTTYPE_NONE was intended for SoCs at first but BCMA_HOSTTYPE_SOC
    is a better name.

    Acked-by: Rafał Miłecki
    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

08 Jul, 2011

1 commit


02 Jun, 2011

1 commit


11 May, 2011

1 commit

  • Broadcom has released cards based on a new AMBA-based bus type. From a
    programming point of view, this new bus type differs from AMBA and does
    not use AMBA common registers. It also differs enough from SSB. We
    decided that a new bus driver is needed to keep the code clean.

    In its current form, the driver detects devices present on the bus and
    registers them in the system. It allows registering BCMA drivers for
    specified bus devices and provides them basic operations. The bus driver
    itself includes two important bus managing drivers: ChipCommon core
    driver and PCI(c) core driver. They are early used to allow correct
    initialization.

    Currently code is limited to supporting buses on PCI(e) devices, however
    the driver is designed to be used also on other hosts. The host
    abstraction layer is implemented and already used for PCI(e).

    Support for PCI(e) hosts is working and seems to be stable (access to
    80211 core was tested successfully on a few devices). We can still
    optimize it by using some fixed windows, but this can be done later
    without affecting any external code. Windows are just ranges in MMIO
    used for accessing cores on the bus.

    Cc: Greg KH
    Cc: Michael Büsch
    Cc: Larry Finger
    Cc: George Kashperko
    Cc: Arend van Spriel
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Russell King
    Cc: Arnd Bergmann
    Cc: Andy Botting
    Cc: linuxdriverproject
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki