Thanks Tomi for quick comment. I am thinking to base adv7393 driver on "drivers\gpu\drm\omapdrm\displays\encoder-tc358768.c" as I don't think any similar to adv7393 chip driver available. Could you please comment if this will help to get adv chip running? I tried to add the device tree config but after adding device configuration related to adv7393, my first display stopped working and whenever I run kmscube or modetest it fails. I have following configuration related to displays. Could anyone tell me if I am doing anything wrong in DTS configuration? What could be going wrong when I enable adv7393 related config so display 1 stops working? I am not sure if I have to use "composite-video-connector" driver. Could you please suggest? display1: VOUT3 --> LCD display display2: VOUT1 --> ADV7393 --> CVBS OUT --> DISPLAY dts configs: aliases { display0 = &lcd; display1 = &cvbs_out; }; lcd: display { compatible = "omapdss,panel-dpi"; label = "lcd"; panel-timing { clock-frequency = <27000000>; hactive = <800>; vactive = <480>; hfront-porch = <15>; hback-porch = <7>; hsync-len = <7>; vfront-porch = <40>; vback-porch = <4>; vsync-len = <3>; hsync-active = <1>; vsync-active = <1>; de-active = <0>; pixelclk-active = <0>; }; port@lcd3 { lcd_in: endpoint { remote-endpoint = <&dpi_out3>; }; }; }; cvbs_out: connector { compatible = "omapdss,composite-video-connector"; label = "cvbs_out"; port { cvbs_con: endpoint { remote-endpoint = <&adv7393_out>; }; }; }; &i2c2 { status = "okay"; clock-frequency = <400000>; adv7393@54 { compatible = "adi,adv7393"; reg = <0x54>; pinctrl-names = "i2c", "ddc"; ddc-i2c-bus = <&i2c2>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; adv7393_in: endpoint@0 { remote-endpoint = <&dpi_out>; }; }; port@1 { reg = <1>; adv7393_out: endpoint@0 { remote-endpoint = <&cvbs_con>; }; }; }; }; }; &dss { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; status = "okay"; port@lcd3 { reg = <2>; dpi_out3: endpoint { remote-endpoint = <&lcd_in>; data-lines = <24>; }; }; port@lcd1 { reg = <0>; dpi_out: endpoint { remote-endpoint = <&adv7393_in>; data-lines = <24>; }; }; }; }; root@dra7xx-evm:~# modetest trying to open device 'i915'...failed trying to open device 'radeon'...failed trying to open device 'nouveau'...failed trying to open device 'vmwgfx'...failed trying to open device 'omapdrm'...failed trying to open device 'exynos'...failed trying to open device 'tilcdc'...failed trying to open device 'msm'...failed trying to open device 'sti'...failed trying to open device 'tegra'...failed trying to open device 'imx-drm'...failed trying to open device 'rockchip'...failed trying to open device 'atmel-hlcdc'...failed trying to open device 'fsl-dcu-drm'...failed trying to open device 'vc4'...failed no device found root@dra7xx-evm:~# kmscube trying to load module omapdrm...failed. trying to load module tilcdc...failed. trying to load module i915...failed. trying to load module radeon...failed. trying to load module nouveau...failed. trying to load module vmwgfx...failed. trying to load module exynos...failed. could not open drm device failed to initialize DRM Thanks & Regards, Vikash On Tue, Sep 13, 2016 at 2:27 PM, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote: > Hi, > > On 13/09/16 11:47, Vikas Patil wrote: >> Dear All, >> >> I also see some of the encoder driver are at >> "drivers/gpu/drm/omapdrm/displays/". I am confused about which driver >> I should consider for reference for adv7393 driver development. >> >> Do I need to use >> "drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c" too along >> with adv7393 driver? > > At the moment omapdrm has its own encoder driver architecture, and you > have to use those if you use omapdrm. So yes, for DRA74x, you should > look at drivers/gpu/drm/omapdrm/displays/. > > Tomi > Dear All, I am trying to understand difference between "DRM Encoder slave driver" and "DRM bridge driver" as I need to write one for ADV7393 Video Encoder Chip for the custom target based on DRA74x having following display connection. VOUT1 --> ADV7393 --> CVBS Out (ADV7393 is on I2C) Could anyone here explain what is the difference between two and which I need to implement for ADV7393 and why? I could see adv7393 driver available at "drivers/media/i2c/adv7393.c" in linux 4.4.14. Can I use this driver? My feeling is I can not use but why could not much understand. or Do I need to base my driver something like "drivers/gpu/drm/i2c/adv7511.c", however I also see it is converted to bridge driver and moved to "drivers/gpu/drm/bridge/adv7511.c" [1] [1] http://www.spinics.net/lists/dri-devel/msg113244.html Thanking you all in advance. Thanks & Regards, Vikash _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel