Broadcom Kona
Broadcom Kona Mainlining Community on Matrix. |
Kona was Broadcom's mobile SoC platform. Most notably, Kona chips were used in multiple budget Samsung devices, as well as the Sony SmartWatch 3 (sony-tetra) and the Amazon Fire TV Stick 1st gen (amazon-montoya).
The Broadcom chips used in Raspberry Pi devices (BCM2837, etc.) are actually completely different from the Kona chips, the only thing they share is the GPU (Videocore IV).
Mainline status
Development for the Samsung Galaxy Grand Neo (samsung-baffinlite) (BCM23550), as well as the Samsung Galaxy Trend Plus (samsung-kylepro) and the Samsung Galaxy Core Plus (samsung-cs02) (BCM21664), is currently (slowly) happening in the bcm-kona-mainline organization on GitHub.
There is no active work being done on the BCM28155 or BCM21654-based devices yet.
BCM21664/BCM23550
The BCM21664 and BCM23550 are pretty much identical (the only difference is the CPU and some multimedia stuff), so most drivers can be reused between the two. They're often paired with the BCM59054 PMU and the BCM2093 modem.
Currently, the 3 devices being worked on can boot into the initramfs (with at least the Grand Neo being able to boot to the entire OS). The BCM59054 PMU used in these devices works with the BCM59056 driver - some modifications have been made to add proper support for the different regulators in the bcm-kona-mainline repository.
On at least the BCM23550, SMP does not work. Some peripherals are slowly being enabled, but the general support is still quite bare-bones.
The relevant patches will be upstreamed soon; see the upstreaming progress issue.
Progress can be tracked in this issue in the bcm-kona-mainline/linux repository.
SoC | Arch | Year | UART | USB | Storage | Display | CPU | GPU | Pinctrl | I²C | Audio | Video | Thermal | WiFi | BT | Modem | GPS | Camera | Suspend |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Broadcom BCM21664 | armv7 | 2012 | Y | N | P | P | Y | Y | - | - | - | - | |||||||
Broadcom BCM23550 | armv7 | 2012 | Y | N | P | P | Y | Y | - | - | - | - |
History
The initial work for Kona mainlining was started around 2012, when the board_bcm generic device and some extra drivers were added to the kernel (commit). Proper board development, as well as the addition of board files for the BCM21664 started around 2013, and ended around 2014, with a few commits to some devices later on (see: BCM21664 bringup). Support for the BCM23550 was added around 2016 (see: BCM23550 bringup).
Many Kona platform devices also make use of BCM590XX PMUs; initial support for one of them - the BCM59056 - was added in early 2014. According to a message on the Linux mailing list, support was planned for the similar BCM59054, however it has not been merged into upstream.
In 2014 Broadcom stopped its Mobile SoC activities, which also stopped further developments from Linaro (see this mail on the mailing list).
See also: Broadcom's old website with a list of their mobile chips (archive)
Chipsets
Broadcom BCM21663/BCM21664 (Hawaii)
BCM21664T on the board for the Samsung Galaxy S Duos 2 (samsung-kyleprods). | |
Manufacturer | Broadcom |
---|---|
Name | BCM21664 |
Codenames | Hawaii |
Architecture | armv7 |
CPU | 2x 1.2 GHz ARM Cortex-A9 |
GPU | Broadcom VideoCore IV |
Year | 2012 |
Process | 40nm |
Mainline | yes |
Community Page | https://github.com/bcm-kona-mainline |
Components | |
CPU |
Partial |
UART |
Works |
Storage |
Partial |
USB |
Broken |
Display | |
GPU | |
Pinctrl |
Works |
I²C |
Works |
SPI | |
Audio | |
Video | |
Thermal | |
Camera | |
NPU | |
Suspend | |
Ethernet | |
Sata | |
Devices
Device | Codename | Mainline |
---|---|---|
Samsung Galaxy Ace 3 3G | samsung-logan | - |
Samsung Galaxy Ace 3 Duos | samsung-logands | N |
Samsung Galaxy Core Plus | samsung-cs02 | P |
Samsung Galaxy S Duos 2 | samsung-kyleprods | |
Samsung Galaxy Trend Lite | samsung-kylevess | P |
Samsung Galaxy Trend Plus | samsung-kylepro | P |
TODO: Document variants. |
Specifications
- Dual-core 1.2 GHz ARM Cortex-A9 CPU
- VideoCore IV GPU
Mainline status
There's a dtsi available for the 1.2Ghz variant of this chipset in the mainline kernel. The weaker variant is not supported, but it's most likely as easy as changing the BCM21664 DTSI (as they both share the same source code in downstream).
Some mainlining progress was made by Deata (see deata/kylepro-mainlining on GitLab), and it is being continued in the bcm-kona-mainline/linux repo on GitHub.
More information
Broadcom BCM23550 (Java)
Pretty much identical to the BCM21664, but with a different CPU.
BCM23550 on the board for the Samsung Galaxy Grand Neo (samsung-baffinlite). | |
Manufacturer | Broadcom |
---|---|
Name | BCM23550 |
Codenames | Java |
Architecture | armv7 |
CPU | 4x 1.2 GHz ARM Cortex-A7 |
GPU | Broadcom VideoCore IV |
Year | 2012 |
Process | 40nm |
Mainline | yes |
Community Page | https://github.com/bcm-kona-mainline |
Components | |
CPU |
Partial |
UART |
Works |
Storage |
Partial |
USB |
Broken |
Display | |
GPU | |
Pinctrl |
Works |
I²C |
Works |
SPI | |
Audio | |
Video | |
Thermal | |
Camera | |
NPU | |
Suspend | |
Ethernet | |
Sata | |
Devices
Device | Codename | Mainline |
---|---|---|
GoClever Quantum2 400 | goclever-quantum2400 | |
Samsung Galaxy Grand Neo | samsung-baffinlite | P |
Sony SmartWatch 3 | sony-tetra |
Specifications
- Quad-core 1.2 GHz ARM Cortex-A7 CPU
- VideoCore IV GPU
Mainline status
There's a dtsi available for this chipset in the mainline kernel.
Some mainlining progress was made by knuxify (see bcm-kona-mainline/linux on GitHub).
More information
Broadcom BCM21654 (Rhea)
Manufacturer | Broadcom |
---|---|
Name | BCM21654 |
Codenames | Rhea |
Architecture | armv7 |
CPU | 1x 850 MHz ARM Cortex-A9 |
GPU | Broadcom VideoCore IV |
Year | 2012 |
Process | 40nm |
Mainline | no |
Components | |
CPU | |
UART | |
Storage | |
USB | |
Display | |
GPU | |
Pinctrl | |
I²C | |
SPI | |
Audio | |
Video | |
Thermal | |
Camera | |
NPU | |
Suspend | |
Ethernet | |
Sata | |
Devices
Device | Codename | Mainline |
---|---|---|
Samsung Galaxy Chat | samsung-zanin | |
Samsung Galaxy Fame | samsung-nevisp | N |
Samsung Galaxy Pocket Neo | samsung-corsica |
Specifications
- Single-core 850 MHz ARM Cortex-A9 CPU
- VideoCore IV GPU
Mainline status
No DTSI. Similar in many ways to the BCM21664 that came after it (though notably "earlier" in some regards).
More information
Broadcom BCM28145/BCM28155 (Capri)
Manufacturer | Broadcom |
---|---|
Name | BCM28155 |
Codenames | Capri |
Architecture | armv7 |
CPU | 2x 1.2 GHz ARM Cortex-A9 |
GPU | Broadcom VideoCore IV |
Year | 2012 |
Process | 40nm |
Mainline | yes |
Components | |
CPU | |
UART | |
Storage | |
USB | |
Display | |
GPU | |
Pinctrl | |
I²C | |
SPI | |
Audio | |
Video | |
Thermal | |
Camera | |
NPU | |
Suspend | |
Ethernet | |
Sata | |
Devices
Device | Codename | Mainline |
---|---|---|
Amazon Fire TV Stick (1st gen) | amazon-montoya | |
Samsung Galaxy Grand Duos | samsung-baffin | N |
Samsung Galaxy SII Plus | samsung-i9105p |
Specifications
- Dual-core 1.2 GHz ARM Cortex-A9 CPU
- VideoCore IV GPU
Mainline status
There's a DTSI available for this chipset in the mainline kernel.