25 Aug, 2011

1 commit


09 Aug, 2011

4 commits

  • 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
     
  • The chip common and mips core have to be setup early in the boot
    process to get the cpu clock.
    bcma_bus_early_register() gets pointers to some space to store the core
    data and searches for the chip common and mips core and initializes
    chip common. After that was done and the kernel is out of early boot we
    just have to run bcma_bus_register() and it will search for the other
    cores, initialize and register them.
    The cores are getting the same numbers as before.

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

    Hauke Mehrtens
     
  • This makes it possible to use this code in some other method.

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

    Hauke Mehrtens
     
  • Move the parsing of the EEPROM data in scan function for one core into
    an own function. Now we are able to use it in some other scan function
    as well.

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

    Hauke Mehrtens
     

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