Skip to content

Conversation

heronet
Copy link
Contributor

@heronet heronet commented Oct 20, 2025

Add driver for HUB12 interface monochrome LED matrix displays.

Features:

  • 32x16 pixel resolution, 1-bit monochrome (PIXEL_FORMAT_MONO01)
  • SPI-based data transfer with shift registers
  • Configurable brightness control
  • Thread-safe framebuffer access with semaphore

The driver implements the standard Zephyr display API

Comment on lines 8 to 9
depends on SPI
depends on GPIO
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed it. Thanks

@heronet heronet force-pushed the drivers/display/add-hub12-matrix branch from f1c8199 to a8f5a64 Compare October 20, 2025 14:13
@heronet heronet requested a review from maass-hamburg October 20, 2025 14:13
with additional GPIO pins for row address selection (PA, PB),
output enable (PE), and data latching (PLAT).

compatible: "hub12"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has to be vendor, device. Also use the specific chip, that is used, if there are multiple chips, use the one that this is based (the original not the clones) on.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well I considered adding a verndor initially. But the HUB12 is just a generic interface independent of the chips, which are basically just shift registers and not actual controller/driver IC (unlike ssd1306 / st7735 etc). It should work with all of them.

There isn't really a specific vendor for HUB12. It is a similar situation to led-strip-matrix.yaml which also doesn't have a vendor.

@heronet heronet requested a review from maass-hamburg October 21, 2025 00:20
Add device tree binding for HUB12 interface monochrome LED matrix
displays (32x16 pixels).

The HUB12 interface uses SPI for data transfer to shift registers,
with additional GPIO pins for row address selection (PA, PB),
output enable (PE), and data latching (PLAT).

Signed-off-by: Siratul Islam <[email protected]>
Add driver for HUB12 interface monochrome LED matrix displays.

Features:
- 32x16 pixel resolution, 1-bit monochrome (PIXEL_FORMAT_MONO01)
- SPI-based data transfer with shift registers
- Configurable brightness control
- Thread-safe framebuffer access with semaphore

The driver implements the standard Zephyr display API

Signed-off-by: Siratul Islam <[email protected]>
@heronet heronet force-pushed the drivers/display/add-hub12-matrix branch from a8f5a64 to 83044fc Compare October 21, 2025 03:43
@heronet
Copy link
Contributor Author

heronet commented Oct 21, 2025

In the last force push, I added partial update to support LVGL and display-controller.yaml to the binding. LVGL reads height and width from the binding, apparently, instead of reading them from capabilities.

Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants