[PATCH 2/2] S5PV210: Add MIPI-DSI Driver.

InKi Dae daeinki at gmail.com
Sat Jul 3 01:21:41 EDT 2010


Hi, Jaya.

below is my answer.

2010/7/3 Jaya Kumar <jayakumar.lkml at gmail.com>:
> Hi InKi,
>
> 2010/7/2 InKi Dae <inki.dae at samsung.com>:
>> this patch addes MIPI-DSI Driver.
>>
>> to use this driver, some structures below should be added to machine
>> specific file.
>
> A quick question. I'm having difficulty understanding the larger
> picture here. There's the MIPI-DSI host controller driver (which I
> think is what this patch is) which is specific to this platform. Then
> there's the MIPI-DSI LCD panels which are supposed to be fully
> platform independent, right? and would thus ideally have a platform
> independent MIPI-DSI client driver?
>

hmm, is there any mipi-dsi master framework that it can use commonly
in linux kernel? my driver is dependent on platform a little because
lcd panel driver should include two header files.

> Would I be correct in saying this patch below does not provide such an
> abstraction and so structures that would be necessary for such a
> display driver (eg: struct mipi_lcd_driver ) appear to be declared in
> the samsung platform specific files. In other words, if we wanted to
> support a particular MIPI-DSI LCD panel, it would require a client
> driver that is tied intimately to this platform?
>
> Could you point us to an example mipi-dsi client driver that is using
> the patch you provided? ie: something that is calling
> s5p_dsim_register_lcd_driver. That would help us understand the
> abstraction that is being made here.

Ok, below is example code to mipi-dsi based lcd panel driver.

#include <plat/regs-dsim.h>
#include <plat/dsim.h>

static struct mipi_lcd_driver xxx_mipi_driver = {
           .name  = "xxx",
           .init  = xxx_init,
           .display_on = xxx_displsy_on,
           .set_link = xxx_set_link,
           .probe = xxx_probe,
           .suspend = xxx_suspend,
           .resume = xxx_resume,
};

static int xxx_init(void)
{
           s5p_dsim_register_lcd_driver(&xxx_mipi_driver);
           return 0;
}

static void xxx_exit(void)
{
          return;
}

module_init(xxx_init);
module_exit(xxx_exit);

at module_init, xxx_mipi_driver would be registered to mipi master
driver through
s5p_dsim_register_lcd_driver func and when master driver is probed, xxx_probe
would be called by probe func of master driver.

I wonder there is mipi-dsi master driver indenpendent on platform
fully in linux kernel.
if exsiting, I will use it as master driver. of course, the part
dependent on platform
would be implemented using that framework.

Thank you.



More information about the linux-arm-kernel mailing list