We are currently restricted when it comes to supporting DSI on devices
that have a non-DSI control bus. For example, DSI encoder chips are
available in the market that are configured via i2c. Configuring their
registers via DSI bus is either optional or not available at all.
These devices still need to pass DSI parameters (data lanes, mode flags
etc) to the DSI host they are connected to. We don't have a way to do
that at the moment.
After some discussions on the previous RFC[1], we decided to support this
by providing additional API in drm_mipi_dsi which lets us create new DSI
devices without the need of them to have a DT node.
[1]: https://lkml.org/lkml/2015/6/30/42
Changes in v4:
- Added a new patch that fixes build issues when CONFIG_OF is not set.
Changes in v3:
- Incorporated misc comments by Andrzej. Changed from RFC to a PATCH set.
- Fixed htmldocs warnings.
Archit Taneja (6):
drm/dsi: check for CONFIG_OF when defining of_mipi_dsi_device_add
drm/dsi: Refactor device creation
drm/dsi: Try to match non-DT dsi devices
drm/dsi: Check for used channels
drm/dsi: Add routine to unregister dsi device
drm/dsi: Get DSI host by DT device node
drivers/gpu/drm/drm_mipi_dsi.c | 144 ++++++++++++++++++++++++++++++++---------
include/drm/drm_mipi_dsi.h | 29 +++++++++
2 files changed, 141 insertions(+), 32 deletions(-)