HDMI ==== The phyCORE-AM62x supports one 24-bit RGB parallel video output (VOUT) that can be used with Parallel MIPI DPI 2.0 (Digital Pixel Interface) or BT.656/BT.1120 interface. This guide demonstrates how to verify the HDMI connection between the phyCORE-AM62x development kit and a monitor with an HDMI port. For more information on HDMI, please see section 8 in the `Hardware Manual `_. .. image:: ../../images/phycore-am62x/pb-07124_hdmi.png :width: 800px :alt: phyCORE-AM62x HDMI Requirements -------------- * HDMI cable * Monitor with an HDMI Port * Requires a micro USB 5V power cable and HDMI cable .. note:: Be sure that you are not using a headless BSP image as this does not support the HDMI interface. Setup the HDMI Display ------------------------ * Power off and remove the power supply from the development kit. .. code-block:: none :caption: Target (Linux) poweroff * Connect the HDMI display to X45 and to the HDMI monitor. * Power on the development kit. As the board is booting, 4x Tux the penguins should appear, followed by a PHYTEC logo with a loading bar and finally a "Multitouch" qtdemo should show on the screen. .. note:: #. If the OLDI display overlay is enabled on the development kit, the HDMI screen will only load up to the PHYTEC loading bar screen. This issue arises because the qtdemo defaults to the OLDI display as the main device. #. The qtdemo can be interated with on a montior by plugging a keyboard or mouse usb hub into the development kit. Default Test Image ---------------------- * Stop the qtdemo and weston demos. .. code-block:: none :caption: Target (Linux) systemctl stop phytec-qtdemo systemctl stop weston.socket * Run the following command to run the HDMI test. .. code-block:: none :caption: Target (Linux) fbtest .. code-block:: none :caption: Expected Output root@phyboard-lyra-am62xx-3:~# fbtest Using drawops cfb32 (32 bpp packed pixels) Available visuals: Monochrome Grayscale 256 Truecolor 8:8:8:0 Using visops truecolor Running all tests test001: PASSED test002: PASSED test004: PASSED test006: PASSED test008: PASSED test009: PASSED .. image:: ../../images/phycore-am62x/pb-07124_HDMI_fbtest_test001.jpg :width: 466px :alt: phyCORE-AM62x HDMI Test 1 .. image:: ../../images/phycore-am62x/pb-07124_HDMI_fbtest_test002.jpg :width: 466px :alt: phyCORE-AM62x HDMI Test 2 .. image:: ../../images/phycore-am62x/pb-07124_HDMI_fbtest_test004.jpg :width: 466px :alt: phyCORE-AM62x HDMI Test 4 .. image:: ../../images/phycore-am62x/pb-07124_HDMI_fbtest_test006.jpg :width: 466px :alt: phyCORE-AM62x HDMI Test 6 .. image:: ../../images/phycore-am62x/pb-07124_HDMI_fbtest_test008.jpg :width: 466px :alt: phyCORE-AM62x HDMI Test 8 .. image:: ../../images/phycore-am62x/pb-07124_HDMI_fbtest_test009.jpg :width: 466px :alt: phyCORE-AM62x HDMI Test 9 Displaying Custom Image ------------------------------ * With an HDMI display connected (either monitor or 7" screen) power on the kit. * Stop the qtdemo and weston demos. .. code-block:: none :caption: Target (Linux) systemctl stop phytec-qtdemo systemctl stop weston.socket * Copy over or utilize the :ref:`camera-62` interface to obtain an image. This guide will be using the "scp" command to copy a png image from the Host machine to the kit. For more detailed information on copying media over to the kit see the guide :ref:`CopyFilesToTarget-62` #. Download the image, "awesome.png". .. image:: ../../images/phycore-am62x/awesome.png :width: 350px #. Connect the development kit to your local network using either ethernet port. #. Confirm the development kit's ethernet IP address (DHCP). For more information on how to change the from a static IP address to a DHCP address, see the :ref:`Ethernet-62` interface guide. .. code-block:: none :caption: Target (Linux) ip addr #. Transfer the image via Windows Command Prompt or Linux terminal. .. code-block:: none :caption: Host (Ubuntu or Windows) scp ./Downloads/awesome.png root@: * Use the "ls" command to verify that the image copied over to the kit. .. code-block:: none :caption: Target (Linux) ls * Display the image via HDMI screen. .. code-block:: none :caption: Target (Linux) gst-launch-1.0 -v filesrc location=./awesome.png ! pngdec ! imagefreeze ! kmssink driver-name="tidss" .. code-block:: none :caption: Target (Linux) root@phyboard-lyra-am62xx-3:~# gst-launch-1.0 -v filesrc location=./awesome.png ! pngdec ! imagefreeze ! kmssink driver-name="tidss" Setting pipeline to PAUSED ... [ 708.149794] omap_i2c 20010000.i2c: controller timed out [ 709.205610] omap_i2c 20010000.i2c: controller timed out [ 710.261618] omap_i2c 20010000.i2c: controller timed out [ 711.349593] omap_i2c 20010000.i2c: controller timed out [ 712.405574] omap_i2c 20010000.i2c: controller timed out [ 713.461556] omap_i2c 20010000.i2c: controller timed out [ 714.517566] omap_i2c 20010000.i2c: controller timed out [ 715.573563] omap_i2c 20010000.i2c: controller timed out [ 716.629632] omap_i2c 20010000.i2c: controller timed out Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 800 /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 480 /GstPipeline:pipeline0/GstPngDec:pngdec0.GstPad:src: caps = video/x-raw, format=(string)RGBA, width=(int)800, height=(int)500, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB, framerate=(fraction)0/1 /GstPipeline:pipeline0/GstImageFreeze:imagefreeze0.GstPad:sink: caps = video/x-raw, format=(string)RGBA, width=(int)800, height=(int)500, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB, framerate=(fraction)0/1 /GstPipeline:pipeline0/GstImageFreeze:imagefreeze0.GstPad:src: caps = video/x-raw, format=(string)RGBA, width=(int)800, height=(int)500, framerate=(fraction)25/1, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, format=(string)RGBA, width=(int)800, height=(int)500, framerate=(fraction)25/1, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)sRGB Pipeline is PREROLLED ... Setting pipeline to PLAYING ... Redistribute latency... New clock: GstSystemClock Run Default Video ------------------- * Run the default video on the qt5demo. A goat video should appear on screen. .. code-block:: none :caption: Target (Linux) gst-launch-1.0 -v filesrc location=/usr/share/phytec-qtdemo/videos/caminandes.webm ! decodebin ! videoconvert ! kmssink driver-name="tidss"