-
Notifications
You must be signed in to change notification settings - Fork 8.3k
SSD16xx implement read support #47757
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
SSD16xx implement read support #47757
Conversation
aa0802e to
6eecf01
Compare
jfischer-no
left a comment
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.
👍
6eecf01 to
8974c0c
Compare
|
Ping. Can I get another review on these changes so we can merge them? |
08771f0 to
bb50cca
Compare
Read operations only work on SPI controllers that support half duplex. To enable read operations, set the device mode to half duplex by adding the following to the device's DTB node: duplex = <SPI_HALF_DUPLEX>; If read requests will fail with -ENOTSUP if the device isn't in half duplex mode. Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
Add the ssd16xx_read_ram() function that can be used to read the raw contents of the two display RAM in the controller. This function is similar to display_read(), but lets the caller specify the RAM to operate on. The intention is that this can be used to read out the contents of the old frame buffer after a partial refresh that automatically swaps the black/red buffers. Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
bb50cca to
93be3d2
Compare
mbolivar-nordic
left a comment
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.
@jfischer-no I am approving only after skimming the changes quickly as all seems OK from a high level. Please approve if you believe the details are correct. I do not know this part.
|
Can we make sure that #47712 is merged before this one? These two PRe will be conflicting and I think it would be much less pain for everyone involve if we resolve the conflicts on this smaller PR. |
This pull request adds support for basic read operations on the SSD16xx display controller. It consists of two commits:
display_readAPI.Read operations require the SPI bus to be in half duplex mode. To enable read operations, set the device mode to half duplex by adding the following to the device's DTB node:
If read requests will fail with -ENOTSUP if the device isn't in half duplex mode.
Tested on a couple of different SSD168x-basde displays using the SPI bit banging driver.
Update: Pushed a new version which moves the device-specific include from the first commit (incorrect) to the second commit. This fixes potential future bisection issues.
Update: Rebased on latest main.