Mainline:Broadcom Kona/Adding a new device
This page goes over the process of adding support for a Broadcom Kona device to the mainline Linux kernel.
General outline of the process:
- Get the downstream/vendor kernel source code
- Identify your device's board files
- Get the mainline kernel source code
- Add a DTS for your device based on values from downstream
- Build the kernel and flash it to the device
- Test it!
Introduction
In the mainline kernel, a device's components are described in a structure known as the device tree (or devicetree, as is the official spelling). Device trees are compiled into DTBs (device tree blobs) from DTS (device tree source) files.
Adding support for a new device involves creating a DTS for that device - this is the process covered in this guide.
Device trees appeared in the kernel around version 3.4, and didn't see widespread use in vendor kernels until a few LTS versions later. Before device trees, each device usually had a board file - a C file that contained structs with driver data and initialization functions.
The downstream Kona kernels used board files. (They did have some partial DT support, but it was never used for any production devices.)
Getting the kernel source
(WIP)