Jump to content

Broadcom Kona: Difference between revisions

From postmarketOS Wiki
StandaSK (talk | contribs)
m Move codenames to Infobox
Knuxify (talk | contribs)
change matrix space address
 
(45 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOTOC__
{{Userbox container|
This is a joint page for multiple Broadcom chips, currently mostly ones released around 2012 (Broadcom Kona platform).
{{userbox
 
| border-c  = #19b187
{{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.}}
| id        = [[File:Element_Logomark.svg|Element logo|36px]]
 
| id-c      = #f4fffc
== Broadcom BCM21553 ==
| 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
{{Infobox soc
| info-color = #022018
| 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=
}}
}}
Kona was Broadcom's mobile SoC platform, spanning the BCM281x5, BCM21654, BCM2166x and BCM23550 chipsets.


=== Specifications ===
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].


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


=== Downstream status ===
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 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.
 
=== Mainline status ===
 
No dts in mainline, and there doesn't seem to be any similar chip supported.
 
=== More information ===
 
* [http://phonedb.net/index.php?m=processor&id=336&c=broadcom_bcm21553 phonedb.net]
 
== Broadcom BCM21654 ==
 
{{Infobox soc
| name = BCM21654
| manufacturer = Broadcom
| 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=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=Devices.chipset='Broadcom BCM21654' OR Devices.chipset='Broadcom BCM21654G'
|more results text=
|more results text=
}}
}}


=== Specifications ===
== Devices ==
 
* 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]


== 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 = no
| mainline = yes
| status_cpu = Y
| status_cpu = P
| status_uart =  
| status_uart = Y
| status_storage = Y
| status_storage = P
| status_usb = Y
| status_usb = N
| status_display = Y
| status_display =  
| status_gpu =  
| status_gpu =  
| status_pinctrl =  
| status_pinctrl = Y
| status_i2c =  
| status_i2c = Y
| status_audio = P
| status_audio =  
| status_video =  
| 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 154: Line 70:
|format=table
|format=table
|limit=9999
|limit=9999
|where=Devices.chipset='Broadcom BCM21664' OR Devices.chipset='Broadcom BCM21664A' OR Devices.chipset='Broadcom BCM21664G' OR Devices.chipset='Broadcom BCM21664T'
|where=Devices.chipset='Broadcom BCM21664' OR Devices.chipset LIKE 'Broadcom BCM21664%' OR Devices.chipset='Broadcom BCM21663'
|more results text=
|more results text=
}}
}}


{{todo|Document variants.}}
==== More information ====
 
=== 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]
* [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 = 2012
| 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
| mainline = no
| community_page = https://github.com/bcm-kona-mainline
| 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]), although it did not appear to boot.
 
=== More information ===
 
* [http://phonedb.net/index.php?m=processor&id=470&c=broadcom_bcm23550 phonedb.net]
 
== Broadcom BCM2711 ==
 
{{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
| 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 269: Line 120:
|format=table
|format=table
|limit=9999
|limit=9999
|where=Booting AND Devices.chipset LIKE 'Broadcom BCM2711%'
|where=Devices.chipset='Broadcom BCM23550'
|more results text=
|more results text=
}}
}}


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


* Quad-core 1.5 GHz ARM Cortex-A72 CPU
* [http://phonedb.net/index.php?m=processor&id=470&c=broadcom_bcm23550 phonedb.net]
* VideoCore VI 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/bcm2711/README.md raspberrypi.org]
 
== Broadcom BCM2835 ==


=== Broadcom BCM21654 (Rhea) ===
{{Infobox soc
{{Infobox soc
| name = BCM2835
| name = BCM21654
| manufacturer = Broadcom
| manufacturer = Broadcom
| arch = armhf
| codenames = Rhea
| arch = armv7
| year = 2012
| year = 2012
| cpu = 700 MHz / 1 GHz ARM1176JZF-S
| 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 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 = -
}}
}}
=== Devices ===
{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Devices
Line 321: Line 166:
|format=table
|format=table
|limit=9999
|limit=9999
|where=Booting AND Devices.chipset LIKE 'Broadcom BCM2835%'
|where=Devices.chipset='Broadcom BCM21654' OR Devices.chipset='Broadcom BCM21654G'
|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=384&c=broadcom_bcm21654 phonedb.net]
* Single-core 1 GHz ARM1176JZF-S (Raspberry Pi Zero)
* [https://web.archive.org/web/20140606063250/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM21654 Broadcom's website (archive)]
* VideoCore IV GPU
 
=== Mainline status ===
 
=== More information ===
* [https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/README.md raspberrypi.org]
 
== Broadcom BCM2836 ==


=== Broadcom BCM28145/BCM28155 (Capri) ===
{{Infobox soc
{{Infobox soc
| name = BCM2836
| name = BCM28155
| manufacturer = Broadcom
| manufacturer = Broadcom
| codenames = Capri
| arch = armv7
| arch = armv7
| year = 2015
| year = 2012
| cpu = 4x 900 MHz ARM Cortex-A7
| cpu = 2x 1.2 GHz 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 = 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 = -
}}
}}
=== Devices ===
{{#cargo_query:
{{#cargo_query:
tables=Devices
tables=Devices
Line 374: Line 212:
|format=table
|format=table
|limit=9999
|limit=9999
|where=Booting AND Devices.chipset LIKE '%Broadcom BCM2836%'
|where=Devices.chipset='Broadcom BCM28155' OR Devices.chipset='Broadcom BCM28145'
|more results text=
|more results text=
}}
}}


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


* Quad-core 900 MHz ARM Cortex-A7
* [https://phonedb.net/index.php?m=processor&id=380&c=broadcom_bcm28155 phonedb.net]
* VideoCore IV GPU
* [https://web.archive.org/web/20140715134412/http://www.broadcom.com/products/Cellular/3G-Mobile-Platforms/BCM28145-28155 Broadcom's website (archive)]


=== Mainline status ===
== Mainline status ==


=== More information ===
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.
* [https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/README.md raspberrypi.org]
 
 
== Broadcom BCM2837(B0) ==
 
{{Infobox soc
| name = BCM2837(B0)
| manufacturer = Broadcom
| arch = aarch64
| year = 2016
| cpu = 4x 1.2/1.4 Ghz ARM Cortex-A53
| gpu = Broadcom VideoCore IV
| process = 40
<!-- 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 ===
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.


{{#cargo_query:
== History ==
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 ===
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]).


* Quad-core 1.2 GHz ARM Cortex-A53 CPU (BCM2837)
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.
* Quad-core 1.4 GHz ARM Cortex-A53 CPU (BCM2837B0)
* VideoCore IV GPU


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


=== More information ===
''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)]''
* [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]

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)