Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX8M-L/Peripherals/HDMI

10,809 bytes added, 15 April
no edit summary
<section begin="History" />
{| style="border-collapse:collapse; "
!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"|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:#edf8fb; padding:5px; color:#000000"|1.0.0{{oldid|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"15759|Jan 2022/02/17}}|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-MX8M -L 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" |{{oldid|17553|2023/02/24}}
| 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" |DESK-MX8M-L-2.0.0 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" |{{oldid|19167|2023/08/22}}
| 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" |DESK-MX8M-L-4.0.0 release
|-
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |2024/04/11
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |DESK-MX8M-L-4.1.0 release
|-
|}
<section end="History" /><section begin="Body" />
==Peripheral HDMI ==
=== Device tree configuration ===
 
==== ORCA SOM ====
 
Here below an example of device tree configuration used on standard DAVE's kit for the ORCA SOM:
<pre>
...
...
sound-hdmi {
compatible = "fsl,imx-audio-cdnhdmi";
};
&hdmimix_clk { status = "okay";}; &hdmimix_reset hdmi_blk_ctrl {
status = "okay";
};
</pre>
====MITO 8M Mini====Here below an example of device tree configuration used on standard DAVE's kit for the MITO 8M Mini SOM: From <code>imx8mm-mito8mmini.dtsi</code>: <pre>......&i2c1 {... mipi_to_lvds: sn65dsi83@2c { compatible = "ti,sn65dsi83"; reg = <0x2c>; enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; interrupts-extended = <&gpio1 5 GPIO_ACTIVE_HIGH>; clocks = <&mipi_dsi 0>, <&clk IMX8MM_CLK_LCDIF_PIXEL>; clock-names = "mipi_clk", "pixel_clock"; display = <&display_subsystem>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_sn65dsi83>; sync-delay = <512>; dsi-lanes = <4>; status = "okay";  lvds_ports: ports { #address-cells = <1>; #size-cells = <0>;  port@0 { reg = <0>; lvds_in: endpoint { remote-endpoint = <&mipi_out>; data-lanes = <1 2 3 4>; }; }; }; };...}; &lcdif { status = "okay";}; &mipi_dsi { #clock-cells = <1>; status = "okay";  port@1 { mipi_out: endpoint { remote-endpoint = <&lvds_in>; attach-bridge; }; };}; &vpu_g1 { status = "okay";}; &vpu_g2 { status = "okay";}; &vpu_h1 { status = "okay";}; &gpu { status = "okay";};......</pre> From <code>imx8mm-mito8mmini-cb100a.dts</code> : <pre>...&regulators { reg_lvds_pwr: lvds_pwr { compatible = "regulator-fixed"; pinctrl-names = "default"; regulator-name = "lvds_pwr_en"; pinctrl-0 = <&pinctrl_lcd_3v3_enable>; gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; enable-active-high; regulator-boot-on; regulator-always-on; };  reg_5v_bl: 5v_bl { compatible = "regulator-fixed"; pinctrl-names = "default"; regulator-name = "5v_bl_en"; pinctrl-0 = <&pinctrl_lcd_5v_enable>; gpio = <&gpio5 5 GPIO_ACTIVE_HIGH>; enable-active-high; regulator-boot-on; regulator-always-on; };}; &i2c3 { lvds-to-hdmi-bridge@4c { compatible = "ite,it6263"; reg = <0x4c>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_it6263_en>; reset-gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; status = "okay";  port { it6263_in: endpoint { remote-endpoint = <&lvds_out>; }; }; };}; &display_subsystem { status = "okay";}; &lvds_ports { port@2 { reg = <2>; lvds_out: endpoint { remote-endpoint = <&it6263_in>; attach-bridge; }; };}; &iomuxc { pinctrl_lcd_3v3_enable: lcd_3v3_en { fsl,pins = < MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29 0x19 >; }; pinctrl_lcd_5v_enable: lcd_5v_en { fsl,pins = < MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x19 >; }; pinctrl_it6263_en: it6263_en { fsl,pins = < MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x19 >; };}; </pre> ===Accessing the peripheralin ORCA SOM===
====Linux messages at boot time====
...
...
[ 0.336013] platform 32fd8000.hdmi: Fixing up cyclic dependency with 32fc6000.lcd-controller[ 2.352266] dwhdmi-imx 32fd8000.hdmi: Detected HDMI TX controller v2.13a with HDCP (samsung_dw_hdmi_phy2)[ 2.358974352931] 20e0000dwhdmi-imx 32fd8000.hdmi_video supply hdmi: registered DesignWare HDMI not found, using dummy regulatorI2C bus driver[ 2.414060] imx-drm display-subsystem: bound 32fd8000.hdmi (ops dw_hdmi_imx_ops)
...
...
</pre> === Additional information ===HDMI framebuffer can be accessed through the <code>modetest</code> utility accessing the <code>imx-drm</code> DRM device for NXP i.MX SoCs. Here below an example of SBC ORCA configured for HDMI and LVDS outputs: <pre class="workstation-terminal">root@desk-mx8mp:~# modetest -M imx-drmEncoders:id crtc type possible crtcs possible clones 37 33 LVDS 0x00000001 0x0000000139 0 TMDS 0x00000002 0x00000002 Connectors:id encoder status name size (mm) modes encoders38 37 connected HDMI-A-1 340x190 2 37 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot #0 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver #1 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver props: 1 EDID: flags: immutable blob blobs:  value: 00ffffffffffff002074560100000000 141f010380221378fe6435a5544f9e27 125054bfea0061400101010101010101 010101010101021900a050d015203020 780059c21000001e000000fc00543038 30410a20202020202020000000ff0030 303030303030300a20202020000000fd 00304b545413010a20202020202001c9 020334f1461202030401132309070783 01000067030c001000384467d85dc401 448001681a00000109283ce6e50f0000 0600e200ff0000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000000000000000000000ca 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs:  value:40 0 disconnected HDMI-A-2 0x0 0 39 props: 1 EDID: flags: immutable blob blobs:  value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs:  value: 41 max bpc: flags: range values: 8 16 value: 0 CRTCs:id fb pos size33 46 (0,0) (1280x720) #0 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver props: 24 VRR_ENABLED: flags: range values: 0 1 value: 036 0 (0,0) (0x0) #0 nan 0 0 0 0 0 0 0 0 0 flags: ; type: props: 24 VRR_ENABLED: flags: range values: 0 1 value: 0 Planes:id crtc fb CRTC x,y x,y gamma size possible crtcs31 33 46 0,0 0,0 0 0x00000001 formats: XR24 AR24 RG16 XB24 AB24 AR15 XR15 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 32 zpos: flags: immutable range values: 0 0 value: 034 0 0 0,0 0,0 0 0x00000002 formats: XR24 AR24 RG16 XB24 AB24 AR15 XR15 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 35 zpos: flags: immutable range values: 0 0 value: 0 Frame buffers:id size pitchroot@desk-mx8mp:~#</pre> The connectors DRM names are: '''HDMI-A-1''' and '''LVDS-1'''. The releated device ''card'' is: <pre class="workstation-terminal">root@desk-mx8mp:~# ls -la /dev/dri/card*crw-rw---- 1 root video 226, 0 Jul 26 05:52 /dev/dri/card0crw-rw---- 1 root video 226, 1 Jul 26 05:52 /dev/dri/card1root@desk-mx8mp:~#</pre> ===Accessing the peripheral in MITO 8M Mini=== ====Linux messages at boot time==== <pre class="workstation-terminal">......[ 23.466020] imx-drm 32c00000.bus:display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)[ 3.759770] imx-drm 32c00000.bus:display-subsystem: bound imx-lcdif-crtc.0 (ops lcdif_crtc_ops)[ 3.775867] imx-drm 32c00000.bus:display-subsystem: bound 32e10000.mipi_dsi (ops imx_sec_dsim_ops)[ 3.818470785440] [drm] mxc_hdmi 20e0000Initialized imx-drm 1.hdmi_video0.0 20120507 for 32c00000.bus: Detected HDMI controller 0x13display-subsystem on minor 1...[ 6.341483] imx-drm 32c00000.bus:0x1adisplay-subsystem:0xa0[drm] fb0:0xc1imx-drmdrmfb frame buffer device
...
...
[ 2.831348] mxc_sdc_fb fb@2: registered mxc display driver hdmi...
</pre>
=== Additional information ===
HDMI framebuffer can be accessed through the standard <code>modetest</dev/fbXcode> utility accessing the <code>imx-drm</code> ''fb'' DRM devicefor NXP i.MX SoCs.
The Here below an example of MITO 8M Mini configured framebuffer can be checked using standard <code>fbset</code> utilityfor HDMI and LVDS outputs:
<pre class="workstation-terminal">
root@desk-mx8mpmx8mm:~# fbset modetest -M imx-drmEncoders:id crtc type possible crtcs possible clones34 33 DSI 0x00000001 0x00000001 Connectors:id encoder status name size (mm) modes encoders35 34 connected HDMI-A-1 340x190 2 34 modes: index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot #0 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver #1 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver props: 1 EDID: flags: immutable blob blobs:  value: 00ffffffffffff002074560100000000 141f010380221378fe6435a5544f9e27 125054bfea0061400101010101010101 010101010101021900a050d015203020 780059c21000001e000000fc00543038 30410a20202020202020000000ff0030 303030303030300a20202020000000fd 00304b545413010a20202020202001c9 020334f1461202030401132309070783 01000067030c001000384467d85dc401 448001681a00000109283ce6e50f0000 0600e200ff0000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000000000000000000000000ca 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs:  value: CRTCs:id fb pos size33 39 (0,0) (1280x720) #0 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver props: 24 VRR_ENABLED: flags: range values: 0 1 value: 0 Planes:id crtc fb CRTC x,y x,y gamma size possible crtcs31 33 39 0,0 0,0 0 0x00000001 formats: XR24 AR24 RG16 XB24 AB24 RX24 RA24 AR15 XR15 AB15 XB15 BG16 props: 8 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 32 zpos: flags: immutable range values: 0 0 value: 0 Frame buffers:id size pitch </dev/fb2pre>
The connectors DRM names are: '''HDMI-A-1''' and '''LVDS-1'''. The releated device ''card'' is:
<pre class="workstation-terminal">root@desk-mx8mpmx8mm:~#ls -la /dev/dri/card*crw-rw---- 1 root video 226, 0 Apr 29 00:39 /dev/dri/card0crw-rw---- 1 root video 226, 1 Apr 29 00:39 /dev/dri/card1
</pre>
 
----
[[Category:ORCA]]
dave_user
424
edits