This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SN65DSI83, SN65DSI84, SN65DSI85 - linux driver

Other Parts Discussed in Thread: SN65DSI84, SN65DSI85, SN65DSI83

Hi all

Would you mind if we ask SN65DSI83, SN65DSI84 and SN65DSI85?
Our customer uses these device with linux.
Do you have some driver on linux?

Kind regards,

Hirotaka Matsumoto

  • We do not support the DSI drivers, however,  we can provide a sample code that we use in Linux for OMAP to configure the DSI8x, this code executes the initial setup for the DSI8x device,  we use a function to configure the DSI8x registers, this routine creates a I2C_ client structure to configure the device registers from OMAP processor (this is only a sample code, the customer needs to modify the values in the code to match the required resolution, video format, etc… ).

    0602.panel-dsi85.c
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    /*
    *
    * Copyright 2011 Texas Instruments, Inc.
    * Author: Archit Taneja <archit@ti.com>
    *
    * based on d2l panel driver by Jerry Alexander <x0135174@ti.com>
    *
    * This program iss free software; you can redistribute it and/or modify it
    * under the terms of the GNU General Public License version 2 as published by
    * the Free Software Foundation.
    *
    * This program is distributed in the hope that it will be useful, but WITHOUT
    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
    * more details.
    *
    * You should have received a copy of the GNU General Public License along with
    * this program. If not, see <http://www.gnu.org/licenses/>.
    */
    #include <linux/module.h>
    #include <linux/debugfs.h>
    #include <linux/delay.h>
    #include <linux/err.h>
    #include <linux/jiffies.h>
    #include <linux/sched.h>
    #include <linux/seq_file.h>
    #include <linux/backlight.h>
    #include <linux/fb.h>
    #include <linux/interrupt.h>
    #include <linux/gpio.h>
    #include <linux/slab.h>
    #include <linux/regulator/consumer.h>
    #include <linux/mutex.h>
    #include <linux/i2c.h>
    #include <video/omapdss.h>
    #include <video/mipi_display.h>
    #include <video/omap-panel-dsi85.h>
    #include "panel-dsi85.h"
    #define DSI85DEBUG
    static struct i2c_board_info dsi85_i2c_board_info = {
    I2C_BOARD_INFO("dsi85_i2c_driver", 0x2d /*0x2c*/),
    };
    struct dsi85_i2c_data {
    struct mutex xfer_lock;
    };
    static struct i2c_device_id dsi85_i2c_id[] = {
    { "dsi85_i2c_driver", 0 },
    };
    #define LVDS_CLK_FROM_DSI_CLK 1
    struct dsi85_lvds_timings {
    u16 hfp;
    u16 hsw;
    u16 hbp;
    u16 vfp;
    u16 vsw;
    u16 vbp;
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    7851.panel-dsi85.h

    This sample code can be used to configure the DSi8x devices from Linux and you also can explain to the customer that the DSI interface is fully supported on the OMAP mainline Linux kernel in the following address:

    http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/video/omap2/dss/dsi.c?id=c16fa4f2ad19908a47c63d8fa436a1178438c7e7

    Regards

  • Hi Joel:

    When I porting your code to qualcomm  msm8909, there was a error:

    kernel/drivers/misc/sn65dsi8x-i2c/panel-dsi85.c:39:36: fatal error: video/omap-panel-dsi85.h: No such file or directory #include <video/omap-panel-dsi85.h>

    it seemed that we can't find the file omap-panel-dsi85.h

    so, could you help me?

    Thanks.

  • Hello Xingxing Luo,

    Please, find attached the missing file.

    omap-panel-dsi85.h

    Regards

  • Hi Joel:
    Thank you very much, but it looks like the file still missed some struct define:
    kernel/drivers/misc/sn65dsi8x-i2c/panel-dsi85.c:89:21: error: variable 'vm_data' has initializer but incomplete type
    static const struct omap_dss_dsi_videomode_data vm_data = {

    Anyway, Thanks for your help.
  • Hi Joel:

    I'm working on qualcomm msm8909 platform, and I found that there was a issue, the file omapdss.h was different.

    please check the attchment.

     omapdss.h

  • Hello xingxing Luo,
    Our code is just an example of how to configure the device. You will have to contact Qualcomm to get details on the dsi driver.
    Regards