Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX8M-L/Peripherals/HDMI

3,336 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.816872336013] imx-platform 32fd8000.hdmi-pavi 32fc4000: Fixing up cyclic dependency with 32fc6000.hdmilcd-pai-pvi: No pvi clock getcontroller[ 2.514179352266] dwhdmi-imx 32fd8000.hdmi: Detected HDMI TX controller v2.13a with HDCP (samsung_dw_hdmi_phy2)[ 2.524804352931] dwhdmi-imx 32fd8000.hdmi: registered DesignWare HDMI I2C bus driver[ 2.533924414060] imx-drm display-subsystem: bound 32fd8000.hdmi (ops dw_hdmi_imx_ops)[ 2.807834] debugfs: Directory '30cb0000.aud2htx' with parent 'audio-hdmi' already present![ 2.816295] imx-cdnhdmi sound-hdmi: i2s-hifi <-> 30cb0000.aud2htx mapping ok[ 2.823380] imx-cdnhdmi sound-hdmi: ASoC: no DMI vendor name![ 2.830004] input: audio-hdmi HDMI Jack as /devices/platform/sound-hdmi/sound/card0/input1[ 2.897988] #0: audio-hdmi
...
...
root@desk-mx8mp:~# modetest -M imx-drm
Encoders:
id crtc type possible crtcs possible clones40 36 37 33 LVDS 0x00000002 0xffffffff0x00000001 0x0000000141 39 0 TMDS 0x00000004 0x000000000x00000002 0x00000002
Connectors:
id encoder status name size (mm) modes encoders42 40 38 37 connected LVDSHDMI-A-1 217x136 1 40 340x190 2 37
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot) #0 1280x800 1280x720 60.01 00 1280 1399 1431 1452 800 804 824 832 72500 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: preferreddriver #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">......[ 3.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.785440] [drm] Initialized imx-drm 1.0.0 20120507 for 32c00000.bus:display-subsystem on minor 1...[ 6.341483] imx-drm 32c00000.bus:display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device......</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 MITO 8M Mini configured for HDMI and LVDS outputs:
value: 2 DPMS: flags: enum enums: On<pre class=0 Standby=1 Suspend=2 Off=3"workstation-terminal"> valueroot@desk-mx8mm: 0 5 link~# modetest -status: flags: enum enums: Good=0 Bad=1 value: 0 6 nonM imx-desktop: flags: immutable range values: 0 1 value: 0drm 4 TILEEncoders: flags: immutable blobid crtc type possible crtcs possible clones blobs:34 33 DSI 0x00000001 0x00000001
valueConnectors:43 id 41 encoder status name size (mm) modes encoders35 34 connected HDMI-A-1 480x270 340x190 20 412 34
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot) #0 1920x1080 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: preferred, driver #1 1920x1080 59.94 1920 2008 2052 2200 1080 1084 1089 1125 148352 flags: phsync, pvsync; type: driver #2 1920x1080 50.00 1920 2448 2492 2640 1080 1084 1089 1125 148500 flags: phsync, pvsync; type: driver #3 1280x1024 75.02 1280 1296 1440 1688 1024 1025 1028 1066 135000 flags: phsync, pvsync; type: driver #4 1280x1024 60.02 1280 1328 1440 1688 1024 1025 1028 1066 108000 flags: phsync, pvsync; type: driver #5 1280x960 60.00 1280 1376 1488 1800 960 961 964 1000 108000 flags: phsync, pvsync; type: driver #6 1152x864 75.00 1152 1216 1344 1600 864 865 868 900 108000 flags: phsync, pvsync; type: driver #7 1280x720 60.00 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: driver #8 1280x720 59.94 1280 1390 1430 1650 720 725 730 750 74176 flags: phsync, pvsync; type: driver #9 1 1280x720 50.00 1280 1720 1760 1980 720 725 730 750 74250 flags: phsync, pvsync; type: driver #10 1440x576 50.00 1440 1464 1592 1728 576 581 586 625 54000 flags: nhsync, nvsync; type: driver #11 1440x480 60.00 1440 1472 1596 1716 480 489 495 525 54054 flags: nhsync, nvsync; type: driver #12 1440x480 59.94 1440 1472 1596 1716 480 489 495 525 54000 flags: nhsync, nvsync; type: driver #13 800x600 60.32 800 840 968 1056 600 601 605 628 40000 flags: phsync, pvsync; type: driver #14 800x600 56.25 800 824 896 1024 600 601 603 625 36000 flags: phsync, pvsync; type: driver #15 720x576 50.00 720 732 796 864 576 581 586 625 27000 flags: nhsync, nvsync; type: driver #16 720x480 60.00 720 736 798 858 480 489 495 525 27027 flags: nhsync, nvsync; type: driver #17 720x480 59.94 720 736 798 858 480 489 495 525 27000 flags: nhsync, nvsync; type: driver #18 640x480 60.00 640 656 752 800 480 490 492 525 25200 flags: nhsync, nvsync; type: driver #19 640x480 59.94 640 656 752 800 480 490 492 525 25175 flags: nhsync, nvsync; type: driver
props:
1 EDID:
value:
00ffffffffffff000469c322725c030000ffffffffffff002074560100000000 1a1e010380301b782a84d5a25a52a226141f010380221378fe6435a5544f9e27 0d5054bfef00d1c0b300950081808140125054bfea0061400101010101010101 81c0714f0101023a801871382d40582c010101010101021900a050d015203020 4500dc0c1100001e000000ff004c364c780059c21000001e000000fc00543038 4d54463232303237340a000000fd003230410a20202020202020000000ff0030 4b185311000a202020202020000000fc303030303030300a20202020000000fd 00415355532056503232380a2020017000304b545413010a20202020202001c9 020322714f0102031112130414050e0f020334f1461202030401132309070783 1d1e1f90230917078301000065030c0001000067030c001000384467d85dc401 10008c0ad08a20e02d10103e9600dc0c448001681a00000109283ce6e50f0000 11000018011d007251d01e206e2855000600e200ff0000000000000000000000 dc0c1100001e011d00bc52d01e20b82800000000000000000000000000000000 5540dc0c1100001e8c0ad0902040312000000000000000000000000000000000 0c405500dc0c1100001800000000000000000000000000000000000000000000 00000000000000000000000000000035000000000000000000000000000000ca
2 DPMS:
flags: enum
CRTCs:
id fb pos size
33 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: 036 44 (0,0) (1280x800) #0 1280x800 60.01 1280 1399 1431 1452 800 804 824 832 72500 flags: ; type: preferred, driver props: 24 VRR_ENABLED: flags: range values: 0 1 value: 039 50 (0,0) (1920x10801280x720) #0 1920x1080 1280x720 60.00 1920 2008 2052 2200 1080 1084 1089 1125 148500 1280 1390 1430 1650 720 725 730 750 74250 flags: phsync, pvsync; type: preferred, driver
props:
24 VRR_ENABLED:
Planes:
id crtc fb CRTC x,y x,y gamma size possible crtcs
31 0 0 33 39 0,0 0,0 0 0x00000001 formats: XR24 AR24 RG16 XB24 AB24 RX24 RA24 AR15 XR15AB15 XB15 BG16
props:
8 type:
value: 1
32 zpos:
flags: immutable range
values: 0 0
value: 0
34 36 44 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
37 39 50 0,0 0,0 0 0x00000004
formats: XR24 AR24 RG16 XB24 AB24 AR15 XR15
props:
8 type:
flags: immutable enum
enums: Overlay=0 Primary=1 Cursor=2
value: 1
38 zpos:
flags: immutable range
values: 0 0
id size pitch
root@desk-mx8mp:~#
</pre>
<pre class="workstation-terminal">
root@desk-mx8mpmx8mm:~# ls -la /dev/dri/card*crw-rw---- 1 root video 226, 0 Jan 14 16Apr 29 00:10 39 /dev/dri/card0crw-rw---- 1 root video 226, 1 Jan 14 16Apr 29 00:10 39 /dev/dri/card1root@desk-mx8mp:~#
</pre>
 
----
[[Category:ORCA]]
dave_user
424
edits