Re: [ADV7393] DRM Encoder Slave or DRM Bridge

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

 



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




[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