The Linux kernel is one of the most modular and hardware-agnostic operating systems ever developed. To manage this diversity, the Device Tree (DT) was introduced as a flexible, architecture-independent way of describing hardware.
A key component of this system is the vendor prefix, a naming convention that ensures consistency and avoids conflicts across thousands of hardware manufacturers.
This article explores how the vendor prefix mechanism works, why it matters, and how display manufacturers—such as ROCKTECH DISPLAYS LIMITED—become officially recognized in the Linux kernel source tree.
1. What Is the Device Tree?
The Device Tree (DT) is a hierarchical data structure used by the Linux kernel to describe hardware components to the operating system.
Inste…
The Linux kernel is one of the most modular and hardware-agnostic operating systems ever developed. To manage this diversity, the Device Tree (DT) was introduced as a flexible, architecture-independent way of describing hardware.
A key component of this system is the vendor prefix, a naming convention that ensures consistency and avoids conflicts across thousands of hardware manufacturers.
This article explores how the vendor prefix mechanism works, why it matters, and how display manufacturers—such as ROCKTECH DISPLAYS LIMITED—become officially recognized in the Linux kernel source tree.
1. What Is the Device Tree?
The Device Tree (DT) is a hierarchical data structure used by the Linux kernel to describe hardware components to the operating system.
Instead of hardcoding board information into the kernel, developers define hardware in plain-text .dts (Device Tree Source) files that describe CPUs, buses, peripherals, and GPIOs.
When the system boots, the kernel reads the compiled .dtb (Device Tree Blob) to understand how to initialize and interact with hardware.
Example:
&i2c1 {
touchscreen@38 {
compatible = "goodix,gt911";
reg = <0x38>;
interrupt-parent = <&gpio3>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
};
};
Here, the compatible string “goodix,gt911” is essential — it tells the kernel which driver should handle this device.
2. Why Vendor Prefixes Exist
Since Linux supports an enormous range of SoCs and peripherals, name collisions can easily occur.
To prevent this, the kernel uses vendor prefixes, ensuring every compatible property starts with a unique manufacturer identifier.
For instance:
| Manufacturer | Example Compatible String |
|---|---|
| Goodix | goodix,gt911 |
| Rockchip | rockchip,rk3566 |
| Rocktech Displays | rocktech,rk070cu01 |
| Samsung | samsung,exynos5422 |
This convention allows developers and maintainers to know immediately which vendor a driver or hardware node belongs to.
It also ensures that future devices from different companies don’t accidentally share the same name.
3. How Vendor Prefixes Are Registered
Vendor prefixes are maintained in the file:
Documentation/devicetree/bindings/vendor-prefixes.txt
Each line defines one vendor or organization that contributes hardware components, SoCs, or modules supported by the kernel.
Adding a new vendor requires submitting a patch to the Linux kernel mailing list (LKML) and obtaining maintainer approval.
Example patch (from the Linux mailing list):
From: Guido Günther <agx@sigxcpu.org>
Subject: [PATCH v5 1/3] dt-bindings: Add vendor prefix for ROCKTECH DISPLAYS LIMITED
Date: Mon, 1 Apr 2019 12:35:33 +0200
Add ROCKTECH DISPLAYS LIMITED (https://rocktech.com.hk) LCD panel supplier.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
1 file changed, 1 insertion(+)
After merging, the entry appears in the official file as:
rocktech ROCKTECH DISPLAYS LIMITED
This single line gives the manufacturer permanent recognition in the Linux kernel’s device tree ecosystem.
- How Drivers Use Vendor Prefixes
In each device driver, the kernel matches the hardware node’s compatible property with a corresponding driver entry.
Example: a display driver for Rocktech LCD panels might contain:
static const struct of_device_id rocktech_display_of_match[] = {
{ .compatible = "rocktech,rk070cu01", },
{ .compatible = "rocktech,rk050hr18", },
{ }
};
MODULE_DEVICE_TABLE(of, rocktech_display_of_match);
When the system boots and parses the Device Tree, the kernel searches for matching strings. If it finds a rocktech,rk070cu01 node, it automatically loads the appropriate driver.
This mechanism enables plug-and-play behavior in embedded systems — without recompiling the kernel for every board variation.
- Real-World Example: LCD Panels and Vendor Prefixes
Let’s look at how vendor prefixes simplify integration for display manufacturers.
Imagine a developer designing a custom control panel using a Rockchip PX30 or RK3566 SoC. The display manufacturer is Rocktech, and the LCD model is RK070CU01.
The Device Tree node might look like this:
&dsi {
panel@0 {
compatible = "rocktech,rk070cu01";
reg = <0>;
backlight = <&backlight>;
power-supply = <&vcc_lcd>;
};
};
Thanks to the registered vendor prefix: • The developer knows the correct string to use. • The kernel recognizes it as a Rocktech display. • No conflict occurs with other display suppliers.
This ecosystem consistency is why the vendor prefix mechanism is critical for maintaining long-term kernel compatibility.
- Submitting a New Vendor Prefix: Step-by-Step
If you’re a hardware manufacturer, here’s how to get your prefix included in the Linux kernel:
Step 1: Fork and Clone the Linux Kernel
Clone from the official repository (for example, from kernel.org or a public Git mirror).
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Step 2: Edit the Prefix File
Add a new line in:
Documentation/devicetree/bindings/vendor-prefixes.txt
Example:
mycompany MyCompany Embedded Systems
Step 3: Generate and Send a Patch
Use standard Git workflow:
git add Documentation/devicetree/bindings/vendor-prefixes.txt
git commit -s -m "dt-bindings: Add vendor prefix for MyCompany Embedded Systems"
git send-email --to=devicetree@vger.kernel.org --cc=linux-kernel@vger.kernel.org HEAD~1
Step 4: Wait for Maintainer Review
The patch is discussed on the Linux Kernel Mailing List (LKML). Once approved, it’s merged into the mainline kernel by maintainers.
7. Benefits of the Vendor Prefix System
| Benefit | Description |
|---|---|
| Namespace Control | Prevents duplicate names among 3000+ vendors |
| Interoperability | Ensures different devices can coexist without driver conflicts |
| Traceability | Developers can trace a compatible string back to its official manufacturer |
| Open Collaboration | Any hardware company can contribute by following standard Linux submission practices |
| Long-Term Support | Devices with registered prefixes remain supported across kernel versions |
This structured approach ensures the Linux kernel can support thousands of vendors —
from global giants like Samsung and TI to specialized manufacturers such as Rocktech — without chaos or naming conflicts.
8. The Role of Maintainers and Community Trust
Every new vendor prefix submission is reviewed by maintainers such as Rob Herring or Krzysztof Kozlowski, who oversee Device Tree bindings in the Linux kernel. Their goal is to maintain quality, consistency, and trust in the global hardware ecosystem.
The prefix list is not just a technical registry — it’s also a reflection of the Linux open-source collaboration model: • Transparent, • Traceable, • Vendor-neutral.
For display and embedded module makers, being listed means official recognition in the kernel space — an important milestone that validates compatibility and credibility.
⸻
9. How Vendor Prefixes Influence Embedded Ecosystems
Vendor prefixes have a deeper influence beyond the kernel: • Yocto / Buildroot distributions use these identifiers for driver inclusion. • Android BSPs (Board Support Packages) rely on them for display, audio, and sensor configuration. • Documentation generators automatically link compatible strings to driver docs.
So, a single prefix entry (like “rocktech,rk070cu01”) connects: 1. The Device Tree, 2. The Linux driver, 3. The documentation system, 4. The kernel build metadata.
This connection reduces integration time for developers and OEMs building industrial panels, medical systems, or custom Android HMIs.
⸻
10. Conclusion
The Linux Device Tree vendor prefix mechanism is a simple yet powerful foundation of embedded hardware compatibility. By defining clear, unique identifiers for every hardware vendor, it allows developers to build and maintain devices across multiple architectures—without confusion or naming conflicts.
Manufacturers like ROCKTECH DISPLAYS LIMITED demonstrate how proper registration strengthens ecosystem integration, ensuring that every compatible device can be easily supported, recognized, and maintained across generations of Linux kernels.
As embedded systems continue to evolve—especially in industrial control panels, automotive dashboards, and smart displays—the importance of structured naming and open collaboration in the kernel will only grow stronger.
⸻