-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Panel hx8379c driver #94420
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Panel hx8379c driver #94420
Conversation
99733d8
to
b4a9c66
Compare
drivers/display/display_hx8379c.c
Outdated
memset(capabilities, 0, sizeof(struct display_capabilities)); | ||
capabilities->x_resolution = config->panel_width; | ||
capabilities->y_resolution = config->panel_height; | ||
capabilities->supported_pixel_formats = config->pixel_format; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should be a bitmask of all the supported pixel formats?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think so. Done! Thanks for your review.
drivers/display/display_hx8379c.c
Outdated
|
||
ret = hx8379c_transmit(dev, 0xC7, c7_config, sizeof(c7_config)); | ||
if (ret < 0) { | ||
LOG_ERR("Panel SETVCOM failed (%d)", ret); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
copy paste error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
drivers/display/display_hx8379c.c
Outdated
static const uint8_t c7_config[4] = {0x00, 0x00, 0x00, 0xC0}; | ||
|
||
ret = hx8379c_transmit(dev, 0xC7, c7_config, sizeof(c7_config)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a bit mysterious - can this have some comments, or, if possible, 0xC7 be a proper macro?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Register 0xC7 is not mentioned in the datasheet, but searching the internet, it is available for other Himax displays like SETTCON.
drivers/display/display_hx8379c.c
Outdated
|
||
ret = hx8379c_transmit(dev, HX8379C_SETGIP_0, gip0_config, sizeof(gip0_config)); | ||
if (ret < 0) { | ||
LOG_ERR("Panel register SETGIP_0 failed"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LOG_ERR("Panel register SETGIP_0 failed"); | |
LOG_ERR("Panel register SETGIP_0 failed", ret); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
7bb3979
to
8b19473
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a new display driver for the Himax HX8379C TFT-LCD controller to support the STM32U5G9J-DK1 development board. The implementation is based on the ST Microelectronics reference code and has been tested with Zephyr's display and LVGL samples.
- Implements HX8379C display driver with MIPI DSI support
- Adds device tree bindings and configuration files
- Includes test overlay for driver build validation
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 9 comments.
Show a summary per file
File | Description |
---|---|
drivers/display/display_hx8379c.c | Main driver implementation with panel initialization and display control |
dts/bindings/display/himax,hx8379c.yaml | Device tree binding definition for HX8379C display controller |
drivers/display/Kconfig.hx8379c | Kconfig options for HX8379C driver configuration |
drivers/display/Kconfig | Updated to include HX8379C Kconfig source |
drivers/display/CMakeLists.txt | Added HX8379C driver to build system |
tests/drivers/build_all/display/app.overlay | Test configuration for build validation |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
8b19473
to
f5178be
Compare
Fixed the reset-gpios and bl-gpios, also updated the LOG_ERR to print out the error code. |
f5178be
to
de85820
Compare
|
Hi @erwango, @JarmouniA, @avolmat-st, when possible, could you please review this PR? |
@JarmouniA PTAL at this one in priority, it has been sitting ready for a really long time |
de85820
to
74e80f4
Compare
74e80f4
to
7238372
Compare
Implemented the @JarmouniA's requests. |
Add binding file for Himax HX8379C panel driver. Signed-off-by: Charles Dias <[email protected]>
Add driver files for Himax HX8379C panel. Signed-off-by: Charles Dias <[email protected]>
7238372
to
7d08c82
Compare
Rebase |
Include HX8379C in test app. Signed-off-by: Charles Dias <[email protected]>
7d08c82
to
816fda5
Compare
Remove |
|
This panel is used on https://docs.zephyrproject.org/latest/boards/st/stm32u5g9j_dk1/doc/index.html board.
Driver implementation based on ST code sample DSI_VideoMode_SingleBuffer from :
https://github.com/STMicroelectronics/STM32CubeU5/tree/main/Projects/STM32U5x9J-DK/Examples/DSI/DSI_VideoMode_SingleBuffer
Tested with:
west build -p -b stm32u5g9j_dk1 --shield st_mb1835 samples/drivers/display
And also
west build -p -b stm32u5g9j_dk1 --shield st_mb1835 samples/modules/lvgl/demos -- -DCONFIG_LV_Z_DEMO_MUSIC=y
Related to:
WhatsApp.Video.2025-08-12.at.19.57.52.mp4
@erwango @ajarmouni-st