Broadcom Kona

From postmarketOS
Jump to navigation Jump to search

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 1st-gen Fire TV stick.

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 samsung-bcmkona-mainline organization on GitHub.

There is no active work being done on the BCM28155 or BCM21654-based devices yet.

BCM21664/BCM23550

Currently, the 3 devices being worked on can boot into the initramfs. 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 samsung-bcmkona-mainline repository.

SMP does not work (quite likely to be a regression, as it worked in Deata's kernel according to boot logs). Some clocks do not get initialized (presumably disabled by the bootloader, likely related to the pwr_mgr driver). USB does not work.

Progress can be tracked in this issue in the samsung-bcmkona-mainline/linux repository.

TODO Add a nicer support matrix.

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).

Chipsets

Broadcom BCM21664 (Hawaii)

Broadcom BCM21664
[[|200px|alt=]]
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
Components
CPU
Partial
UART
Works
Storage
Partial
USB
Broken
Display
GPU
Pinctrl
I²C
Works
Audio
Video
Thermal
WiFi
Bluetooth
Modem
GPS
Camera
Suspend


Devices

Device Codename Mainline
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)

More information

Broadcom BCM23550 (Java)

Shares a lot of common platform code with Hawaii chips, and has a lot of similar drivers.

Broadcom BCM23550
[[|200px|alt=]]
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
Components
CPU
Partial
UART
Works
Storage
Partial
USB
Broken
Display
GPU
Pinctrl
I²C
Works
Audio
Video
Thermal
WiFi
Bluetooth
Modem
GPS
Camera
Suspend


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 knuxdroid/baffinlite-mainline on GitHub).

More information

Broadcom BCM21654 (Rhea)

Broadcom BCM21654
[[|200px|alt=]]
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
Audio
Video
Thermal
WiFi
Bluetooth
Modem
GPS
Camera
Suspend


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. May be similar to the BCM28155, but this hasn't been researched yet.

More information

Broadcom BCM28155 (Capri)

Broadcom BCM28155
[[|200px|alt=]]
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 no
Components
CPU
UART
Storage
USB
Display
GPU
Pinctrl
I²C
Audio
Video
Thermal
WiFi
Bluetooth
Modem
GPS
Camera
Suspend


Devices

No results

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.

More information