Difference between revisions of "iMX6 TinyRex Ultra Accessing and Testing Peripherals"

From Voipac Wiki
Jump to navigation Jump to search
Line 15: Line 15:
 
=== Peripherals and Accessories ===
 
=== Peripherals and Accessories ===
 
* 1x FullHD monitor with Audio output
 
* 1x FullHD monitor with Audio output
* 1x HD signal generator
+
* 1x HDMI signal generator (such as PC with HDMI interface or GoPro camera)
 
* 1x MicroSD card
 
* 1x MicroSD card
 
* 1x MiniPCIe WiFi card
 
* 1x MiniPCIe WiFi card
Line 141: Line 141:
  
 
'''''Input:''''' Connect RPi camera module into CSI interface and capture image<br />
 
'''''Input:''''' Connect RPi camera module into CSI interface and capture image<br />
'''''Output:''''' The image is displayed on LCD panel
+
'''''Output:''''' The image is displayed on HDMI monitor
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
root@imx6-tinyrexbasic:~# echo 2 > /sys/bus/i2c/devices/1-0036/ov5647_mode  
 
root@imx6-tinyrexbasic:~# echo 2 > /sys/bus/i2c/devices/1-0036/ov5647_mode  
Line 176: Line 176:
 
Freeing pipeline ...
 
Freeing pipeline ...
 
power_down_callback: ipu0/csi1
 
power_down_callback: ipu0/csi1
 +
</syntaxhighlight><br />
 +
 +
