- 16 May, 2012 4 commits
-
-
Hauke Mehrtens authored
This code is based on code from pcie_misc_config_fixup() in brcmsmac. This patch is part of the move of pci specific code from brcmsmac to bcma. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Tested-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
This code is based on code from pcicore_fixcfg() in brcmsmac. This patch is part of the move of pci specific code from brcmsmac to bcma. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Tested-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
This code is based on code from pcie_extendL1timer() in brcmsmac. This patch is part of the move of pci specific code from brcmsmac to bcma. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Tested-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
This struct contains information about the board, the chip is running on. The struct is filled for PCIe devices and SoCs. This information is used by b43 and will be used by brcmsmac soon. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Tested-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 06 Mar, 2012 1 commit
-
-
Arend van Spriel authored
Wireless Broadcom chips can have either their SPROM data stored on either external SPROM or on-chip OTP memory. Both are accessed through the same register space. This patch adds support for the on-chip OTP memory. Tested with: BCM43224 OTP and SPROM BCM4331 SPROM BCM4313 OTP This patch is in response to linux-wireless thread [1]. [1] http://article.gmane.org/gmane.linux.kernel.wireless.general/85426 Tested-by:
Saul St. John <saul.stjohn@gmail.com> Tested-by:
Rafal Milecki <zajec5@gmail.com> Tested-by:
Hauke Mehrtens <hauke@hauke-m.de> Cc: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 05 Mar, 2012 2 commits
-
-
Hauke Mehrtens authored
On SoCs the sprom is stored in the nvram in a special partition on the flash chip. The nvram contains the sprom for the main bus, but sometimes also for a pci devices using bcma. This patch makes it possible for the arch code to register a function to fetch the needed sprom from the nvram and provide it to the bcma code. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
This function is needed by the bcm47xx arch code to get the number of the ieee80211 core. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 06 Feb, 2012 6 commits
-
-
Hauke Mehrtens authored
This check is needed on the BCM43224 device as it says in the capabilities it has an sprom but is extra check says it has not. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
If we have two bcma buses on one computer the second will not work without this patch. Now each bus gets an own number. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
Some SoCs have a PCIe host controller to make it possible to attach some other devices to it, like an other Wifi card. This code was tested with an Netgear WNDR3400 (bcm4716 based), but should work with all bcma based SoCs. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
bcma_core_pci_hostmode_init() has to be in __devinit as it will call a function in that section and so all functions calling it also have to be in __devinit. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
There are many magic numbers used in the PCIe code. Replace them with some constants from the Broadcom SDK and also use them in the pcie host controller. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
Some SoCs have two pcie or gmac cores and we need to know the number of the specific core on the bus. This is the case for the BCM4706. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 17 Jan, 2012 1 commit
-
-
Linus Torvalds authored
Now the low-level driver actually gets informed that it is getting suspended and resumed. Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 13 Dec, 2011 3 commits
-
-
Arend van Spriel authored
Just scratching an itch here, but it makes more sense to use the static keyword if you think about how the compiler treats inline functions. Reviewed-by:
Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by:
Alwin Beukers <alwin@broadcom.com> Signed-off-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
Franky Lin <frankyl@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Arend van Spriel authored
The BCMA header only had definitions for 32-bit register access. Used those as a template for the 16-bit flavour. Also changed them to inline functions to be on the safe side. As offset parameter is used twice there would be a problem when used like this: bcma_set32(core, offset++, val); Reviewed-by:
Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by:
Alwin Beukers <alwin@broadcom.com> Signed-off-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
Franky Lin <frankyl@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 31 Oct, 2011 1 commit
-
-
Paul Gortmaker authored
The original implementations reference THIS_MODULE in an inline. We could include <linux/export.h>, but it is better to avoid chaining. Fortunately someone else already thought of this, and made a similar inline into a #define in <linux/device.h> for device_schedule_callback(), [see commit 523ded71 ] so follow that precedent here. Also bubble up any __must_check that were used on the prev. wrapper inline functions up one to the real __register functions, to preserve any prev. sanity checks that were used in those instances. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com>
-
- 19 Sep, 2011 1 commit
-
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 22 Aug, 2011 1 commit
-
-
Rafał Miłecki authored
We need to disable ext. PA lines for reading SPROM. It's disabled by default, but this patch allows using bcma after loading wl, which leaves workaround enabled. Cc: Arend van Spriel <arend@broadcom.com> Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 08 Aug, 2011 5 commits
-
-
Hauke Mehrtens authored
Add method to return the clock of the CPU. This is needed by the arch code to calculate the mips_hpt_frequency. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Acked-by:
Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
This adds support for serial console to bcma, when operating on an SoC. Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Acked-by:
Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
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 <hauke@hauke-m.de> Acked-by:
Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
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 <zajec5@gmail.com> Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Acked-by:
Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Hauke Mehrtens authored
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 <zajec5@gmail.com> Signed-off-by:
Hauke Mehrtens <hauke@hauke-m.de> Acked-by:
Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 22 Jul, 2011 1 commit
-
-
Rafał Miłecki authored
When using DMA, drivers need to pass special translation info to the hardware. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 19 Jul, 2011 6 commits
-
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Rafał Miłecki authored
Recent experiments have shown many cores share 0x1E0 register used for clock management. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Rafał Miłecki authored
Some cards do not use additional 0x30 offset for SPROM location. We do not know the real condition for it yet, make it BCM4331 specific for now. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 20 Jun, 2011 1 commit
-
-
Rafał Miłecki authored
Function managing IRQs is needed for external drivers like b43. On the other side we do not expect writing any hosts drivers outside of bcma, so this is safe to do not export functions related to this. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 10 Jun, 2011 1 commit
-
-
Arend van Spriel authored
In the brcm80211 driver we disable the 80211 core when the driver is 'down'. The bcma_core_disable() function exactly does the same as our implementation so exporting this function makes sense. Cc: linux-wireless@vger.kernel.org Cc: Rafal Milecki <zajec5@gmail.com> Signed-off-by:
Arend van Spriel <arend@broadcom.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 03 Jun, 2011 1 commit
-
-
Rafał Miłecki authored
In case of BCMA cards SPROM is located in the ChipCommon core, it is not mapped as separated host window. So far we have met only SPROMs rev 8. SPROM layout seems to be the same as for SSB buses, so we decided to share SPROM struct and some defines. For now we extract MAC address only, this can be improved of course. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 01 Jun, 2011 2 commits
-
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
Rafał Miłecki authored
Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 11 May, 2011 1 commit
-
-
Rafał Miłecki authored
Similar patch was commited to ssb. Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-
- 10 May, 2011 1 commit
-
-
Rafał Miłecki authored
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 <greg@kroah.com> Cc: Michael Büsch <mb@bu3sch.de> Cc: Larry Finger <Larry.Finger@lwfinger.net> Cc: George Kashperko <george@znau.edu.ua> Cc: Arend van Spriel <arend@broadcom.com> Cc: linux-arm-kernel@lists.infradead.org Cc: Russell King <rmk@arm.linux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Andy Botting <andy@andybotting.com> Cc: linuxdriverproject <devel@linuxdriverproject.org> Cc: linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> Signed-off-by:
Rafał Miłecki <zajec5@gmail.com> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
-