Broadcom Kona: Difference between revisions
m Move codenames to Infobox |
change matrix space address |
||
(45 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Userbox container| | |||
{{userbox | |||
| border-c = #19b187 | |||
{{ | | id = [[File:Element_Logomark.svg|Element logo|36px]] | ||
| id-c = #f4fffc | |||
| info = Broadcom Kona Mainlining Community on '''[https://matrix.to/#/#bcm-kona-mainline:dissonant.dev<span style="color: #066047 !important; text-decoration: underline !important;">Matrix</span>]'''. | |||
| info-c = #b5eadc | |||
{{ | | info-color = #022018 | ||
| | }} | ||
| | |||
| | |||
| | |||
| | |||
| | |||
= | |||
| | |||
| | |||
}} | }} | ||
Kona was Broadcom's mobile SoC platform, spanning the BCM281x5, BCM21654, BCM2166x and BCM23550 chipsets. | |||
Current mainlining work is being done in the [https://github.com/bcm-kona-mainline/linux bcm-kona-mainline/linux repo on GitHub]. Progress can be tracked by checking the issues on [https://github.com/bcm-kona-mainline/linux/issues the issue tracker]. | |||
There is a separate wiki for Broadcom Kona hardware; see [https://wiki.dissonant.dev/wiki/Mainline:Broadcom_Kona Mainline:Broadcom Kona on wiki.dissonant.dev]. For a brief overview of mainlining steps, see the [https://wiki.dissonant.dev/wiki/Mainline:Broadcom_Kona/Introduction 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. | |||
The only | |||
{{#cargo_query: | {{#cargo_query: | ||
tables= | tables=Socs | ||
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )= | |fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=SoC,Arch,Year,Mainline,StatusUart=UART,StatusUsb=USB,StatusStorage=Storage,StatusDisplay=Display,StatusCpu=CPU,StatusGpu=GPU,StatusPinctrl=Pinctrl,StatusI2c=I²C,StatusAudio=Audio,StatusVideo=Video,StatusThermal=Thermal,StatusWiFi=WiFi,StatusBluetooth=BT,StatusModem=Modem,StatusGps=GPS,StatusCamera=Camera,StatusSuspend=Suspend | ||
|order by= | |order by=Socs.Manufacturer, Socs.Name | ||
|where=Socs.Name="BCM21664" OR Socs.Name="BCM23550" OR Socs.Name="BCM28155" OR Socs.Name="BCM21654" | |||
|format=table | |format=table | ||
|limit=9999 | |limit=9999 | ||
|more results text= | |more results text= | ||
}} | }} | ||
=== | == Devices == | ||
== Broadcom BCM21664 == | === Broadcom BCM21663/BCM21664 (Hawaii) === | ||
{{Infobox soc | {{Infobox soc | ||
| name = BCM21664 | | name = BCM21664 | ||
| image = File:BCM21664T.png | |||
| imagecaption = BCM21664T on the board for the [[Samsung Galaxy S Duos 2 (samsung-kyleprods)]]. | |||
| manufacturer = Broadcom | | manufacturer = Broadcom | ||
| codenames = Hawaii | | codenames = Hawaii | ||
Line 127: | Line 41: | ||
| cpu = 2x 1.2 GHz ARM Cortex-A9 | | cpu = 2x 1.2 GHz ARM Cortex-A9 | ||
| gpu = Broadcom VideoCore IV | | gpu = Broadcom VideoCore IV | ||
| community_page = https://github.com/bcm-kona-mainline | |||
| process = 40 | | process = 40 | ||
| mainline = | | mainline = yes | ||
| status_cpu = | | status_cpu = P | ||
| status_uart = | | status_uart = Y | ||
| status_storage = | | status_storage = P | ||
| status_usb = | | status_usb = N | ||
| status_display = | | status_display = | ||
| status_gpu = | | status_gpu = | ||
| status_pinctrl = | | status_pinctrl = Y | ||
| status_i2c = | | status_i2c = Y | ||
| status_audio = | | status_audio = | ||
| status_video = | | status_video = | ||
| status_thermal = | | status_thermal = | ||
| status_wifi = | | status_wifi = - | ||
| status_bluetooth = | | status_bluetooth = - | ||
| status_modem = | | status_modem = - | ||
| status_camera = | | status_gps = - | ||
| status_camera = | |||
| status_npu = - | |||
| status_ethernet = - | |||
| status_sata = - | |||
}} | }} | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 154: | Line 70: | ||
|format=table | |format=table | ||
|limit=9999 | |limit=9999 | ||
|where=Devices.chipset='Broadcom BCM21664' OR Devices.chipset | |where=Devices.chipset='Broadcom BCM21664' OR Devices.chipset LIKE 'Broadcom BCM21664%' OR Devices.chipset='Broadcom BCM21663' | ||
|more results text= | |more results text= | ||
}} | }} | ||
==== More information ==== | |||
= | |||
=== More information === | |||
* [http://phonedb.net/index.php?m=processor&id=445&c=broadcom_bcm21664 phonedb.net] | * [http://phonedb.net/index.php?m=processor&id=445&c=broadcom_bcm21664 phonedb.net] | ||
* [https://web.archive.org/web/20140705060330/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM21664 Broadcom's website (archive)] | |||
== Broadcom BCM23550 == | === Broadcom BCM23550 (Java) === | ||
{{Infobox soc | {{Infobox soc | ||
| name = BCM23550 | | name = BCM23550 | ||
| image = File:BCM23550.png | |||
| imagecaption = BCM23550 on the board for the [[Samsung Galaxy Grand Neo (samsung-baffinlite)]]. | |||
| manufacturer = Broadcom | | manufacturer = Broadcom | ||
| codenames = Java | | codenames = Java | ||
| arch = armv7 | | arch = armv7 | ||
| year = | | year = 2013 | ||
| cpu = 4x 1.2 GHz ARM Cortex-A7 | | cpu = 4x 1.2 GHz ARM Cortex-A7 | ||
| gpu = Broadcom VideoCore IV | | gpu = Broadcom VideoCore IV | ||
| process = 40 | | process = 40 | ||
| | | community_page = https://github.com/bcm-kona-mainline | ||
| mainline = yes | | mainline = yes | ||
| status_cpu = | | status_cpu = P | ||
| status_uart = | | status_uart = Y | ||
| status_storage = | | status_storage = P | ||
| status_usb = | | status_usb = N | ||
| status_display = | | status_display = | ||
| status_gpu = | | status_gpu = | ||
| status_pinctrl = | | status_pinctrl =Y | ||
| status_i2c = | | status_i2c = Y | ||
| status_audio = | | status_audio = | ||
| status_video = | | status_video = | ||
| status_thermal = | | status_thermal = | ||
| status_wifi = | | status_wifi = - | ||
| status_bluetooth = | | status_bluetooth = - | ||
| status_modem = | | status_modem = - | ||
| status_gps = - | |||
| status_camera = | | status_camera = | ||
-- | | status_npu = - | ||
| status_ethernet = - | |||
| status_sata = - | |||
}} | }} | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 269: | Line 120: | ||
|format=table | |format=table | ||
|limit=9999 | |limit=9999 | ||
|where= | |where=Devices.chipset='Broadcom BCM23550' | ||
|more results text= | |more results text= | ||
}} | }} | ||
=== | ==== More information ==== | ||
* | * [http://phonedb.net/index.php?m=processor&id=470&c=broadcom_bcm23550 phonedb.net] | ||
* [https://web.archive.org/web/20140714225315/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM23550 Broadcom's website (archive)] | |||
* [https:// | |||
=== Broadcom BCM21654 (Rhea) === | |||
{{Infobox soc | {{Infobox soc | ||
| name = | | name = BCM21654 | ||
| manufacturer = Broadcom | | manufacturer = Broadcom | ||
| arch = | | codenames = Rhea | ||
| arch = armv7 | |||
| year = 2012 | | year = 2012 | ||
| cpu = | | cpu = 1x 850 MHz ARM Cortex-A9 | ||
| gpu = Broadcom VideoCore IV | | gpu = Broadcom VideoCore IV | ||
| process = 40 | | process = 40 | ||
| mainline = no | |||
| mainline = | |||
| status_cpu = | | status_cpu = | ||
| status_uart = | | status_uart = | ||
Line 303: | Line 148: | ||
| status_pinctrl = | | status_pinctrl = | ||
| status_i2c = | | status_i2c = | ||
| status_audio = | | status_audio = | ||
| status_video = | | status_video = | ||
| status_thermal = | | status_thermal = | ||
| status_wifi = | | status_wifi = - | ||
| status_bluetooth = | | status_bluetooth = - | ||
| status_modem = | | status_modem = - | ||
| status_gps = - | |||
| status_camera = | | status_camera = | ||
-- | | status_npu = - | ||
| status_ethernet = - | |||
| status_sata = - | |||
}} | }} | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 321: | Line 166: | ||
|format=table | |format=table | ||
|limit=9999 | |limit=9999 | ||
|where= | |where=Devices.chipset='Broadcom BCM21654' OR Devices.chipset='Broadcom BCM21654G' | ||
|more results text= | |more results text= | ||
}} | }} | ||
=== | ==== More information ==== | ||
* | * [http://phonedb.net/index.php?m=processor&id=384&c=broadcom_bcm21654 phonedb.net] | ||
* [https://web.archive.org/web/20140606063250/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM21654 Broadcom's website (archive)] | |||
* [https:// | |||
=== Broadcom BCM28145/BCM28155 (Capri) === | |||
{{Infobox soc | {{Infobox soc | ||
| name = | | name = BCM28155 | ||
| manufacturer = Broadcom | | manufacturer = Broadcom | ||
| codenames = Capri | |||
| arch = armv7 | | arch = armv7 | ||
| year = | | year = 2012 | ||
| cpu = | | cpu = 2x 1.2 GHz ARM Cortex-A9 | ||
| gpu = Broadcom VideoCore IV | | gpu = Broadcom VideoCore IV | ||
| process = 40 | | process = 40 | ||
| mainline = yes | | mainline = yes | ||
| status_cpu = | | status_cpu = | ||
Line 356: | Line 194: | ||
| status_pinctrl = | | status_pinctrl = | ||
| status_i2c = | | status_i2c = | ||
| status_audio = | | status_audio = | ||
| status_video = | | status_video = | ||
| status_thermal = | | status_thermal = | ||
| status_wifi = | | status_wifi = - | ||
| status_bluetooth = | | status_bluetooth = - | ||
| status_modem = | | status_modem = - | ||
| status_gps = - | |||
| status_camera = | | status_camera = | ||
-- | | status_npu = - | ||
| status_ethernet = - | |||
| status_sata = - | |||
}} | }} | ||
{{#cargo_query: | {{#cargo_query: | ||
tables=Devices | tables=Devices | ||
Line 374: | Line 212: | ||
|format=table | |format=table | ||
|limit=9999 | |limit=9999 | ||
|where= | |where=Devices.chipset='Broadcom BCM28155' OR Devices.chipset='Broadcom BCM28145' | ||
|more results text= | |more results text= | ||
}} | }} | ||
=== | ==== More information ==== | ||
* | * [https://phonedb.net/index.php?m=processor&id=380&c=broadcom_bcm28155 phonedb.net] | ||
* [https://web.archive.org/web/20140715134412/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM28145-28155 Broadcom's website (archive)] | |||
== Mainline status == | |||
All Broadcom Kona-related mainlining work is currently being done in the [https://github.com/bcm-kona-mainline/linux 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 ([https://github.com/torvalds/linux/commit/8ac49e0485bb79223a111b366a3b1f5ec9148729 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: [https://github.com/torvalds/linux/commit/c3ceebd7ca22ec9ffaeb7ff967719edd63479ccd BCM21664 bringup]). Support for the BCM23550 was added around 2016 (see: [https://github.com/torvalds/linux/commit/4533d5f7dd8bcf4d9348f1f8b707ca2599531183 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 [https://groups.google.com/g/linux.kernel/c/Uv9DocT5cec/m/RCQFWe9V-iYJ 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 [https://linux.kernel.narkive.com/zSes5B6k/patch-arm-mach-bcm-offer-a-new-maintainer-and-process this mail on the mailing list]). | |||
''See also: [https://web.archive.org/web/20140531014745/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms Broadcom's old website with a list of their mobile chips (archive)]'' | |||
Latest revision as of 20:36, 11 February 2025
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)
![]() 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 |
No data |
GPU |
No data |
Pinctrl |
Works |
I²C |
Works |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
Camera |
No data |
Suspend |
No data |
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)
![]() 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 |
Display |
No data |
GPU |
No data |
Pinctrl |
Works |
I²C |
Works |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
Camera |
No data |
Suspend |
No data |
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)
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 |
No data |
UART |
No data |
Storage |
No data |
USB |
No data |
Display |
No data |
GPU |
No data |
Pinctrl |
No data |
I²C |
No data |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
Camera |
No data |
Suspend |
No data |
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)
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 |
No data |
UART |
No data |
Storage |
No data |
USB |
No data |
Display |
No data |
GPU |
No data |
Pinctrl |
No data |
I²C |
No data |
SPI |
No data |
Audio |
No data |
Video |
No data |
Thermal |
No data |
Camera |
No data |
Suspend |
No data |
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)