drm bridge for dual dsi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, 
I am trying to develop a bridge driver for a Serializer (DSI Peripheral) that has two DSI Ports with the primary control bus being I2C. The host is MediaTek MT2172 SoC (Compatible with MT8173). I defined the device tree referring to example 5 in mipi-dsi-bus[1]. 

However the configuration does not work. The issue I am facing is that drm_bridge_attach returns EBUSY for the second DSI (dsi1). This is because the bridge is already attached to another device (dsi0). This seems to be inline with the concept of crtc --> encoder --> bridge -> connector. i.e. there is 1-1 relationship. But seems contradictory to the device tree layout.

I looked up all the existing examples but none seemed to match my use case. I considered the following options

1) Modify drm_bridge to keep up to n (<= 4) downstream devices. The idea is to have something like the following ( please excuse the representation)

crtc1 --> encoder1 -->\                         / - - >connector1
                                    \   -> bridge - >/
                                    /                       \ 
crtc2 --> encoder2 -->/                         \ - - >connector2

The issue with this approach is, it is plainly incorrect based on my understanding 
 
2) Define a second bridge in the device tree with may be a dummy <reg> and connect the endpoint of dsi1_out to an endpoint within this bridge. This seems counter-intuitive as actually there is just one bridge device.

I am personally leaning towards approach 1. Any suggestions? Any examples that you can point me to?    

Thanks, 
Sriram

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux