Jump to content

Broadcom Kona: Difference between revisions

From postmarketOS Wiki
Knuxify (talk | contribs)
Re-organize, add BCM28155
Knuxify (talk | contribs)
change matrix space address
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOTOC__
{{Userbox container|
This is a joint page for multiple Broadcom chips.
{{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.


{{note|'''Note:''' This is not a comprehensive article about Broadcom chips, nor is it a complete list of Broadcom chips. Especially newer ones are missing.}}
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].


= Chips used in the Raspberry Pi =
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.


== Broadcom BCM2711 ==
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.
{{Infobox soc
| name = BCM2711
| manufacturer = Broadcom
| arch = aarch64
| year = 2019
| cpu = 4x 1.5 GHz ARM Cortex-A72
| gpu = Broadcom VideoCore VI
| process = 28
<!-- Please only uncomment this if you have experience running mainline on this SoC and fill out the status fields below.
| mainline = yes
| status_cpu =
| status_uart =
| status_storage =
| status_usb =
| status_display =
| status_gpu =
| status_pinctrl =
| status_i2c =
| status_audio =
| status_video =
| status_thermal =
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
-->
}}
=== Devices ===


{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Socs
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|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=Devices.Manufacturer, Devices.Name
|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
|where=Booting AND Devices.chipset LIKE 'Broadcom BCM2711%'
|more results text=
|more results text=
}}
}}


=== Specifications ===
== Devices ==
 
* Quad-core 1.5 GHz ARM Cortex-A72 CPU
* VideoCore VI GPU
 
=== Mainline status ===


=== More information ===
=== Broadcom BCM21663/BCM21664 (Hawaii) ===
* [https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/README.md raspberrypi.org]


== Broadcom BCM2835 ==
{{Infobox soc
{{Infobox soc
| name = BCM2835
| name = BCM21664
| image = File:BCM21664T.png
| imagecaption = BCM21664T on the board for the [[Samsung Galaxy S Duos 2 (samsung-kyleprods)]].
| manufacturer = Broadcom
| manufacturer = Broadcom
| arch = armhf
| codenames = Hawaii
| arch = armv7
| year = 2012
| year = 2012
| cpu = 700 MHz / 1 GHz ARM1176JZF-S
| 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
<!-- Please only uncomment this if you have experience running mainline on this SoC and fill out the status fields below.
| 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 = -
}}
}}
=== Devices ===
{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Devices
Line 92: Line 70:
|format=table
|format=table
|limit=9999
|limit=9999
|where=Booting AND Devices.chipset LIKE 'Broadcom BCM2835%'
|where=Devices.chipset='Broadcom BCM21664' OR Devices.chipset LIKE 'Broadcom BCM21664%' OR Devices.chipset='Broadcom BCM21663'
|more results text=
|more results text=
}}
}}


=== Specifications ===
==== More information ====


* Single-core 700 MHz ARM1176JZF-S (Raspberry Pi 1)
* [http://phonedb.net/index.php?m=processor&id=445&c=broadcom_bcm21664 phonedb.net]
* Single-core 1 GHz ARM1176JZF-S (Raspberry Pi Zero)
* [https://web.archive.org/web/20140705060330/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM21664 Broadcom's website (archive)]
* VideoCore IV GPU


=== Mainline status ===
=== Broadcom BCM23550 (Java) ===


=== More information ===
* [https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/README.md raspberrypi.org]
== Broadcom BCM2836 ==
{{Infobox soc
{{Infobox soc
| name = BCM2836
| 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
| arch = armv7
| arch = armv7
| year = 2015
| year = 2013
| cpu = 4x 900 MHz ARM Cortex-A7
| cpu = 4x 1.2 GHz ARM Cortex-A7
| gpu = Broadcom VideoCore IV
| gpu = Broadcom VideoCore IV
| process = 40
| process = 40
<!-- Please only uncomment this if you have experience running mainline on this SoC and fill out the status fields below.
| 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 = -
}}
}}
=== Devices ===
{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Devices
Line 143: Line 120:
|format=table
|format=table
|limit=9999
|limit=9999
|where=Booting AND Devices.chipset LIKE '%Broadcom BCM2836%'
|where=Devices.chipset='Broadcom BCM23550'
|more results text=
|more results text=
}}
}}


=== Specifications ===
==== More information ====


* Quad-core 900 MHz ARM Cortex-A7
* [http://phonedb.net/index.php?m=processor&id=470&c=broadcom_bcm23550 phonedb.net]
* VideoCore IV GPU
* [https://web.archive.org/web/20140714225315/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM23550 Broadcom's website (archive)]
 
=== Mainline status ===
 
=== More information ===
* [https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/README.md raspberrypi.org]


== Broadcom BCM2837(B0) ==
=== Broadcom BCM21654 (Rhea) ===
{{Infobox soc
{{Infobox soc
| name = BCM2837(B0)
| name = BCM21654
| manufacturer = Broadcom
| manufacturer = Broadcom
| arch = aarch64
| codenames = Rhea
| year = 2016
| arch = armv7
| cpu = 4x 1.2/1.4 Ghz ARM Cortex-A53
| year = 2012
| cpu = 1x 850 MHz ARM Cortex-A9
| gpu = Broadcom VideoCore IV
| gpu = Broadcom VideoCore IV
| process = 40
| process = 40
<!-- Please only uncomment this if you have experience running mainline on this SoC and fill out the status fields below.
| mainline = no
| mainline = yes
| status_cpu =  
| status_cpu =  
| status_uart =  
| status_uart =  
Line 176: 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 = -
}}
}}
=== Devices ===
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Booting AND Devices.chipset LIKE 'Broadcom BCM2837%'
|more results text=
}}
=== Specifications ===
* Quad-core 1.2 GHz ARM Cortex-A53 CPU (BCM2837)
* Quad-core 1.4 GHz ARM Cortex-A53 CPU (BCM2837B0)
* VideoCore IV GPU
=== Mainline status ===
=== More information ===
* [https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837/README.md BCM2837 on raspberrypi.org]
* [https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2837b0/README.md BCM2837B0 on raspberrypi.org]
= Broadcom Kona architecture =
== Broadcom BCM21654 ==
{{Infobox soc
| name = BCM21654
| manufacturer = Broadcom
| codenames = Rhea
| arch = armv7
| year = 2012
| cpu = 1x 850 MHz ARM Cortex-A9
| gpu = Broadcom VideoCore IV
| process = 40
| mainline = no
<!--
| status_cpu = Y
| status_uart =
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = Y
| status_pinctrl = Y
| status_i2c = Y
| status_audio = Y
| status_video = Y
| status_thermal = Y
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
-->
}}
=== Devices ===
{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Devices
Line 252: Line 170:
}}
}}


=== Specifications ===
==== More information ====
 
* Single-core 850 MHz ARM Cortex-A9 CPU
* VideoCore IV GPU
 
=== Mainline status ===
 
No dtsi.
{{todo|How similar is this one to the 21664 and 23550?}}
 
=== More information ===


* [http://phonedb.net/index.php?m=processor&id=384&c=broadcom_bcm21654 phonedb.net]
* [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)]


== Broadcom BCM21664 ==
=== Broadcom BCM28145/BCM28155 (Capri) ===
 
{{Infobox soc
| name = BCM21664
| manufacturer = Broadcom
| codenames = Hawaii
| arch = armv7
| year = 2012
| cpu = 2x 1.2 GHz ARM Cortex-A9
| gpu = Broadcom VideoCore IV
| process = 40
| mainline = no
| status_cpu = Y
| status_uart =
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu =
| status_pinctrl =
| status_i2c =
| status_audio = P
| status_video =
| status_thermal =
| status_wifi = Y
| status_bluetooth = N
| status_modem = N
| status_camera = N
}}
 
=== Devices ===
 
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset='Broadcom BCM21664' OR Devices.chipset='Broadcom BCM21664A' OR Devices.chipset='Broadcom BCM21664G' OR Devices.chipset='Broadcom BCM21664T'
|more results text=
}}
 
{{todo|Document variants.}}
 
=== 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.
 
