Am Donnerstag, 18. Januar 2018, 05:53:55 CEST schrieb Archit Taneja: > Add binding info for peripherals that support dual-channel DSI. Add > corresponding optional bindings for DSI host controllers that may > be configured in this mode. Add an example of an I2C controlled > device operating in dual-channel DSI mode. > > Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Looks like a great solution for that problem, so Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> As I'm looking into that for my rk3399-scarlet device right now and couldn't find this patchset in the kernel yet, is it planned to merge or refresh these binding changes or were problems encountered. At least an Ack/Review from Rob seems to be missing. Heiko > --- > v2: > - Specify that clock-master is a boolean property. > - Drop/add unit-address and #*-cells where applicable. > > .../devicetree/bindings/display/mipi-dsi-bus.txt | 80 ++++++++++++++++++++++ > 1 file changed, 80 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt > index 94fb72cb916f..7a3abbedb3fa 100644 > --- a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt > +++ b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt > @@ -29,6 +29,13 @@ Required properties: > - #size-cells: Should be 0. There are cases where it makes sense to use a > different value here. See below. > > +Optional properties: > +- clock-master: boolean. Should be enabled if the host is being used in > + conjunction with another DSI host to drive the same peripheral. Hardware > + supporting such a configuration generally requires the data on both the busses > + to be driven by the same clock. Only the DSI host instance controlling this > + clock should contain this property. > + > DSI peripheral > ============== > > @@ -62,6 +69,16 @@ primary control bus, but are also connected to a DSI bus (mostly for the data > path). Connections between such peripherals and a DSI host can be represented > using the graph bindings [1], [2]. > > +Peripherals that support dual channel DSI > +----------------------------------------- > + > +Peripherals with higher bandwidth requirements can be connected to 2 DSI > +busses. Each DSI bus/channel drives some portion of the pixel data (generally > +left/right half of each line of the display, or even/odd lines of the display). > +The graph bindings should be used to represent the multiple DSI busses that are > +connected to this peripheral. Each DSI host's output endpoint can be linked to > +an input endpoint of the DSI peripheral. > + > [1] Documentation/devicetree/bindings/graph.txt > [2] Documentation/devicetree/bindings/media/video-interfaces.txt > > @@ -71,6 +88,8 @@ Examples > with different virtual channel configurations. > - (4) is an example of a peripheral on a I2C control bus connected with to > a DSI host using of-graph bindings. > +- (5) is an example of 2 DSI hosts driving a dual-channel DSI peripheral, > + which uses I2C as its primary control bus. > > 1) > dsi-host { > @@ -153,3 +172,64 @@ Examples > }; > }; > }; > + > +5) > + i2c-host { > + dsi-bridge@35 { > + compatible = "..."; > + reg = <0x35>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + dsi0_in: endpoint { > + remote-endpoint = <&dsi0_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + dsi1_in: endpoint { > + remote-endpoint = <&dsi1_out>; > + }; > + }; > + }; > + }; > + }; > + > + dsi0-host { > + ... > + > + /* > + * this DSI instance drives the clock for both the host > + * controllers > + */ > + clock-master; > + > + ports { > + ... > + > + port { > + dsi0_out: endpoint { > + remote-endpoint = <&dsi0_in>; > + }; > + }; > + }; > + }; > + > + dsi1-host { > + ... > + > + ports { > + ... > + > + port { > + dsi1_out: endpoint { > + remote-endpoint = <&dsi1_in>; > + }; > + }; > + }; > + }; > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel