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.
The method presented in these patches is to provide an API to create a
'dummy' mipi_dsi_device. This device is populated with the desired DSI
params, which are passed on to the host via mipi_dsi_attach().
This method will require the device driver to get a phandle to the DSI
host since there is no parent-child relation between the two.
Is there a better way to do this? Please let me know!
Archit Taneja (2):
drm/dsi: Create dummy DSI devices
drm/dsi: Get DSI host by DT device node
drivers/gpu/drm/drm_mipi_dsi.c | 108 ++++++++++++++++++++++++++++++++++++++++-
include/drm/drm_mipi_dsi.h | 4 ++
2 files changed, 110 insertions(+), 2 deletions(-)