Some mainlining progress was made by [[User:Deata|Deata]] (see [https://gitlab.com/deata/kylepro-mainlining deata/kylepro-mainlining on GitLab])
 
=== More information ===
 
* [http://phonedb.net/index.php?m=processor&id=445&c=broadcom_bcm21664 phonedb.net]
 
== Broadcom BCM23550 ==
 
{{Infobox soc
| name = BCM23550
| manufacturer = Broadcom
| codenames = Java
| arch = armv7
| year = 2012
| cpu = 4x 1.2 GHz ARM Cortex-A7
| gpu = Broadcom VideoCore IV
| process = 40
| mainline = no
| status_cpu = Y
| status_uart =
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu =
| status_pinctrl =
| status_i2c =
| status_audio = N
| status_video = Y
| status_thermal =
| status_wifi = Y
| status_bluetooth = N
| status_modem = N
| status_camera = N
}}
 
=== Devices ===
 
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset='Broadcom BCM23550'
|more results text=
}}
 
=== 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 [[User:Knuxfanwin8|knuxify]] (see [https://github.com/knuxdroid/baffinlite-mainline knuxdroid/baffinlite-mainline on GitHub]).
 
=== More information ===
 
* [http://phonedb.net/index.php?m=processor&id=470&c=broadcom_bcm23550 phonedb.net]
 
== Broadcom BCM28155 ==
{{Infobox soc
{{Infobox soc
| name = BCM28155
| name = BCM28155
Line 390: Line 185:
| gpu = Broadcom VideoCore IV
| gpu = Broadcom VideoCore IV
| process = 40
| process = 40
| mainline = no
| mainline = yes
<!--| status_cpu = Y
| status_cpu =  
| status_uart =  
| status_uart =  
| status_storage = Y
| status_storage =  
| status_usb = Y
| status_usb =  
| status_display = Y
| status_display =  
| status_gpu =  
| status_gpu =  
| status_pinctrl =  
| status_pinctrl =  
| status_i2c =  
| status_i2c =  
| status_audio = N
| status_audio =
| status_video = Y
| status_video =  
| status_thermal =  
| status_thermal =  
| status_wifi = Y
| status_wifi = -
| status_bluetooth = N
| status_bluetooth = -
| status_modem = N
| status_modem = -
| status_camera = N-->
| status_gps = -
| status_camera =  
| status_npu = -
| status_ethernet = -
| status_sata = -
}}
}}
=== Devices ===
{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Devices
Line 415: Line 212:
|format=table
|format=table
|limit=9999
|limit=9999
|where=Devices.chipset='Broadcom BCM28155'
|where=Devices.chipset='Broadcom BCM28155' OR Devices.chipset='Broadcom BCM28145'
|more results text=
|more results text=
}}
}}


=== Specifications ===
==== More information ====
 
* 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.
 
=== More information ===


* [https://phonedb.net/index.php?m=processor&id=380&c=broadcom_bcm28155 phonedb.net]
* [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)]


= Legacy =
== Mainline status ==
 
== Broadcom BCM21553 ==
{{Infobox soc
| name = BCM21553
| manufacturer = Broadcom
| arch = armhf
| year = 2010
| cpu = 1x 832 MHz ARM1136
| gpu = Broadcom VideoCore IV
| process = 65
| mainline = no
<!--
| status_cpu = Y
| status_uart =
| status_storage = Y
| status_usb = Y
| status_display = Y
| status_gpu = Y
| status_pinctrl = Y
| status_i2c = Y
| status_audio = Y
| status_video = Y
| status_thermal = Y
| status_wifi =
| status_bluetooth =
| status_modem =
| status_camera =
-->
}}An older armv6 chip with VFP support.
 
=== Devices ===
 
{{#cargo_query:
tables=Devices
|fields=CONCAT( '[[', _pageName, '|',Manufacturer,' ',Name,']]' )=Device,Codename,StatusMainline=Mainline
|order by=Devices.Manufacturer, Devices.Name
|format=table
|limit=9999
|where=Devices.chipset='Broadcom BCM21553'
|more results text=
}}
 
=== Specifications ===


* Single-core 832 MHz ARM1136 ARMv6 CPU
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.
* VideoCore IV GPU


=== Downstream status ===
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.


The only device that seems to work with this chipset is the [[Samsung Galaxy Ace i (samsung-s5830i)]], although it has not been merged into pmaports. The [[Samsung Galaxy Y (samsung-totoro)]] does not boot.
== History ==


=== Mainline status ===
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]).


No dts in mainline, and there doesn't seem to be any similar chip supported.
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.


=== More information ===
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]).


* [http://phonedb.net/index.php?m=processor&id=336&c=broadcom_bcm21553 phonedb.net]
''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

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

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

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

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