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.

SN65DSI84: SN65DSI84 lvds no video ouput

Part Number: SN65DSI84
Other Parts Discussed in Thread: DSI-TUNER

i am using our SN65DSI84  for the MIPI to LVDS display, but there are no video output issue after the normal initialization.I can detect the mipi data single,mipi clock single and lvds clock single.but the lvds data only have high level.i dump all the register data and they are the same as which i write . the error register 0xE5 read back is always 0x01 after writing 0xFF or 0x00. Do you know what's the problem in here?

Attached is my initialization code and schematic.

sn65dsi84.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 (c) 2014 MediaTek Inc.
* Author: Jitao Shi <jitao.shi@mediatek.com>
*
* This program is 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.
*/
#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_gpio.h>
#include <linux/of_graph.h>
#include "../../../gpio/gpiolib.h"
#include "drm_crtc.h"
#include "drm_crtc_helper.h"
#include "drm_atomic_helper.h"
#include "drmP.h"
#include "drm_mipi_dsi.h"
#define REGFLAG_DELAY 0xAB
struct dsi84_bridge {
struct drm_connector connector;
struct i2c_client *client;
struct i2c_client *dptx_i2c;
struct i2c_client *mipirx_i2c;
struct drm_bridge bridge;
struct mipi_dsi_device dsi;
struct gpio_desc *gpio_en;
u32 resolution_index;
bool enabled;
};
typedef struct {
unsigned char cmd;
unsigned char data;
} dsi84_setting_table;
static dsi84_setting_table dsi84_init_table[] = {
{0x09,0x00},
{0x0A,0x05},
{0x0B,0x28},
{0x0D,0x00},
{0x10,0x26},
{0x11,0x00},
{0x12,0x52},
{0x13,0x00},
{0x18,0x6c},
{0x19,0x00},
{0x1A,0x03},
{0x1B,0x00},
{0x20,0x80},
{0x21,0x07},
{0x22,0x00},
{0x23,0x00},
{0x24,0x00},
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX