Skip to content

Conversation

@danieldegrasse
Copy link
Contributor

@danieldegrasse danieldegrasse commented Mar 21, 2024

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 of spi_release, and is added because some displays depend on the SPI_HOLD_ON_CS functionality 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

@zephyrbot zephyrbot added area: Display Controller area: Display area: Shields Shields (add-on boards) Release Notes To be mentioned in the release notes area: Devicetree Binding PR modifies or adds a Device Tree binding labels Mar 21, 2024
@danieldegrasse
Copy link
Contributor Author

@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

mmahadevan108
mmahadevan108 previously approved these changes Apr 5, 2024
@dleach02
Copy link
Member

@danieldegrasse, please address the merge conflict

@mmahadevan108
Copy link
Contributor

@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.

@danieldegrasse
Copy link
Contributor Author

@danieldegrasse, please address the merge conflict

Done, thanks for the reminder

@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.

Sure- I've created a PR here: #71454. Marking this PR as draft, since it now depends on that one

@danieldegrasse danieldegrasse marked this pull request as draft April 12, 2024 21:01
@danieldegrasse danieldegrasse marked this pull request as ready for review April 19, 2024 21:09
@danieldegrasse
Copy link
Contributor Author

@kartben Requested fixes for migration guide should be applied to this PR. The other documentation changes you mentioned were part of #71454 (which is merged), so I opened #71715 to apply them

kartben
kartben previously approved these changes Apr 25, 2024
Copy link
Contributor

@kartben kartben left a comment

Choose a reason for hiding this comment

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

LGTM - thanks

@danieldegrasse
Copy link
Contributor Author

@ozersa would you be able to look over (and potentially test) this change?

@ozersa
Copy link
Contributor

ozersa commented Apr 29, 2024

@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.

buffer.len = 1;

Copy link
Contributor

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).

Copy link
Contributor Author

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.

dleach02
dleach02 previously approved these changes Apr 29, 2024
@danieldegrasse danieldegrasse added the DNM This PR should not be merged (Do Not Merge) label Apr 30, 2024
@danieldegrasse
Copy link
Contributor Author

Marking [DNM] until I address @ozersa's review

@danieldegrasse danieldegrasse removed the DNM This PR should not be merged (Do Not Merge) label Apr 30, 2024
@danieldegrasse danieldegrasse dismissed stale reviews from dleach02 and kartben via 1229b0b April 30, 2024 16:00
Copy link
Contributor

@ozersa ozersa left a comment

Choose a reason for hiding this comment

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

Looks good.

dleach02
dleach02 previously approved these changes May 13, 2024
kartben
kartben previously approved these changes May 13, 2024
@danieldegrasse
Copy link
Contributor Author

@erwango friendly ping:)

erwango
erwango previously approved these changes May 14, 2024
@henrikbrixandersen
Copy link
Member

@danieldegrasse Please rebase on main.

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]>
@danieldegrasse
Copy link
Contributor Author

@danieldegrasse Please rebase on main.

Done, thanks

@danieldegrasse danieldegrasse dismissed stale reviews from erwango, kartben, and dleach02 via 89a5baa May 14, 2024 14:19
@danieldegrasse danieldegrasse requested a review from erwango May 20, 2024 14:15
@nashif nashif merged commit 1ed9ef4 into zephyrproject-rtos:main May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Devicetree Binding PR modifies or adds a Device Tree binding area: Display Controller area: Display area: Shields Shields (add-on boards) Release Notes To be mentioned in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants