| Both sides previous revision Previous revision Next revision | Previous revision |
| dev:bhnd_4 [2016/05/29 22:47] – Add link to (empty) PMU page, patent documenting PMU clock design. LandonFuller | dev:bhnd_4 [2020/12/15 01:41] (current) – Remove 5 broken links & fix 1 typo. SashaVigole |
|---|
| The bhnd driver provides a unified kernel bus interface to the on-chip interconnects used in Broadcom Home Networking Division (HND) devices. | The bhnd driver provides a unified kernel bus interface to the on-chip interconnects used in Broadcom Home Networking Division (HND) devices. |
| |
| The Broadcom HND device family consists of [[/SoCs|SoCs]] (System On a Chip) and host-connected chipsets based on a common library of Broadcom IP cores connected via an internal hardware bus architecture. Drivers for these common IP cores are implemented against the unified bhnd interface. | The Broadcom HND device family consists of %%SoCs%% (System On a Chip) and host-connected chipsets based on a common library of Broadcom IP cores connected via an internal hardware bus architecture. Drivers for these common IP cores are implemented against the unified bhnd interface. |
| |
| ===== Supported Interconnects ===== | ===== Supported Interconnects ===== |
| |
| * android [[https://android.googlesource.com/kernel/common.git/+/bcmdhd-3.10/drivers/net/wireless/bcmdhd/|bcmhd]] | * android [[https://android.googlesource.com/kernel/common.git/+/bcmdhd-3.10/drivers/net/wireless/bcmdhd/|bcmhd]] |
| * linux [[http://xref.plausible.coop/source/xref/linux-master/drivers/net/wireless/broadcom/brcm80211/|brcm80211 driver release]] | * linux brcm80211 driver release |
| * linux-staging [[https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/brcm80211?h=v2.6.37|brcm80211 driver release]]. This source release by Broadcom contains additional defines/constants, and more of the code is ISC-licensed. | * linux-staging [[https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/brcm80211?h=v2.6.37|brcm80211 driver release]]. This source release by Broadcom contains additional defines/constants, and more of the code is ISC-licensed. |
| |
| Additionally, Linux also includes non-Broadcom GPL drivers covering a partially overlapping set of supported hardware: | Additionally, Linux also includes non-Broadcom GPL drivers covering a partially overlapping set of supported hardware: |
| |
| * [[http://xref.plausible.coop/source/xref/linux-master/drivers/ssb/|ssb (Sonics)]] bus driver. | * ssb (Sonics) bus driver. |
| * [[http://xref.plausible.coop/source/xref/linux-master/drivers/bcma/|bcma (AMBA]] bus driver. This duplicates a fair bit of the ssb driver's code. | * bcma (AMBA) bus driver. This duplicates a fair bit of the ssb driver's code. |
| * [[http://xref.plausible.coop/source/xref/linux-master/drivers/net/wireless/b43/|b43]] reverse-engineered bcm43xx wifi driver. | * b43 reverse-engineered bcm43xx Wi-Fi driver. |
| |
| For more general background information on %%SoC%% interconnects (and specifically, AMBA, Sonics, and OCP), [[http://www.amazon.com/On-Chip-Communication-Architectures-Interconnect-Systems/dp/012373892X|On-Chip Communication Architectures: System on Chip Interconnect]] is a decent (if light) reference. | For more general background information on %%SoC%% interconnects (and specifically, AMBA, Sonics, and OCP), [[http://www.amazon.com/On-Chip-Communication-Architectures-Interconnect-Systems/dp/012373892X|On-Chip Communication Architectures: System on Chip Interconnect]] is a decent (if light) reference. |