工具/软件:
您好 TI!
我的 SDK 版本 是 11.01.05.03。 当我单独使用 dpi 和 LVDS,我可以通过这两个接口播放视频 , 但是,如果我启用两个接口如果我两个接口同步 ,
将会发生一些错误。
[ 93.313985] panel_simple: loading out-of-tree module taints kernel. [ 93.323512] panel-simple bus@f0000:max9275: supply power not found, using dummy regulator [ 93.331967] panel-simple bus@f0000:max9275: Ignore invalid data-mapping property [ 93.340897] panel-simple bus@f0000:max9277: supply power not found, using dummy regulator root@am62pxx-evm:/test/new_sdk_file# [ 93.353752] tidss 30200000.dss: tidss_dispc_modeset_init: Panel bus@f0000:max9275 has incompatible connector type for vp1 (7 != 17) [ 93.368689] tidss 30200000.dss: failed to init DRM/KMS (-22) [ 93.375067] tidss 30200000.dss: probe with driver tidss failed with error -22
我的修改如下
DTS
&max9275_gmsl {
status = "okay";
port {
max9275_in: endpoint {
remote-endpoint = <&dss0_dpi1_out>;
};
};
};
&max9277_gmsl {
status = "okay";
ports {
port@0 {
lcd_in0: endpoint {
remote-endpoint = <&oldi0_dss0_out>;
};
};
};
};
&dss0 {
bootph-all;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_dpi_pins_default>;
};
&oldi0_dss0 {
status = "okay";
};
&oldi0_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi0_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out0>;
};
};
port@1 {
reg = <1>;
oldi0_dss0_out: endpoint {
remote-endpoint = <&lcd_in0>;
};
};
};
&dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
/* VP1: Output to OLDI */
port@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
dss0_dpi0_out0: endpoint@0 {
reg = <0>;
remote-endpoint = <&oldi0_dss0_in>;
};
};
/* DSS0-VP2: DPI/HDMI Output */
port@1 {
reg = <1>;
dss0_dpi1_out: endpoint {
remote-endpoint = <&max9275_in>;
};
};
};
panel-simple.c
static struct display_timing gmsl_max9277_mode = {
.pixelclock = {26160000,26160000,26160000},
.hactive = {256,256,256},
.hfront_porch = {403,403,403},
.hback_porch = {45,45,45},
.hsync_len = {96,96,96},
.vactive = {64,64,64},
.vfront_porch = {415,415,415},
.vback_porch = {3,3,3},
.vsync_len = {63,63,63},
};
static struct panel_desc gmsl_max9277 = {
.timings = &gmsl_max9277_mode,
.num_timings = 1,
.bpc = 8,
.size = {
.width = 800,
.height = 545,
},
.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
// .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
.bus_flags = DRM_BUS_FLAG_DE_HIGH,
.connector_type = DRM_MODE_CONNECTOR_LVDS,
};
static struct display_timing gmsl_max9275_mode = {
.pixelclock = {26160000,26160000,26160000},
.hactive = {256,256,256},
.hfront_porch = {403,403,403},
.hback_porch = {45,45,45},
.hsync_len = {96,96,96},
.vactive = {64,64,64},
.vfront_porch = {415,415,415},
.vback_porch = {3,3,3},
.vsync_len = {63,63,63},
};
static struct panel_desc gmsl_max9275 = {
.timings = &gmsl_max9275_mode,
.num_timings = 1,
.bpc = 8,
.size = {
.width = 800,
.height = 545,
},
.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
// .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE,
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
{
.compatible = "maxim,max9275",
.data = &gmsl_max9277,
},
{
.compatible = "maxim,max9277",
.data = &gmsl_max9275,
},