Difference between revisions of "DESK-MX6-L/Pheripherals/HDMI"

From DAVE Developer's Wiki
Jump to: navigation, search
m (U0009 moved page AXEL Lite SOM/DESK-MX6-L/Pheripherals/HDMI to DESK-MX6-L/Pheripherals/HDMI: modifica gestione DESK come prodotto a se stante)
(HDMI section update for DESK-MX6-L release)
Line 1: Line 1:
<section begin=History/>
+
<section begin="History" />
 
{| style="border-collapse:collapse; "
 
{| style="border-collapse:collapse; "
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
+
! colspan="4" style="width:100%; text-align:left" ; border-bottom:solid 2px #ededed" |History
 
|-  
 
|-  
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Version
+
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Version
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
+
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Issue Date
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
+
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Notes
 
|-
 
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|1.0.0
+
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |1.0.0
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|Oct 2020
+
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |Oct 2020
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|First DESK release
+
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |First DESK release
 +
|-
 +
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |3.0.0
 +
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |Feb 2022
 +
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |3.0.0 DESK release
 
|-
 
|-
 
|-
 
|-
 
|}
 
|}
<section end=History/>
+
<section end="History" />
<section begin=Body/>
+
<section begin="Body" />
  
 
==Peripheral HDMI ==
 
==Peripheral HDMI ==
Line 68: Line 72:
 
===Accessing the peripheral===
 
===Accessing the peripheral===
  
For enabling the HDMI device, it is required to instantiate its framebuffer with the related configuration, for example, with a ''1920x1080p60'' display:  
+
For enabling the HDMI device, it is required to instantiate its framebuffer with the related configuration and changing the display ID of hdmi_core, for example, with a ''1920x1080p60'' display:  
  
 
<pre>
 
<pre>
Line 79: Line 83:
 
status = "okay";
 
status = "okay";
 
}
 
}
 +
 +
&hdmi_core {
 +
    ipu_id = <0>;
 +
    disp_id = <1>;
 +
    status = "okay";
 +
};
 
</pre>
 
</pre>
  
Line 86: Line 96:
 
...
 
...
 
...
 
...
[    2.358974] 20e0000.hdmi_video supply HDMI not found, using dummy regulator
+
[    4.204455] mxc_hdmi 20e0000.hdmi_video: supply HDMI not found, using dummy regulator
 +
[    4.517283] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
 
...
 
...
 
...
 
...
[    2.818470] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
+
[    4.525268] mxc_sdc_fb fb@2: registered mxc display driver hdmi
 
...
 
...
 
...
 
...
[    2.831348] mxc_sdc_fb fb@2: registered mxc display driver hdmi...
 
 
</pre>
 
</pre>
  
Line 101: Line 111:
  
 
<pre class="workstation-terminal">
 
<pre class="workstation-terminal">
root@desk-mx6:~# fbset -fb /dev/fb2
+
root@desk-mx6:~# fbset -fb /dev/fb2  
  
 
mode "1920x1080-60"
 
mode "1920x1080-60"
Line 111: Line 121:
 
     rgba 8/16,8/8,8/0,8/24
 
     rgba 8/16,8/8,8/0,8/24
 
endmode
 
endmode
 
root@desk-mx6:~#
 
 
</pre>
 
</pre>
  

Revision as of 16:36, 27 February 2022

History
Version Issue Date Notes
1.0.0 Oct 2020 First DESK release
3.0.0 Feb 2022 3.0.0 DESK release


Peripheral HDMI[edit | edit source]

Device tree configuration[edit | edit source]

Here below an example of device tree configuration used on standard DAVE's kit for the AXELLite SOM:

From imx6qdl-sbcx-revb-common.dtsi:

    hdmi_edid: edid@50 {
        compatible = "fsl,imx6-hdmi-i2c";
        reg = <0x50>;
    };

From imx6qdl-axelcommon.dtsi:

&hdmi_cec {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_hdmi_cec_2>;
    status = "okay";
};

&hdmi_core {
    ipu_id = <0>;
    disp_id = <0>;
    status = "okay";
};

&hdmi_video {
    fsl,phy_reg_vlev = <0x0294>;
    fsl,phy_reg_cksymtx = <0x800d>;
    status = "okay";
};

&iomuxc {
...
...
    hdmi_cec {
        pinctrl_hdmi_cec_2: hdmicecgrp-2 {
            fsl,pins = <
                MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
            >;
        };
    };
...
...
};

Accessing the peripheral[edit | edit source]

For enabling the HDMI device, it is required to instantiate its framebuffer with the related configuration and changing the display ID of hdmi_core, for example, with a 1920x1080p60 display:

&mxcfb3 {
	compatible = "fsl,mxc_sdc_fb";
	disp_dev = "hdmi";
	interface_pix_fmt = "RGB24";
	mode_str ="1920x1080M@60";
	default_bpp = <32>;
	status = "okay";
}

&hdmi_core {
    ipu_id = <0>;
    disp_id = <1>;
    status = "okay";
};

Linux messages at boot time[edit | edit source]

...
...
[    4.204455] mxc_hdmi 20e0000.hdmi_video: supply HDMI not found, using dummy regulator
[    4.517283] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
...
...
[    4.525268] mxc_sdc_fb fb@2: registered mxc display driver hdmi
...
...

Additional information[edit | edit source]

HDMI framebuffer can be accessed through the standard /dev/fbX fb device.

The configured framebuffer can be checked using standard fbset utility:

root@desk-mx6:~# fbset -fb /dev/fb2 

mode "1920x1080-60"
    # D: 148.500 MHz, H: 67.500 kHz, V: 60.000 Hz
    geometry 1920 1080 1920 1080 32
    timings 6734 148 88 36 4 44 5
    hsync high
    vsync high
    rgba 8/16,8/8,8/0,8/24
endmode