-
Couldn't load subscription status.
- Fork 8.1k
drivers: display: convert st7735r to MIPI DBI API #70583
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
drivers: display: convert st7735r to MIPI DBI API #70583
Conversation
|
@jfischer-no I know you mentioned you have most in tree SPI displays- do you have this one, and if so would you be willing to test this change? I don't have hardware to verify this with |
|
@danieldegrasse, please address the merge conflict |
|
@danieldegrasse, can we move the first 3 commits to a separate PR as they are related to updating the MIPI-DBI API and can be looked at separately. |
Done, thanks for the reminder
Sure- I've created a PR here: #71454. Marking this PR as draft, since it now depends on that one |
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.
LGTM - thanks
|
@ozersa would you be able to look over (and potentially test) this change? |
Unfortunately I do not have change to test it, As per of my review For 3wire mode, 9bit SPI data sends, that requires below line being 2 instead of 1. zephyr/drivers/mipi_dbi/mipi_dbi_spi.c Line 78 in a1cdf27
|
drivers/display/display_st7735r.c
Outdated
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.
SPI_WORD_SET(8)
It will be better if you set correct SPI data size depend on the selected mode (8 for 4wire, 9 for 3wire).
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 this makes sense. Doing so will also allow dropping the tmp_cfg within the MIPI DBI driver.
|
Marking [DNM] until I address @ozersa's review |
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.
Looks good.
|
@erwango friendly ping:) |
|
@danieldegrasse Please rebase on |
Require that SPI config within the MIPI DBI API use 9 bit SPI mode, as 3 wire spi requires the command/data bit be packed into the start of the SPI packet. Signed-off-by: Daniel DeGrasse <[email protected]>
Convert the ST7735R display to use the MIPI DBI API. Boards and overlays using this display are also updated. Signed-off-by: Daniel DeGrasse <[email protected]>
Add entry for st7735r to display build all test Signed-off-by: Daniel DeGrasse <[email protected]>
Add note about migration of ST7735R displays to MIPI DBI API. Signed-off-by: Daniel DeGrasse <[email protected]>
Done, thanks |
89a5baa
This PR converts the ST7735R to the MIPI DBI API. Boards using this display have also been updated.
Additionally, this PR adds support for a new API in the MIPI DBI driver,
mipi_dbi_release. This API mirrors the functionality ofspi_release, and is added because some displays depend on theSPI_HOLD_ON_CSfunctionality in order to work correctly- therefore, the MIPI DBI API needs to offer a similar ability to hold the CS signal low.In draft until #71454 merges