-
Notifications
You must be signed in to change notification settings - Fork 8.2k
[RFC] Add mipi_dsi_detach API #64997
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
[RFC] Add mipi_dsi_detach API #64997
Conversation
gmarull
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.
API lgtm, no objections, just a nitpick. I haven't checked the PM part, as I no longer review PM related code.
soc/arm/nxp_imx/rt5xx/soc.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.
why is this weak?
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 following the pattern established in ca19b40. Since our clock management on these SOCs is currently so inflexible, the idea is that a customer board can bypass the clock setup entirely in their custom board if needed. I've done some initial work to attempt to correct this with #62946, but this is currently the short-term solution we're using for this SOC.
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.
Ok, thanks for the attempt to fix this hack in #62946 :-)
Add MIPI DSI detach API. This API allows the DSI controller to detach from the DSI device, and power down the DSI PHY. The primary goal of this API is to provide power savings for DSI devices when the display they are driving is not active. Signed-off-by: Daniel DeGrasse <[email protected]>
Add support for mipi_dsi_detach API to dsi_mcux_2l driver, and update RT5xx SOC interface to enable halting clocks for the MIPI DPHY. Signed-off-by: Daniel DeGrasse <[email protected]>
Add device level power management to rm67162 display. Device level power management for this controller calls the MIPI DSI detach API, in order to power down the MIPI DPHY when the display is not active. Signed-off-by: Daniel DeGrasse <[email protected]>
Add support for low power mode on the G1120B0MIPI using the RT595. This configuration is tested via a testcase in samples/drivers/display, which should validate that the display can be driven by the RT595 when CONFIG_PM and CONFIG_PM_DEVICE are set. Signed-off-by: Daniel DeGrasse <[email protected]>
gmarull
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.
+1 for the MIPI DSI API
This PR proposes a new
mipi_dsi_detachAPI for the MIPI subsystem, very similar to themipi_dsi_detachAPI currently present in Linux. The primary goal of this API is to provide power savings, by allowing the MIPI DPHY to power off when not in use. An implementation is provided for the DSI_MCUX_2L driver. Detaching the MIPI saves roughly 2mA of current consumption on the VDDCORE voltage rail in my tests.The PR also includes the following changes:
blanking_onandblanking_offfunctions for the display.An alternative to this approach would be to use device level runtime power management for the MIPI DSI driver. The reason I did not take this approach was that the display controller driver itself will likely have the best awareness of when the MIPI DSI can be detached and the DPHY can be powered down, so exposing the functionality to the display controller made the most sense