Software integration and additional commands or setting of CSI camera interface are available on separate [[iMX6_TinyRex_Camera|iMX6_TinyRex_Camera] page.
 +
 +
== Ethernet ==
 +
'''''Input:''''' None<br />
 +
'''''Output:''''' Device driver is available<br />
 +
'''''Note:'''''  MAC address should be identical with the one placed on the module sticker
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexbasic:~# ip addr show dev eth0
 +
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
 +
    link/ether 00:0d:15:00:db:b6 brd ff:ff:ff:ff:ff:ff
 +
</syntaxhighlight>
 +
 +
'''''Input:''''' Plug Ethernet cable into connector and issue DHCP command<br />
 +
'''''Output:''''' IPv4 address is assigned
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexbasic:~# dmesg | tail
 +
...
 +
libphy: 2188000.ethernet:03 - Link is Up - 1000/Full
 +
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexbasic:~# udhcpc -i eth0
 +
udhcpc (v1.22.1) started
 +
Sending discover...
 +
Sending select for 192.168.0.115...
 +
Lease of 192.168.0.115 obtained, lease time 356
 +
</syntaxhighlight>
 +
 +
== HDMI Input ==
 +
'''''Input:''''' Plug HD signal generator (1280x720p) (e.g. HDMI outputfrom a PC or GoPro camera) into mirco HDMI Input connector and capture input signal<br />
 +
'''''Output:''''' Input signal is visible on board's HDMI output and connected monitor
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexmax:~# gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw,width=1280,height=720,framerate=30/1 ! videoconvert ! autovideosink
 +
Setting pipeline to PAUSED ...
 +
display(/dev/fb0) resolution is (1920x1080).
 +
====== OVERLAYSINK: 4.1.4 build on Jan 23 2017 13:24:12. ======
 +
display(/dev/fb0) resolution is (1920x1080).
 +
display(/dev/fb0) resolution is (mxc_v4l2_output v4l2_out: Bypass IC.
 +
1920x1080).
 +
mxc_v4l2_output v4l2_out: Bypass IC.
 +
Pipeline is live and does not need PREROLL ...
 +
Setting pipeline to PLAYING ...
 +
New clock: GstSystemClock
 +
ERROR: v4l2 capture: unsupported ioctrl!
 +
ERROR: v4l2 capture: unsupported ioctrl!
 +
^Chandling interrupt.
 +
Interrupt: Stopping pipeline ...
 +
Execution ended after 0:00:09.216782001
 +
Setting pipeline to PAUSED ...
 +
Setting pipeline to READY ...
 +
Total showed frames (256), display master blited (256), playing for (0:00:09.217285001), fps (27.774).
 +
Setting pipeline to NULL ...
 +
Freeing pipeline ...
 +
</syntaxhighlight>
 +
 +
or
 +
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexbasic:~# gst-launch imxv4l2src ! autovideosink
 +
ipu_csi_window_size_crop: Error left=0 top=56595559
 +
MAX resolution 1920x1080
 +
 +
(gst-plugin-scanner:1024): GLib-GObject-WARNING **: cannot register existing type 'GstVorbisDec'
 +
 +
(gst-plugin-scanner:1024): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
 +
 +
(gst-plugin-scanner:1024): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
 +
power_down_callback: ipu0/csi0
 +
MFW_GST_V4LSRC_PLUGIN 4.0.3 build on Jan 19 2016 21:47:11.
 +
Setting pipeline to PAUSED ...
 +
ipu_csi_window_size_crop: Error left=0 top=56595559
 +
MFW_GST_V4LSINK_PLUGIN 4.0.3 build on Jan 19 2016 21:46:56.
 +
ipu_csi_window_size_crop: Error left=0 top=56595559
 +
ipu_csi_window_size_crop: Error left=0 top=56595559
 +
Pipeline is live and does not need PREROLL ...
 +
Setting pipeline to PLAYING ...
 +
New clock: GstSystemClock
 +
full screen size:1920x1080
 +
[V4L Update Display]: left=0, top=0, width=1920, height=1080
 +
set v4l display crop sucessfully
 +
set v4l rotate sucessfully
 +
>>V4L_SINK: Actually buffer status:
 +
        hardware buffer : 12
 +
        software buffer : 0
 +
power_down_callback: ipu0/csi1
 +
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
 +
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
 +
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
 +
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
 +
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
 +
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
 +
Caught interrupt -- handling interrupt.
 +
Interrupt: Stopping pipeline ...
 +
 +
(gst-launch-0.10:1023): GLib-CRITICAL **: Source ID 16 was not found when attempting to remove it
 +
Execution ended after 186220685689 ns.
 +
Setting pipeline to PAUSED ...
 +
Running time 0:03:06.221020022 render fps 16.131
 +
Setting pipeline to READY ...
 +
Setting pipeline to NULL ...
 +
Total rendered:3004
 +
[--->FINALIZE v4l_sink
 +
Freeing pipeline ...
 +
power_down_callback: ipu0/csi0
 +
</syntaxhighlight><br />
 +
 +
Software integration of HDMI Receiver ADV7610, additional commands and operation options are available on separate [[iMX6_TinyRex_HDMI Input|iMX6_TinyRex_HDMI Input] page.
 +
 +
== HDMI Output ==
 +
'''''Input:''''' Connect LCD monitor to baseboard<br />
 +
'''''Output:''''' Desktop UI is correctly displayed
 +
 +
== I2C ==
 +
'''''Input:''''' Scan I2C bus 0<br />
 +
'''''Output:''''' Available devices:<br />
 +
* HDMI Output EDID (0x50)
 +
* EEPROM (0x56)
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexbasic:~# i2cdetect -y 0
 +
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 +
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
 +
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
30: 30 -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- --
 +
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
50: UU -- -- -- -- -- -- 57 -- -- -- -- -- -- -- --
 +
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
70: -- -- -- -- -- -- -- -- 
 +
</syntaxhighlight>
 +
 +
'''''Input:''''' Scan I2C bus 1<br />
 +
'''''Output:''''' Available devices:<br />
 +
* CSI Camera (0x36)
 +
* HDMI Input HDCP (0x3a)
 +
* HDMI Input EDID (0x50)
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexbasic:~# i2cdetect -y 1
 +
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 +
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
 +
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
30: -- -- -- -- -- -- UU -- -- -- 3a -- -- -- -- --
 +
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
70: -- -- -- -- -- -- -- --   
 +
</syntaxhighlight>
 +
 +
'''''Input:''''' Scan I2C bus 2<br />
 +
'''''Output:''''' Available devices:<br />
 +
* HDMI Input chip(0x22 0x26 0x32 0x34 0x36 0x3e 0x40 0x4c)
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexbasic:~# i2cdetect -y 2
 +
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 +
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
 +
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
20: -- -- UU -- -- -- UU -- -- -- -- -- -- -- -- --
 +
30: -- -- UU -- UU -- UU -- -- -- -- -- -- -- UU --
 +
40: UU -- -- -- -- -- -- -- -- -- -- -- UU -- -- --
 +
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 +
70: -- -- -- -- -- -- -- --
 +
</syntaxhighlight>
 +
 +
 +
 +
'''''Input:''''' Trigger I2C eeprom detection<br />
 +
'''''Output:''''' I2C eeprom is detected
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexultra:~# echo -n "0-0056" > /sys/bus/i2c/drivers/at24/unbind
 +
root@imx6-tinyrexultra:~# echo -n "0-0056" > /sys/bus/i2c/drivers/at24/bind
 +
at24 0-0056: 131072 byte 24c1024 EEPROM, writable, 1 bytes/write
 +
</syntaxhighlight>
 +
 +
'''''Input:''''' Write and Read data from I2C EEPROM<br />
 +
'''''Output: If successful, console text 'Data are the same' should appear'''''
 +
<syntaxhighlight lang="bash">
 +
root@imx6-tinyrexultra:~# echo -n "0123" > eeprom_in
 +
root@imx6-tinyrexultra:~# cat eeprom_in > /sys/bus/i2c/devices/0-0056/eeprom
 +
root@imx6-tinyrexultra:~# head -c 4 /sys/bus/i2c/devices/0-0056/eeprom > eeprom_out
 +
root@imx6-tinyrexultra:~# diff eeprom_in eeprom_out && echo "Data are the same"
 +
Data are the same
 +
</syntaxhighlight>
 +
 +
'''''Input:''''' <br />
 +
'''''Output:'''''
 +
<syntaxhighlight lang="bash">
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 11:10, 12 March 2021

Elemental operations of iMX6 TinyRex Development board ports in Ultra configuration are shown on this page. For more detailed information such as HDMI input interface or Wireless operation refer to the dedicated Peripheral sections.

Prerequisites

Hardware

  • DC power supply (5V 2A)
  • iMX6 TinyRex Module Ultra
  • iMX6 TinyRex Baseboard

Peripherals and Accessories

  • 1x FullHD monitor with Audio output
  • 1x HDMI signal generator (such as PC with HDMI interface or GoPro camera)
  • 1x MicroSD card
  • 1x MiniPCIe WiFi card
  • 1x RPi camera module
  • 1x SATA HDD drive
  • 2x USB FLASH drive

Cables

  • Ethernet cable
  • HDMI cable
  • Micro HDMI cable
  • Micro USB cable
  • USB to UART cable

User button

Input: Press the USER button
Output: Button events 1 and 0 are generated

root@imx6-tinyrexultra:~# evtest /dev/input/by-path/platform-gpio-keys*-event
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100pio-keys.16-event .
Input device name: "gpio-keys.16"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 116 (KEY_POWER)
Properties:
Testing ... (interrupt to exit)
Event: time 1453240251.571826, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1453240251.571826, -------------- EV_SYN ------------
Event: time 1453240251.711820, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1453240251.711820, -------------- EV_SYN ------------

Reset button

Input: Press the RESET button
Output: Module will execute bootloader immediately with "Reset cause: POR"
Note: Module should never freeze or hang after the reset button was pressed. Testing the operations 10 times gives a reliable result

U-Boot 2014.10 (Jan 19 2016 - 20:37:48)

CPU:   Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: POR
Board: MX6 TinyRex - basic
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   FEC [PRIME]
Hit any key to stop autoboot:  0

CAN

Input: None
Output: Device driver is available

root@imx6-tinyrexbasic:~# ip addr show dev can0
2: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
    link/can


Note: Enhanced testing can be performed with a pair of iMX6 TinyRex Development boards and a couple of dedicated CAN evaluation modules

Board 1 (receiver) commands and outputs:

root@imx6-tinyrexmax:~# ip link set can0 type can bitrate 1000000
root@imx6-tinyrexmax:~# ip link set can0 up
flexcan 2090000.flexcan can0: writing ctrl=0x01232054
root@imx6-tinyrexmax:~# candump can0 &
[1] 833
root@imx6-tinyrexmax:~#   can0  123   [4]  DE AD BE EF

Board 2 (transmitter) commands and outputs:

root@imx6-tinyrexpro:~# ip link set can0 type can bitrate 1000000
root@imx6-tinyrexpro:~# ip link set can0 up
flexcan 2090000.flexcan can0: writing ctrl=0x01232054
root@imx6-tinyrexpro:~# candump can0 &
[1] 847
root@imx6-tinyrexpro:~# cansend can0 123#DEADBEEF
root@imx6-tinyrexpro:~#   can0  123   [4]  DE AD BE EF

CSI

Input: Connect RPi camera module into CSI interface and check if it is detected on I2C bus
Output: I2C address 0x36 is occupied and under use

root@imx6-tinyrexbasic:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- UU -- -- -- 3a -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --


Input: Connect RPi camera module into CSI interface and check kernel modules
Output: Device driver ov5647_camera_mipi_int(or ov5647_camera_mipi) is loaded

root@imx6-tinyrexbasic:~# lsmod
Module                  Size  Used by
mxc_v4l2_capture       28532  2 
ipu_bg_overlay_sdc      5401  1 mxc_v4l2_capture
ipu_still               2528  1 mxc_v4l2_capture
ipu_prp_enc             5943  1 mxc_v4l2_capture
ipu_csi_enc             3863  1 mxc_v4l2_capture
ipu_fg_overlay_sdc      6217  1 mxc_v4l2_capture
ov5647_camera_mipi     30980  0 
adv7610_video           6270  0 
v4l2_int_device         2930  3 ov5647_camera_mipi_int,adv7610_video,mxc_v4l2_capture
mxc_dcic                6569  0 
evbug                   1875  0


Input: Connect RPi camera module into CSI interface and capture image
Output: The image is displayed on HDMI monitor

root@imx6-tinyrexbasic:~# echo 2 > /sys/bus/i2c/devices/1-0036/ov5647_mode 
root@imx6-tinyrexbasic:~# gst-launch-1.0 v4l2src device="/dev/video1" ! video/x-bayer,width=1920,height=1080,framerate=30/1 ! queue ! bayer2rgb ! videoconvert ! fbdevsink
display(/dev/fb0) resolution is (1920x1080).
ipu_csi_window_size_crop: Error left=0 top=56595559
ERROR: unrecognized std! 0 (PAL=ff, NTSC=b000

(gst-plugin-scanner:1175): GStreamer-CRITICAL **: gst_caps_simplify: assertion 'GST_IS_CAPS (caps)' failed

(gst-plugin-scanner:1175): GStreamer-CRITICAL **: gst_caps_append: assertion 'GST_IS_CAPS (caps2)' failed

(gst-plugin-scanner:1175): GStreamer-CRITICAL **: gst_caps_simplify: assertion 'GST_IS_CAPS (caps)' failed

(gst-plugin-scanner:1175): GStreamer-CRITICAL **: gst_caps_append: assertion 'GST_IS_CAPS (caps2)' failed
ipu_csi_window_size_crop: Error left=0 top=56595559
ipu_csi_window_size_crop: Error left=0 top=56595559
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: v4l2 capture: unsupported ioctrl!
WARNING: from element /GstPipeline:pipeline0/GstFBDEVSink:fbdevsink0: A lot of buffers are being dropped.
Additional debug info:
/home/marek/workdir/imx6/yocto/fsl-release-bsp-tinyrex/build-x11/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.1-r0/gstreamer-1.4.1/libs/gst/base/gstbasesin:
There may be a timestamping problem, or this computer is too slow.
power_down_callback: ipu0/csi0
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:19.269515335
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
power_down_callback: ipu0/csi1


Software integration and additional commands or setting of CSI camera interface are available on separate [[iMX6_TinyRex_Camera|iMX6_TinyRex_Camera] page.

Ethernet

Input: None
Output: Device driver is available
Note: MAC address should be identical with the one placed on the module sticker

root@imx6-tinyrexbasic:~# ip addr show dev eth0
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:0d:15:00:db:b6 brd ff:ff:ff:ff:ff:ff

Input: Plug Ethernet cable into connector and issue DHCP command
Output: IPv4 address is assigned

root@imx6-tinyrexbasic:~# dmesg | tail
...
libphy: 2188000.ethernet:03 - Link is Up - 1000/Full
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
root@imx6-tinyrexbasic:~# udhcpc -i eth0
udhcpc (v1.22.1) started
Sending discover...
Sending select for 192.168.0.115...
Lease of 192.168.0.115 obtained, lease time 356

HDMI Input

Input: Plug HD signal generator (1280x720p) (e.g. HDMI outputfrom a PC or GoPro camera) into mirco HDMI Input connector and capture input signal
Output: Input signal is visible on board's HDMI output and connected monitor

root@imx6-tinyrexmax:~# gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw,width=1280,height=720,framerate=30/1 ! videoconvert ! autovideosink
Setting pipeline to PAUSED ...
display(/dev/fb0) resolution is (1920x1080).
====== OVERLAYSINK: 4.1.4 build on Jan 23 2017 13:24:12. ======
display(/dev/fb0) resolution is (1920x1080).
display(/dev/fb0) resolution is (mxc_v4l2_output v4l2_out: Bypass IC.
1920x1080).
mxc_v4l2_output v4l2_out: Bypass IC.
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: v4l2 capture: unsupported ioctrl!
ERROR: v4l2 capture: unsupported ioctrl!
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:09.216782001
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Total showed frames (256), display master blited (256), playing for (0:00:09.217285001), fps (27.774).
Setting pipeline to NULL ...
Freeing pipeline ...

or

root@imx6-tinyrexbasic:~# gst-launch imxv4l2src ! autovideosink
ipu_csi_window_size_crop: Error left=0 top=56595559
MAX resolution 1920x1080

(gst-plugin-scanner:1024): GLib-GObject-WARNING **: cannot register existing type 'GstVorbisDec'

(gst-plugin-scanner:1024): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(gst-plugin-scanner:1024): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
power_down_callback: ipu0/csi0
MFW_GST_V4LSRC_PLUGIN 4.0.3 build on Jan 19 2016 21:47:11.
Setting pipeline to PAUSED ...
ipu_csi_window_size_crop: Error left=0 top=56595559
MFW_GST_V4LSINK_PLUGIN 4.0.3 build on Jan 19 2016 21:46:56.
ipu_csi_window_size_crop: Error left=0 top=56595559
ipu_csi_window_size_crop: Error left=0 top=56595559
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
full screen size:1920x1080
[V4L Update Display]: left=0, top=0, width=1920, height=1080
set v4l display crop sucessfully
set v4l rotate sucessfully
>>V4L_SINK: Actually buffer status:
        hardware buffer : 12
        software buffer : 0
power_down_callback: ipu0/csi1
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
Caught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...

(gst-launch-0.10:1023): GLib-CRITICAL **: Source ID 16 was not found when attempting to remove it
Execution ended after 186220685689 ns.
Setting pipeline to PAUSED ...
Running time 0:03:06.221020022 render fps 16.131
Setting pipeline to READY ...
Setting pipeline to NULL ...
Total rendered:3004
[--->FINALIZE v4l_sink
Freeing pipeline ...
power_down_callback: ipu0/csi0


Software integration of HDMI Receiver ADV7610, additional commands and operation options are available on separate [[iMX6_TinyRex_HDMI Input|iMX6_TinyRex_HDMI Input] page.

HDMI Output

Input: Connect LCD monitor to baseboard
Output: Desktop UI is correctly displayed

I2C

Input: Scan I2C bus 0
Output: Available devices:

  • HDMI Output EDID (0x50)
  • EEPROM (0x56)
root@imx6-tinyrexbasic:~# i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: 30 -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: UU -- -- -- -- -- -- 57 -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Input: Scan I2C bus 1
Output: Available devices:

  • CSI Camera (0x36)
  • HDMI Input HDCP (0x3a)
  • HDMI Input EDID (0x50)
root@imx6-tinyrexbasic:~# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- UU -- -- -- 3a -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Input: Scan I2C bus 2
Output: Available devices:

  • HDMI Input chip(0x22 0x26 0x32 0x34 0x36 0x3e 0x40 0x4c)
root@imx6-tinyrexbasic:~# i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- UU -- -- -- UU -- -- -- -- -- -- -- -- -- 
30: -- -- UU -- UU -- UU -- -- -- -- -- -- -- UU -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --


Input: Trigger I2C eeprom detection
Output: I2C eeprom is detected

root@imx6-tinyrexultra:~# echo -n "0-0056" > /sys/bus/i2c/drivers/at24/unbind
root@imx6-tinyrexultra:~# echo -n "0-0056" > /sys/bus/i2c/drivers/at24/bind 
at24 0-0056: 131072 byte 24c1024 EEPROM, writable, 1 bytes/write

Input: Write and Read data from I2C EEPROM
Output: If successful, console text 'Data are the same' should appear

root@imx6-tinyrexultra:~# echo -n "0123" > eeprom_in
root@imx6-tinyrexultra:~# cat eeprom_in > /sys/bus/i2c/devices/0-0056/eeprom
root@imx6-tinyrexultra:~# head -c 4 /sys/bus/i2c/devices/0-0056/eeprom > eeprom_out
root@imx6-tinyrexultra:~# diff eeprom_in eeprom_out && echo "Data are the same"
Data are the same

Input:
Output:


Input:
Output: