Jump to content

Broadcom Kona

From postmarketOS Wiki
Element logo Broadcom Kona Mainlining Community on Matrix.

Kona was Broadcom's mobile SoC platform, spanning the BCM281x5, BCM21654, BCM2166x and BCM23550 chipsets.

Current mainlining work is being done in the bcm-kona-mainline/linux repo on GitHub. Progress can be tracked by checking the issues on the issue tracker.

There is a separate wiki for Broadcom Kona hardware; see Mainline:Broadcom Kona on wiki.dissonant.dev. For a brief overview of mainlining steps, see the Introduction article.

The Broadcom chips used in Raspberry Pi devices (BCM2837, etc.) are completely different from the Kona chips, the only thing they share is the GPU (Videocore IV). The Kona series is also different from the BCM21553 and other earlier Broadcom SoCs.

SoC Arch Year Mainline UART USB Storage Display CPU GPU Pinctrl I²C Audio Video Thermal WiFi BT Modem GPS Camera Suspend
Broadcom BCM21654 armv7 2012 No - - - -
Broadcom BCM21664 armv7 2012 Yes Y N P P Y Y - - - -
Broadcom BCM23550 armv7 2013 Yes Y N P P Y Y - - - -
Broadcom BCM28155 armv7 2012 Yes - - - -

Devices

Broadcom BCM21663/BCM21664 (Hawaii)

Broadcom BCM21664
BCM21664T on the board for the Samsung Galaxy S Duos 2 (samsung-kyleprods).
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
Pinctrl
Works
I²C
Works
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

More information

Broadcom BCM23550 (Java)

Broadcom BCM23550
BCM23550 on the board for the Samsung Galaxy Grand Neo (samsung-baffinlite).
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 2013
Process 40nm
Mainline yes
Community Page https://github.com/bcm-kona-mainline
Components
CPU
Partial
UART
Works
Storage
Partial
USB
Broken
Pinctrl
Works
I²C
Works
Device Codename Mainline
GoClever Quantum2 400 goclever-quantum2400
Samsung Galaxy Grand Neo samsung-baffinlite P
Sony SmartWatch 3 sony-tetra

More information

Broadcom BCM21654 (Rhea)

Broadcom BCM21654
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
Device Codename Mainline
Samsung Galaxy Chat samsung-zanin
Samsung Galaxy Fame samsung-nevisp N
Samsung Galaxy Pocket Neo samsung-corsica

More information

Broadcom BCM28145/BCM28155 (Capri)

Broadcom BCM28155
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
Device Codename Mainline
Amazon Fire TV Stick (1st gen) amazon-montoya
Samsung Galaxy Grand Duos samsung-baffin N
Samsung Galaxy SII Plus samsung-i9105p

More information

Mainline status

All Broadcom Kona-related mainlining work is currently being done in the bcm-kona-mainline/linux repo. At the moment, the BCM21664 and BCM23550 are being actively worked on there; the mainline kernel also has support for the BCM28155, and adding support for the BCM21654 should be relatively trivial, but they are planned to be supported at a later date.

Both the BCM21664 and the BCM23550 can boot into a complete system; I2C is fully working, and GPIO works as well. The SD card prints some errors but appears to be working on the Samsung Galaxy Grand Neo (samsung-baffinlite); internal storage works as well, but has some problems on some BCM21664 devices (at least the Samsung Galaxy Core Plus (samsung-cs02)). Display works through simple-framebuffer; GPU support will come at a later point, but is made easier by the fact that the VC4 chip is already well-supported thanks to being included in the Raspberry Pi 3 and earlier. USB is broken.

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)