Hi,
I have IMX6 Apalis quad core module on a Ixora carrier board, LCD and HDMI monitor connected to the Ixora.
The LCD can be started with the following boot parameters:
setenv vidargs video=mxcfb0:dev=lcd,NewHaven4-3,if=RGB24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=32M
The HDMI can be started with the following boot parameters:
setenv vidargs video=mxcfb0:off video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb2:off video=mxcfb3:off fbmem=32M
I tried to start both in a mirror mode with the following boot parameters:
setenv vidargs video=mxcfb0:dev=lcd,NewHaven4-3,if=RGB24 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb2:off video=mxcfb3:off fbmem=32M
After boot, I see only the boot console printout on the first display (mxcfb0) and the second displays stays black. Further tries with help of qt programs and direct echos to the framebuffer did not show any reaction.
My clock configurations are the following:
clock enable_cnt prepare_cnt rate accuracy phase
----------------------------------------------------------------------------------------
anaclk2 0 0 0 0 0
lvds2_in 0 0 0 0 0
anaclk1 0 0 0 0 0
lvds1_in 0 0 0 0 0
dummy 3 4 0 0 0
lvds2_sel 0 0 0 0 0
lvds2_gate 0 0 0 0 0
usbphy2_gate 1 1 0 0 0
usbphy1_gate 1 1 0 0 0
clk24m 0 0 24000000 0 0
osc 7 7 24000000 0 0
cko2_sel 1 1 24000000 0 0
cko2_podf 1 1 24000000 0 0
cko2 3 3 24000000 0 0
cko 1 1 24000000 0 0
periph_clk2_sel 0 0 24000000 0 0
periph_clk2 0 0 24000000 0 0
gpt_3m 1 1 3000000 0 0
pll7_bypass_src 1 1 24000000 0 0
pll7 1 1 480000000 0 0
pll7_bypass 1 1 480000000 0 0
pll7_usb_host 1 1 480000000 0 0
usbphy2 1 1 480000000 0 0
pll6_bypass_src 1 1 24000000 0 0
pll6 1 1 500000000 0 0
pll6_bypass 1 1 500000000 0 0
pll6_enet 1 1 500000000 0 0
enet_ref 1 1 125000000 0 0
pcie_ref 0 0 125000000 0 0
pcie_ref_125m 0 0 125000000 0 0
sata_ref 0 0 100000000 0 0
sata_ref_100m 0 0 100000000 0 0
lvds1_sel 0 0 100000000 0 0
lvds1_gate 0 0 100000000 0 0
pll5_bypass_src 1 1 24000000 0 0
pll5 1 1 720000000 0 0
pll5_bypass 1 1 720000000 0 0
pll5_video 1 1 720000000 0 0
pll5_post_div 1 1 180000000 0 0
pll5_video_div 1 1 45000000 0 0
ipu2_di1_pre_sel 0 0 45000000 0 0
ipu2_di1_pre 0 0 15000000 0 0
ipu2_di1_sel 0 0 15000000 0 0
ipu2_di1 0 0 15000000 0 0
ipu2_di0_pre_sel 0 0 45000000 0 0
ipu2_di0_pre 0 0 15000000 0 0
ipu2_di0_sel 0 0 15000000 0 0
ipu2_di0 0 0 15000000 0 0
ipu1_di1_pre_sel 1 1 45000000 0 0
ipu1_di1_pre 1 1 9000000 0 0
ipu1_di1_sel 1 1 9000000 0 0
ipu1_di1 1 1 9000000 0 0
ipu1_pclk1_sel 1 1 9000000 0 0
ipu1_pclk1_div 1 1 9000000 0 0
ipu1_pclk1 1 1 9000000 0 0
ipu1_di0_pre_sel 0 0 45000000 0 0
ipu1_di0_pre 0 0 15000000 0 0
ipu1_di0_sel 0 0 15000000 0 0
ipu1_di0 0 0 15000000 0 0
ldb_di1_sel 0 0 45000000 0 0
ldb_di1_div_7 0 0 6428571 0 0
ldb_di1_div_sel 0 0 6428571 0 0
ldb_di1 0 0 6428571 0 0
ldb_di1_div_3_5 0 0 12857142 0 0
ldb_di0_sel 0 0 45000000 0 0
ldb_di0_div_7 0 0 6428571 0 0
ldb_di0_div_sel 0 0 6428571 0 0
ldb_di0 0 0 6428571 0 0
ldb_di0_div_3_5 0 0 12857142 0 0
pll4_bypass_src 0 0 24000000 0 0
pll4 0 0 147456000 0 0
pll4_bypass 0 0 147456000 0 0
pll4_audio 0 0 147456000 0 0
pll4_post_div 0 0 36864000 0 0
pll4_audio_div 0 0 36864000 0 0
pll3_bypass_src 1 1 24000000 0 0
pll3 1 1 480000000 0 0
pll3_bypass 1 1 480000000 0 0
pll3_usb_otg 3 3 480000000 0 0
gpu2d_core_sel 0 0 480000000 0 0
gpu2d_core_podf 0 0 480000000 0 0
gpu2d_core 0 0 480000000 0 0
asrc_sel 0 0 480000000 0 0
asrc_pred 0 0 240000000 0 0
asrc_podf 0 0 30000000 0 0
asrc 0 0 30000000 0 0
esai_sel 0 0 480000000 0 0
esai_pred 0 0 240000000 0 0
esai_podf 0 0 30000000 0 0
esai_extal 0 0 30000000 0 0
periph2_clk2_sel 0 0 480000000 0 0
periph2_clk2 0 0 480000000 0 0
pll3_60m 0 0 60000000 0 0
can_root 0 0 30000000 0 0
can2_serial 0 0 30000000 0 0
can1_serial 0 0 30000000 0 0
ecspi_root 0 0 60000000 0 0
ecspi5 0 0 60000000 0 0
ecspi4 0 0 60000000 0 0
ecspi3 0 0 60000000 0 0
ecspi2 0 0 60000000 0 0
ecspi1 0 0 60000000 0 0
pll3_80m 1 1 80000000 0 0
uart_serial_podf 1 1 80000000 0 0
uart_serial 1 2 80000000 0 0
pll3_120m 0 0 120000000 0 0
pll3_pfd3_454m 0 0 454736842 0 0
spdif_sel 0 0 454736842 0 0
spdif_pred 0 0 227368421 0 0
spdif_podf 0 0 28421053 0 0
spdif 0 0 28421053 0 0
pll3_pfd2_508m 0 0 508235294 0 0
ssi3_sel 0 0 508235294 0 0
ssi3_pred 0 0 127058824 0 0
ssi3_podf 0 0 63529412 0 0
ssi3 0 0 63529412 0 0
ssi2_sel 0 0 508235294 0 0
ssi2_pred 0 0 127058824 0 0
ssi2_podf 0 0 63529412 0 0
ssi2 0 0 63529412 0 0
ssi1_sel 0 0 508235294 0 0
ssi1_pred 0 0 127058824 0 0
ssi1_podf 0 0 63529412 0 0
ssi1 0 0 63529412 0 0
pll3_pfd1_540m 1 1 540000000 0 0
hdmi_isfr 1 1 540000000 0 0
video_27m 0 0 27000000 0 0
pll3_pfd0_720m 0 0 720000000 0 0
usbphy1 0 0 480000000 0 0
pll2_bypass_src 1 1 24000000 0 0
pll2 1 1 528000000 0 0
pll2_bypass 1 1 528000000 0 0
pll2_bus 2 2 528000000 0 0
periph2_pre 0 0 528000000 0 0
periph2 0 0 528000000 0 0
mmdc_ch1_axi 0 0 528000000 0 0
periph_pre 1 1 528000000 0 0
periph 3 3 528000000 0 0
axi_sel 1 1 528000000 0 0
axi 2 2 264000000 0 0
openvg_axi 0 0 264000000 0 0
mlb 0 0 264000000 0 0
vpu_axi_sel 0 0 264000000 0 0
vpu_axi_podf 0 0 264000000 0 0
vpu_axi 0 0 264000000 0 0
vdo_axi_sel 0 0 264000000 0 0
vdo_axi 0 0 264000000 0 0
vdoa 0 0 264000000 0 0
emi_slow_sel 1 1 264000000 0 0
emi_slow_podf 1 1 132000000 0 0
eim_slow 1 1 132000000 0 0
pcie_axi_sel 0 0 264000000 0 0
pcie_axi 0 0 264000000 0 0
gpu3d_axi 0 0 264000000 0 0
gpu2d_axi 0 0 264000000 0 0
mmdc_ch0_axi 2 3 528000000 0 0
gpu3d_core_sel 0 0 528000000 0 0
gpu3d_core_podf 0 0 528000000 0 0
gpu3d_core 0 0 528000000 0 0
ipu2_sel 0 1 528000000 0 0
ipu2_podf 0 1 264000000 0 0
ipu2 0 1 264000000 0 0
ipu2_pclk1_sel 0 0 264000000 0 0
ipu2_pclk1_div 0 0 0 0 0
ipu2_pclk1 0 0 0 0 0
ipu2_pclk0_sel 0 0 264000000 0 0
ipu2_pclk0_div 0 0 0 0 0
ipu2_pclk0 0 0 0 0 0
dcic2 0 0 264000000 0 0
ipu1_sel 1 1 528000000 0 0
ipu1_podf 1 1 264000000 0 0
ipu1 4 2 264000000 0 0
ipu1_pclk0_sel 1 1 264000000 0 0
ipu1_pclk0_div 1 1 25142857 0 0
ipu1_pclk0 1 1 25142857 0 0
dcic1 0 0 264000000 0 0
ahb 8 8 132000000 0 0
sdma 16 2 132000000 0 0
sata 1 1 132000000 0 0
rom 1 1 132000000 0 0
ocram 2 2 132000000 0 0
hdmi_iahb 1 1 132000000 0 0
esai_mem 0 0 132000000 0 0
esai_ipg 0 0 132000000 0 0
caam_aclk 1 1 132000000 0 0
caam_mem 1 1 132000000 0 0
asrc_mem 0 0 132000000 0 0
asrc_ipg 0 0 132000000 0 0
cko1_sel 0 0 132000000 0 0
cko1_podf 0 0 16500000 0 0
cko1 0 0 16500000 0 0
ipg 6 8 66000000 0 0
usboh3 1 1 66000000 0 0
uart_ipg 1 2 66000000 0 0
ssi3_ipg 0 0 66000000 0 0
ssi2_ipg 0 0 66000000 0 0
ssi1_ipg 0 1 66000000 0 0
spdif_gclk 0 1 66000000 0 0
spba 0 0 66000000 0 0
iim 0 0 66000000 0 0
gpt_ipg 1 1 66000000 0 0
enet 2 2 66000000 0 0
can2_ipg 0 0 66000000 0 0
can1_ipg 0 0 66000000 0 0
caam_ipg 1 1 66000000 0 0
ipg_per 1 1 66000000 0 0
pwm4 1 1 66000000 0 0
pwm3 0 0 66000000 0 0
pwm2 0 0 66000000 0 0
pwm1 0 0 66000000 0 0
i2c3 0 0 66000000 0 0
i2c2 0 0 66000000 0 0
i2c1 0 0 66000000 0 0
gpt_ipg_per 0 0 66000000 0 0
pll2_pfd2_396m 3 3 396000000 0 0
enfc_sel 0 0 396000000 0 0
enfc_pred 0 0 79200000 0 0
enfc_podf 0 0 19800000 0 0
enfc 0 0 19800000 0 0
gpmi_io 0 0 19800000 0 0
emi_sel 0 0 396000000 0 0
emi_podf 0 0 198000000 0 0
usdhc4_sel 0 0 396000000 0 0
usdhc4_podf 0 0 198000000 0 0
usdhc4 0 0 198000000 0 0
gpmi_bch 0 0 198000000 0 0
usdhc3_sel 1 1 396000000 0 0
usdhc3_podf 1 1 198000000 0 0
usdhc3 3 3 198000000 0 0
apbh_dma 0 0 198000000 0 0
per1_bch 0 0 198000000 0 0
gpmi_bch_apb 0 0 198000000 0 0
gpmi_apb 0 0 198000000 0 0
usdhc2_sel 0 0 396000000 0 0
usdhc2_podf 0 0 198000000 0 0
usdhc2 0 0 198000000 0 0
usdhc1_sel 0 0 396000000 0 0
usdhc1_podf 0 0 198000000 0 0
usdhc1 0 0 198000000 0 0
hsi_tx_sel 1 1 396000000 0 0
hsi_tx_podf 1 1 198000000 0 0
hsi_tx 1 1 198000000 0 0
axi_alt_sel 0 0 396000000 0 0
step 1 1 396000000 0 0
pll1_sw 1 1 396000000 0 0
arm 2 2 396000000 0 0
twd 1 1 198000000 0 0
pll2_198m 0 0 198000000 0 0
pll2_pfd1_594m 0 0 594000000 0 0
gpu3d_shader_sel 0 0 594000000 0 0
gpu3d_shader 0 0 594000000 0 0
pll2_pfd0_352m 0 0 352000000 0 0
pll1_bypass_src 0 0 24000000 0 0
pll1_bypass 0 0 24000000 0 0
pll1_sys 0 0 24000000 0 0
pll1 0 0 792000000 0 0
ckih1 0 0 0 0 0
ckil 0 0 32768 0 0
My lcd overlay is the following:
From bf6693b3c2a6acdc664a6e8cb487c8ce57d66502 Mon Sep 17 00:00:00 2001
Date: Thu, 21 Sep 2017 13:35:49 +0200
Subject: [PATCH 1/1] create patch for NewHavenDisplay support
Add an overlay and a native kernel support for NewHaven
Displays.
---
arch/arm/boot/dts/imx6qdl-apalis.dtsi | 30 ++++++++++++++++++++++++++++++
drivers/video/fbdev/mxc/mxc_lcdif.c | 12 ++++++++++++
2 files changed, 42 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
index 388ca3f..c244fa8 100644
--- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
@@ -62,6 +62,36 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_lcdif>;
status = "disabled";
+ panel-info {
+ ac-bias = <255>;
+ ac-bias-intrpt = <0>;
+ dma-burst-sz = <16>;
+ bpp = <32>;
+ fdd = <0x80>;
+ sync-edge = <0>;
+ sync-ctrl = <1>;
+ raster-order = <0>;
+ fifo-th = <0>;
+ };
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: 480x272 {
+ clock-frequency = <9000000>;
+ hactive = <480>;
+ vactive = <272>;
+ hfront-porch = <2>;
+ hback-porch = <2>;
+ hsync-len = <41>;
+ vback-porch = <2>;
+ vfront-porch = <2>;
+ vsync-len = <10>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <0>;
+ };
+ };
};
memory {
diff --git a/drivers/video/fbdev/mxc/mxc_lcdif.c b/drivers/video/fbdev/mxc/mxc_lcdif.c
index 1636bae..4fd94c0 100644
--- a/drivers/video/fbdev/mxc/mxc_lcdif.c
+++ b/drivers/video/fbdev/mxc/mxc_lcdif.c
@@ -37,6 +37,18 @@ struct mxc_lcdif_data {
static struct fb_videomode lcdif_modedb[] = {
{
+ /* 480x272 @ 60 Hz , pixel clk @ 9 MHz */
+ "NewHaven4-3", 60, 480, 272, 111111,
+ .left_margin = 2,
+ .right_margin = 2,
+ .hsync_len = 41,
+ .upper_margin = 2,
+ .lower_margin = 2,
+ .vsync_len = 10,
+ .sync = 0,
+ .vmode = FB_VMODE_NONINTERLACED,
+ .flag = 0,},
+ {
/* 1024x600 @ 59 Hz , pixel clk @ 45 MHz */ /* 22222 ps*/
"FusionF10A", 59, 1024, 600, 22222,
.left_margin = 104,
--
2.7.4
I do not see why this is not working. Please help me.