Denis 'GNUtoo' Carikli 985324a16e bcma: add HP Stream Notebook
In this laptop we have the following PCI device:
02:00.0 Network controller [0280]: Broadcom Limited BCM43142 802.11b/g/n [14e4:4365] (rev 01)
	Subsystem: Hewlett-Packard Company BCM43142 802.11b/g/n [103c:804a]
	[...]
	Region 0: Memory at 91000000 (64-bit, non-prefetchable) [size=32K]
	[...]

With this patch, we can now see its WiFi chip:
  bcma: bus0: Found chip with id 43142, rev 0x01 and package 0x08
  bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x28, class 0x0)
  bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x21, class 0x0)
  bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x16, class 0x0)
  bcma: bus0: Core 3 found: UNKNOWN (manuf 0x43B, id 0x368, rev 0x00, class 0x0)
  bcma: bus0: Found rev 15 PMU (capabilities 0x518C5E0F)
  bcma: bus0: SPROM offset 0x840
  bcma: bus0: Found SPROM revision 10
  bcma: bus0: Workarounds unknown or not needed for device 0xA886
  bcma: bus0: Bus registered

But it not yet supported by brcmsmac so it won't work for now:
  brcmsmac bcma0:1: brcms_b_attach wl0: vendor 0x14e4 device 0x4365
  brcmsmac: unknown device id 4365

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2018-02-28 16:37:22 +02:00
..
2015-03-03 15:26:38 +02:00
2017-12-07 15:33:02 +02:00
2018-02-28 16:37:22 +02:00
2015-01-29 10:49:28 +02:00

Broadcom introduced new bus as replacement for older SSB. It is based on AMBA,
however from programming point of view there is nothing AMBA specific we use.

Standard AMBA drivers are platform specific, have hardcoded addresses and use
AMBA standard fields like CID and PID.

In case of Broadcom's cards every device consists of:
1) Broadcom specific AMBA device. It is put on AMBA bus, but can not be treated
   as standard AMBA device. Reading it's CID or PID can cause machine lockup.
2) AMBA standard devices called ports or wrappers. They have CIDs (AMBA_CID)
   and PIDs (0x103BB369), but we do not use that info for anything. One of that
   devices is used for managing Broadcom specific core.

Addresses of AMBA devices are not hardcoded in driver and have to be read from
EPROM.

In this situation we decided to introduce separated bus. It can contain up to
16 devices identified by Broadcom specific fields: manufacturer, id, revision
and class.