<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Benjamin</id>
	<title>Compulab Mediawiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Benjamin"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Special:Contributions/Benjamin"/>
	<updated>2026-05-01T23:01:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_Known_Issues&amp;diff=5183</id>
		<title>CL-SOM-iMX8Plus: Yocto Linux: Known Issues</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_Known_Issues&amp;diff=5183"/>
		<updated>2023-07-17T07:12:07Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Kernel'''&lt;br /&gt;
* MIPI Display backlight does not work. A solution will be provided in the next release.&lt;br /&gt;
* LVDS Display backlight does not work. A solution will be provided in the next release.&lt;br /&gt;
&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:CL-SOM-iMX8Plus]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_How-To_Guide&amp;diff=5182</id>
		<title>CL-SOM-iMX8Plus: Yocto Linux: How-To Guide</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_How-To_Guide&amp;diff=5182"/>
		<updated>2023-07-16T10:35:46Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Device Tree=&lt;br /&gt;
The current release comes with these dtb files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''DTB''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''HW Feature''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Jumpers'/Interface Settings'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration; mipi dsi, lvds and hdmi enabled&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi1.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration + mipi csi1 enabled + ar1335_af sensor on the P48;&lt;br /&gt;
| align=&amp;quot;&amp;quot; |E18 is on&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi2.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration + mipi csi2 enabled + ar1335_af sensor on the P47;&lt;br /&gt;
| align=&amp;quot;&amp;quot; |E23 is on&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus-usbdev.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration + USB1 as a peripheral;&lt;br /&gt;
| align=&amp;quot;&amp;quot; |J5 is in use&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus-hdmi.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration w/out lvds and mipi dsi; hdmi display only;&lt;br /&gt;
| align=&amp;quot;&amp;quot; |P14 is in use&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus-lvds.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration w/out hdmi and mipi dsi; lvds display only;&lt;br /&gt;
| align=&amp;quot;&amp;quot; |P11/P5 lvds iface/touch is in use&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus-mipi.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration w/out hdmi and lvds; mipi dsi display only;&lt;br /&gt;
| align=&amp;quot;&amp;quot; |P22/P45 mipi iface/touch is in use&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi1-imx219.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration + mipi csi1 enabled + imx219 sensor on the P49;&lt;br /&gt;
| align=&amp;quot;&amp;quot; |E18 is off&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Set a device tree==&lt;br /&gt;
The current release provides two methods to switch between dtb files:&lt;br /&gt;
* U-Boot environment&lt;br /&gt;
The U-boot '''fdtfile''' variable contains the device tree name that will be loaded into the RAM.&lt;br /&gt;
This variable can be changed by:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Environment''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Command''' &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |U-Boot&lt;br /&gt;
| align=&amp;quot;&amp;quot; |setenv fdtfile &amp;lt;fdt_file_name&amp;gt;; saveenv;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |Linux&lt;br /&gt;
| align=&amp;quot;&amp;quot; |cl_setenv fdtfile &amp;lt;fdt_file_name&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* GRUB environment (if the image was created with the meta-compulab-uefi layer)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Environment''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Command/Procedure''' &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |GRUB Boot Menu&lt;br /&gt;
| align=&amp;quot;&amp;quot; |Goto &amp;quot;Advanced Boot Options&amp;quot; and choose a device tree from the provided dtb list.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |Linux&lt;br /&gt;
| align=&amp;quot;&amp;quot; |grub-editenv /boot/EFI/BOOT/grubenv set fdtfile=&amp;lt;fdt_file_name&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Controller–area network (CAN)=&lt;br /&gt;
CL-SOM-iMX8Plus features two Flexible Controller Area Network (FLEXCAN) modules.&lt;br /&gt;
The FlexCAN module is a full implementation of the CAN protocol specification, the&lt;br /&gt;
CAN with Flexible Data rate (CAN FD) protocol, and the CAN 2.0 version B protocol,&lt;br /&gt;
which supports both standard and extended message frames and long payloads up to 64&lt;br /&gt;
bytes, transferred at faster rates (up to 8 Mb/s).&lt;br /&gt;
&lt;br /&gt;
==CAN interface configuration==&lt;br /&gt;
It is recommended to configure the CAN interface, with the {{filename|iproute2}} utilities.&lt;br /&gt;
&lt;br /&gt;
* To make sure the right '''ip''' utility is used, run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip -V&lt;br /&gt;
ip utility, iproute2-v5.7.0-77-gb687d1067169 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure both CAN interface bit-rate to 1 Mbit/sec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip link set can0 type can bitrate 1000000&lt;br /&gt;
ip link set can1 type can bitrate 1000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enable the CAN interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip link set can0 up&lt;br /&gt;
ip link set can1 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Send/Receive packets==&lt;br /&gt;
Use {{filename|cansend}} and {{filename|candump}} utilities to send and receive packets via CAN interface.&lt;br /&gt;
&lt;br /&gt;
* Send standard CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cansend can0 111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Send extended CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cansend can0 11111111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* CAN frames (extended mode) generator, random payload, the interval between two successive flames 50 msec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cangen -g 50 -e -D r -v can0&lt;br /&gt;
&lt;br /&gt;
can: raw protocol (rev 20170425)&lt;br /&gt;
...&lt;br /&gt;
  can0  03FF0983#D7.61.FF.03.C1.F7.C1.34&lt;br /&gt;
  can0  19C34D32#F7.5A.C2.73.AD.0E.3F.0B&lt;br /&gt;
  can0  0675E391#2B.2D.D3.49&lt;br /&gt;
  can0  13091C55#99.32.EC.77.27.81.49.0B&lt;br /&gt;
  can0  098D67CF#22.50.AB.48.AD.7F.F4.26&lt;br /&gt;
  can0  05263FEC#1B.4C.02.45.6E&lt;br /&gt;
  can0  12B30E20#&lt;br /&gt;
  can0  1F193DF9#C5&lt;br /&gt;
  can0  1EB0B18F#3E.3F.DA.57.C2.FE.73.58&lt;br /&gt;
  can0  1E5C64D9#6F.0D.B3.63.6A&lt;br /&gt;
  can0  1E1DE3F9#96.48.AC.79.4E.00.27.71&lt;br /&gt;
  can0  0E1A11B7#75.81.70.7C.86.79.A7.77&lt;br /&gt;
  can0  05F8FD8B#33.F9.9B.1E.77.3D.1F&lt;br /&gt;
  can0  1E155FCD#E6.BA.F8.58.ED.6D.C8.10&lt;br /&gt;
  can0  1D91DF9E#5D.29.82.7B.97.1D.AB.5C&lt;br /&gt;
  can0  11FB3CDA#14.65.C3&lt;br /&gt;
  can0  091352C0#2C.ED&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Dump all received data frames as well as error frames (on the second device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
candump any,0:0,#FFFFFFFF&lt;br /&gt;
&lt;br /&gt;
  can0  111   [8]  11 22 33 44 55 66 77 88&lt;br /&gt;
  can0  11111111   [8]  11 22 33 44 55 66 77 88&lt;br /&gt;
...&lt;br /&gt;
  can0  03FF0983   [8]  D7 61 FF 03 C1 F7 C1 34&lt;br /&gt;
  can0  19C34D32   [8]  F7 5A C2 73 AD 0E 3F 0B&lt;br /&gt;
  can0  0675E391   [4]  2B 2D D3 49&lt;br /&gt;
  can0  13091C55   [8]  99 32 EC 77 27 81 49 0B&lt;br /&gt;
  can0  098D67CF   [8]  22 50 AB 48 AD 7F F4 26&lt;br /&gt;
  can0  05263FEC   [5]  1B 4C 02 45 6E&lt;br /&gt;
  can0  12B30E20   [0] &lt;br /&gt;
  can0  1F193DF9   [1]  C5&lt;br /&gt;
  can0  1EB0B18F   [8]  3E 3F DA 57 C2 FE 73 58&lt;br /&gt;
  can0  1E5C64D9   [5]  6F 0D B3 63 6A&lt;br /&gt;
  can0  1E1DE3F9   [8]  96 48 AC 79 4E 00 27 71&lt;br /&gt;
  can0  0E1A11B7   [8]  75 81 70 7C 86 79 A7 77&lt;br /&gt;
  can0  05F8FD8B   [7]  33 F9 9B 1E 77 3D 1F&lt;br /&gt;
  can0  1E155FCD   [8]  E6 BA F8 58 ED 6D C8 10&lt;br /&gt;
  can0  1D91DF9E   [8]  5D 29 82 7B 97 1D AB 5C&lt;br /&gt;
  can0  11FB3CDA   [3]  14 65 C3&lt;br /&gt;
  can0  091352C0   [2]  2C ED&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WiFi =&lt;br /&gt;
&lt;br /&gt;
CL-SOM-iMX8Plus features 802.11ac wireless connectivity solution implemented with an NXP 88W8997 module.&lt;br /&gt;
&lt;br /&gt;
== WiFi Initialization ==&lt;br /&gt;
WiFi requires no user interaction for being configured.&lt;br /&gt;
* The driver gets loaded automatically.&amp;lt;br&amp;gt;Use this command to show the loaded drivers:&lt;br /&gt;
 '''lsmod | grep mwifiex'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mwifiex_sdio           40960  0&lt;br /&gt;
mwifiex               274432  1 mwifiex_sdio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The WiFi driver can be loaded manually:&lt;br /&gt;
 '''modprobe mwifiex'''&lt;br /&gt;
 '''modprobe mwifiex_sdio'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
               mwifiex_sdio mmc0:0001:1: info: FW download over, size 623240 bytes&lt;br /&gt;
               mwifiex_sdio mmc0:0001:1: WLAN FW is active&lt;br /&gt;
               mwifiex_sdio mmc0:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (16.68.1.p197) &lt;br /&gt;
               mwifiex_sdio mmc0:0001:1: driver_version = mwifiex 1.0 (16.68.1.p197) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Browse the WiFi module configuration:&lt;br /&gt;
 '''iwconfig mlan0'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mlan0     IEEE 802.11  ESSID:off/any  &lt;br /&gt;
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm   &lt;br /&gt;
          Retry short limit:9   RTS thr=2347 B   Fragment thr=2346 B   &lt;br /&gt;
          Encryption key:off&lt;br /&gt;
          Power Management:on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Activate the interface:&lt;br /&gt;
 '''ifconfig mlan0 up'''&lt;br /&gt;
* Sample WiFi scanning:&lt;br /&gt;
 '''iw mlan0 scan'''&lt;br /&gt;
The output will show the list of Access Points and Ad-Hoc cells in range.&lt;br /&gt;
For more information about connecting to wireless networks and tuning WiFi interfaces refer to “wpa_supplicant” and “wireless-tools” man pages.&lt;br /&gt;
&lt;br /&gt;
== wpa_supplicant ==&lt;br /&gt;
* Create a {{cmd|wpa_supplicant}} configuration file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; eof &amp;gt; /etc/wpa_supplicant.conf&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
update_config=1&lt;br /&gt;
eof&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Issue {{cmd|wpa_supplicant}}:&lt;br /&gt;
 '''ifconfig mlan0 up'''&lt;br /&gt;
 '''wpa_supplicant -B -Dnl80211 -c /etc/wpa_supplicant.conf -i mlan0'''&lt;br /&gt;
* Configuring WiFi connection with {{cmd|wpa_cli}}:&lt;br /&gt;
 '''wpa_cli'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Selected interface 'mlan0'&lt;br /&gt;
&lt;br /&gt;
Interactive mode&lt;br /&gt;
&lt;br /&gt;
&amp;gt; scan&lt;br /&gt;
&amp;gt; scan_results &lt;br /&gt;
bssid / frequency / signal level / flags / ssid&lt;br /&gt;
b8:08:cf:a0:7e:f4       5240    -83     [WPA2-PSK-CCMP][ESS]    MYSSID&lt;br /&gt;
&amp;gt; add_network&lt;br /&gt;
0&lt;br /&gt;
&amp;gt; set_network 0 ssid &amp;quot;MYSSID&amp;quot;&lt;br /&gt;
&amp;gt; set_network 0 psk &amp;quot;passphrase&amp;quot;&lt;br /&gt;
&amp;gt; enable_network 0&lt;br /&gt;
&amp;gt; save_config&lt;br /&gt;
&amp;gt; quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Browse the '''''/etc/wpa_supplicant.conf''''':&lt;br /&gt;
 '''cat /etc/wpa_supplicant.conf'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
update_config=1&lt;br /&gt;
&lt;br /&gt;
network={&lt;br /&gt;
        ssid=&amp;quot;MYSSID&amp;quot;&lt;br /&gt;
        psk=&amp;quot;passphrase&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get an ip-address:&lt;br /&gt;
 '''udhcpc -i mlan0'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udhcpc: started, v1.33.1&lt;br /&gt;
udhcpc: sending discover&lt;br /&gt;
udhcpc: sending select for 172.16.11.28&lt;br /&gt;
udhcpc: lease of 172.16.11.28 obtained, lease time 7181&lt;br /&gt;
/etc/udhcpc.d/50default: Adding DNS 172.16.11.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Get the connection status:&lt;br /&gt;
 '''wpa_cli status'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Selected interface 'mlan0'&lt;br /&gt;
bssid=b8:08:cf:a0:7e:f4&lt;br /&gt;
freq=5240&lt;br /&gt;
ssid=MYSSID&lt;br /&gt;
id=0&lt;br /&gt;
mode=station&lt;br /&gt;
pairwise_cipher=CCMP&lt;br /&gt;
group_cipher=CCMP&lt;br /&gt;
key_mgmt=WPA2-PSK&lt;br /&gt;
wpa_state=COMPLETED&lt;br /&gt;
ip_address=172.16.11.28&lt;br /&gt;
p2p_device_address=ec:2e:98:d1:03:f7&lt;br /&gt;
address=ec:2e:98:d1:03:f7&lt;br /&gt;
uuid=3cb04c02-017b-5df7-af29-69f15c7449ed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Bluetooth =&lt;br /&gt;
CL-SOM-iMX8Plus features bluetooth connectivity solution implemented with an NXP 88W8997 module.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|Before working with Bluetooth, please ensure that Bluetooth antenna is connected to the SOM.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To start '''bluetoothctl''' use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bluetoothctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To start the scan process use the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[bluetooth]# default-agent&lt;br /&gt;
[bluetooth]# power on&lt;br /&gt;
[bluetooth]# scan on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bluetooth device should be turned on and visible. Its MAC-adress and name should appear in '''bluetoothctl''' in following format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[CHG] Device AA:BB:CC:DD:EE:FF Name: Device_Name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To pair with the Bluetooth device use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pair AA:BB:CC:DD:EE:FF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where '''AA:BB:CC:DD:EE:FF''' is MAC-adress of the Bluetooth device.&lt;br /&gt;
&lt;br /&gt;
To quit '''bluetoothctl''' use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Device_Name]# quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Gstreamer=&lt;br /&gt;
Yocto Linux uses Gstreamer as a default multimedia framework. Here are some useful Gstreamer features:&lt;br /&gt;
&lt;br /&gt;
Execute the following command to check all the source options:&lt;br /&gt;
 gst-inspect-1.0 | grep source&lt;br /&gt;
&lt;br /&gt;
Execute the following command to check all the sink options:&lt;br /&gt;
 gst-inspect-1.0 | grep sink&lt;br /&gt;
&lt;br /&gt;
==Analog Audio==&lt;br /&gt;
===List of available sound cards===&lt;br /&gt;
* aplay&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aplay -l&lt;br /&gt;
&lt;br /&gt;
**** List of PLAYBACK Hardware Devices ****&lt;br /&gt;
card 0: imxaudioxcvr [imx-audio-xcvr], device 0: XCVR PCM snd-soc-dummy-dai-0 []&lt;br /&gt;
  Subdevices: 1/1&lt;br /&gt;
  Subdevice #0: subdevice #0&lt;br /&gt;
card 1: audiohdmi [audio-hdmi], device 0: imx8 hdmi i2s-hifi-0 []&lt;br /&gt;
  Subdevices: 1/1&lt;br /&gt;
  Subdevice #0: subdevice #0&lt;br /&gt;
card 2: somimx8mplus [som-imx8m-plus], device 0: 30c30000.sai-wm8731-hifi wm8731-hifi-0 []&lt;br /&gt;
  Subdevices: 1/1&lt;br /&gt;
  Subdevice #0: subdevice #0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* procfs&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /proc/asound/cards&lt;br /&gt;
&lt;br /&gt;
 0 [imxaudioxcvr   ]: imx-audio-xcvr - imx-audio-xcvr&lt;br /&gt;
                      compulab-som_imx8m_plus-&lt;br /&gt;
 1 [audiohdmi      ]: audio-hdmi - audio-hdmi&lt;br /&gt;
                      compulab-som_imx8m_plus-&lt;br /&gt;
 2 [somimx8mplus   ]: som-imx8m-plus - som-imx8m-plus&lt;br /&gt;
                      compulab-som_imx8m_plus-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Switch between the available output===&lt;br /&gt;
* cl-oselect allows select an output device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cl-oselect&lt;br /&gt;
&lt;br /&gt;
1) alsa_output.platform-sound-hdmi.stereo-fallback&lt;br /&gt;
2) alsa_output.platform-sound-xcvr.iec958-stereo&lt;br /&gt;
3) alsa_output.platform-sound.analog-stereo&lt;br /&gt;
4) &amp;lt;&amp;lt;&lt;br /&gt;
Sound sink [ alsa_output.platform-sound.analog-stereo ] &amp;gt; 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Audio playback===&lt;br /&gt;
* gplay-1.0 allows playing back media files:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gplay-1.0 /path/to/media.file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Video Playback==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
CL-SOM-iMX8Plus features 1080p60 H.264, VP8 video decoding capabilities. Before starting video playback, please, ensure that the display is connected to the board.&lt;br /&gt;
&lt;br /&gt;
The following commands can be used to start video playback ('''1.mov''' is a media file):&lt;br /&gt;
* gst-play&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-play /path/to/1.mov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gplay-1.0&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gplay-1.0 /path/to/1.mov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gst-launch&lt;br /&gt;
This method is for advanced users. Please study this document before the start: [https://raw.githubusercontent.com/compulab-yokneam/Documentation/master/pdfs/i.MX8GStreamerUserGuide.pdf i.MX8GStreamerUserGuide.pdf]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 -v filesrc location=/path/to/1.mov ! qtdemux name=d.video_0 ! h264parse ! avdec_h264 ! autovideosink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Video Capturing==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
* hw: an sensor is connected to either P47 (MIPI_CSI2) or P48+E18 (MIPI_CSI1) port&lt;br /&gt;
* sw: a correct device tree is in use:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Sensor'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''CSI1 device tree'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''CSI2 device tree''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Capture Driver'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Device Name'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |'''ar1335_af'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi1.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi2.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ISI&lt;br /&gt;
| align=&amp;quot;&amp;quot; |/dev/video0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |'''ar1335'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi1-ar1335-mcu.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ISI&lt;br /&gt;
| align=&amp;quot;&amp;quot; |/dev/video0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |'''ar0234'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi1-ar0234.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi2-ar0234.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ISI&lt;br /&gt;
| align=&amp;quot;&amp;quot; |/dev/video0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |'''imx219'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; |som-imx8m-plus_mipi-csi1-imx219.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ISP&lt;br /&gt;
| align=&amp;quot;&amp;quot; |/dev/video2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* sw: the '''mxc-isi-cap''' is registered:&lt;br /&gt;
&lt;br /&gt;
===Discovery a capture device===&lt;br /&gt;
* ISI&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v4l2-ctl --list-devices&lt;br /&gt;
&lt;br /&gt;
 ():&lt;br /&gt;
        /dev/v4l-subdev0&lt;br /&gt;
&lt;br /&gt;
mxc-isi-cap (platform:32e00000.isi:cap_devic):&lt;br /&gt;
        /dev/video0&lt;br /&gt;
&lt;br /&gt;
FSL Capture Media Device (platform:mxc-md):&lt;br /&gt;
        /dev/media0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* ISP&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v4l2-ctl --list-devices&lt;br /&gt;
 ():&lt;br /&gt;
	/dev/v4l-subdev0&lt;br /&gt;
	/dev/v4l-subdev2&lt;br /&gt;
	/dev/v4l-subdev3&lt;br /&gt;
&lt;br /&gt;
 (csi0):&lt;br /&gt;
	/dev/v4l-subdev1&lt;br /&gt;
&lt;br /&gt;
FSL Capture Media Device (platform:mxc-md):&lt;br /&gt;
	/dev/media0&lt;br /&gt;
&lt;br /&gt;
VIV (platform:viv0):&lt;br /&gt;
	/dev/video2&lt;br /&gt;
&lt;br /&gt;
vsi_v4l2dec (platform:vsi_v4l2dec):&lt;br /&gt;
	/dev/video1&lt;br /&gt;
&lt;br /&gt;
vsi_v4l2enc (platform:vsi_v4l2enc):&lt;br /&gt;
	/dev/video0&lt;br /&gt;
&lt;br /&gt;
viv_media (platform:vvcam-video):&lt;br /&gt;
	/dev/media1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For hardware setup and camera connection instructions please refer to CL-SOM-iMX8Plus Hardware Guide.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
Please set a correct '''capture_device''' environment variable.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Capture Driver'''&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Device Name Environment Variable'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ISI&lt;br /&gt;
| align=&amp;quot;&amp;quot; |export capture_device=/dev/video0&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ISP&lt;br /&gt;
| align=&amp;quot;&amp;quot; |export capture_device=/dev/video2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following commands should be used to start video capturing:&lt;br /&gt;
&lt;br /&gt;
* filesink&lt;br /&gt;
Write stream to a file. In this example the encoded output gets saved in the '''1.mov''' media file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 v4l2src device=${capture_device} ! 'video/x-raw,width=1280,height=720,format=NV12' ! vpuenc_h264 ! filesink location=/path/to/1.mov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* waylandsink&lt;br /&gt;
Output to wayland surface.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 v4l2src device=${capture_device} ! 'video/x-raw,width=1280,height=720,format=NV12' ! waylandsink window-width=1280 window-height=720&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* autovideosink&lt;br /&gt;
Wrapper video sink for automatically detected video sink.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 v4l2src device=${capture_device} ! 'video/x-raw,width=1280,height=720,format=NV12' ! autovideosink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Single Image Capturing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch v4l2src device=${capture_device} num-buffers=1 ! jpegenc ! filesink location=single_buffer.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Video streaming==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
The following command should be executed on CL-SOM-iMX8Plus to start video streaming:&lt;br /&gt;
 gst-launch-1.0 v4l2src device=${capture_device} ! video/x-raw, width=640, height=480 ! jpegenc ! udpsink host='''127.0.0.1''' port='''1234'''&lt;br /&gt;
'''127.0.0.1''' is the IP address of the host PC, and '''1234''' is the host PC port.&lt;br /&gt;
&lt;br /&gt;
The following command should be executed on host PC (Linux) to receive the video stream:&lt;br /&gt;
 gst-launch-1.0 udpsrc port='''1234''' ! jpegdec ! autovideosink&lt;br /&gt;
'''1234''' is the host PC port.&lt;br /&gt;
&lt;br /&gt;
=Suspend / Resume=&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
CL-SOM-iMX8Plus features suspend mode, which allows to minimize power consumption. &lt;br /&gt;
&lt;br /&gt;
The following command should be used to enter suspend mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo mem &amp;gt;/sys/power/state&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To resume normal operation press shortly the '''Power On''' button '''SW5'''.&lt;br /&gt;
&lt;br /&gt;
=CPU frequency=&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
==CPU frequency current settings==&lt;br /&gt;
Execute the following command to get the current settings:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep -ir . /sys/devices/system/cpu/cpufreq/policy0/ 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq:1200000&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors:conservative ondemand userspace powersave performance schedutil &lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq:1200000&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_governor:ondemand&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq:1600000&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies:1200000 1600000 &lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/related_cpus:0 1 2 3&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq:1200000&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed:&amp;lt;unsupported&amp;gt;&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/stats/trans_table:   From  :    To&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/stats/trans_table:         :   1200000   1600000 &lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/stats/trans_table:  1200000:         0        65 &lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/stats/trans_table:  1600000:        65         0 &lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/stats/total_trans:130&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/stats/time_in_state:1200000 643&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/stats/time_in_state:1600000 474&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/affected_cpus:0 1 2 3&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq:1600000&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_transition_latency:182000&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/scaling_driver:cpufreq-dt&lt;br /&gt;
/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq:1200000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changing the scaling governor==&lt;br /&gt;
Execute the following command to change the scaling governor:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo performance &amp;gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where '''perfomance''' is name of the scaling governor.&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see available scaling governors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see current scaling governor:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changing CPU frequency==&lt;br /&gt;
{{note|CPU frequency can be changed only when the scaling governoris set to '''userspace'''.}}&lt;br /&gt;
Execute the following command to set CPU frequency:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 1200000 &amp;gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1200000''' is one of the available CPU frequencies.&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see available CPU frequencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see current CPU frequency:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CPU temperature=&lt;br /&gt;
i.MX8M-Plus SoC features an internal temperature sensor which allows to measure the SoC temperature.&lt;br /&gt;
Execute the following command to read the current CPU temperature:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/class/thermal/thermal_zone0/temp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=RTC=&lt;br /&gt;
There two rtc on the device:&lt;br /&gt;
&lt;br /&gt;
==rtc0 (snvs-rtc-lp)==&lt;br /&gt;
* System information&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udevadm info -p /sys/class/rtc/rtc0&lt;br /&gt;
&lt;br /&gt;
P: /devices/platform/soc@0/30000000.bus/30370000.snvs/30370000.snvs:snvs-rtc-lp/rtc/rtc0&lt;br /&gt;
N: rtc0&lt;br /&gt;
L: -100&lt;br /&gt;
S: rtc&lt;br /&gt;
E: DEVPATH=/devices/platform/soc@0/30000000.bus/30370000.snvs/30370000.snvs:snvs-rtc-lp/rtc/rtc0&lt;br /&gt;
E: DEVNAME=/dev/rtc0&lt;br /&gt;
E: MAJOR=251&lt;br /&gt;
E: MINOR=0&lt;br /&gt;
E: SUBSYSTEM=rtc&lt;br /&gt;
E: USEC_INITIALIZED=8188223&lt;br /&gt;
E: DEVLINKS=/dev/rtc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wake up:&lt;br /&gt;
This rtc can be used as a wake up source, as a result an '''rtcwakeup''' can be used with this device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rtcwake --device /dev/rtc0 -s 5 -m mem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==rtc1 (ab1805)==&lt;br /&gt;
* System information&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udevadm info -p /sys/class/rtc/rtc1&lt;br /&gt;
&lt;br /&gt;
P: /devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0069/rtc/rtc1&lt;br /&gt;
N: rtc1&lt;br /&gt;
L: 0&lt;br /&gt;
E: DEVPATH=/devices/platform/soc@0/30800000.bus/30a30000.i2c/i2c-1/1-0069/rtc/rtc1&lt;br /&gt;
E: DEVNAME=/dev/rtc1&lt;br /&gt;
E: MAJOR=251&lt;br /&gt;
E: MINOR=1&lt;br /&gt;
E: SUBSYSTEM=rtc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the date and write it into the RTC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
date -s &amp;quot;12 SEP 2019 10:00:00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Thu Sep 12 10:00:00 UTC 2019&lt;br /&gt;
hwclock --systohc --rtc /dev/rtc1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read the RTC time and date:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hwclock --show --rtc /dev/rtc1&lt;br /&gt;
&lt;br /&gt;
Thu Sep 12 10:00:48 2019  0.000000 seconds&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Device Serial Number and Configuration =&lt;br /&gt;
Product information is stored in on-board EEPROM.&amp;lt;br&amp;gt;&lt;br /&gt;
* To read the product serial number, issue the folowing command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compulab@som-imx8plus:~$ cat /proc/device-tree/product-sn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To read the product configuration part number, issue the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
compulab@som-imx8plus:~$ cat /proc/device-tree/product-options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[CL-SOM-iMX8Plus: Evaluation Kit: Getting Started | Getting started with CL-SOM-iMX8Plus Evaluation Kit]] &amp;lt;br&amp;gt;&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Evaluation Kit: Hardware Guide|CL-SOM-iMX8Plus eval-kit hardware guide]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:CL-SOM-iMX8Plus]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus_NXP_iMX8M-Plus_Linux_Resources&amp;diff=5181</id>
		<title>CL-SOM-iMX8Plus NXP iMX8M-Plus Linux Resources</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus_NXP_iMX8M-Plus_Linux_Resources&amp;diff=5181"/>
		<updated>2023-07-16T08:37:39Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Yocto Linux distribution for the CompuLab CL-SOM-iMX8Plus System-on-Module.                                                                                                                                                                                                                                                                                                                                                                             &lt;br /&gt;
Yocto Project is an open-source collaboration focused on embedded Linux development.&lt;br /&gt;
&lt;br /&gt;
|CL-SOM-iMX8Plus System-on-Module.jpg|thumb}}&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|* [[CL-SOM-iMX8Plus: Evaluation Kit: Getting Started|Getting started with CL-SOM-iMX8Plus Evaluation Kit]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Manual Installation: SD card|Installing Yocto on SD card]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Installing Yocto images onto eMMC| Installing Yocto onto on-board eMMC]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: How-To Guide|Yocto Linux how-to guide]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Package contents|Yocto Linux package contents]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Known Issues|Known Issues]]&lt;br /&gt;
* [https://we.tl/t-R81S6cv3zm Latest Yocto package]&lt;br /&gt;
|* [[CL-SOM-iMX8Plus: Yocto Linux: Building CL-SOM-iMX8Plus Yocto images|Building CL-SOM-iMX8Plus Yocto Linux images]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mp/blob/som-imx8m-plus-r2.0/Documentation/linux_kernel_build.md Building CL-SOM-iMX8Plus Linux Kernel]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mp/blob/som-imx8m-plus-r2.0/Documentation/imx_boot_image_build.md Building CL-SOM-iMX8Plus boot firmware]&lt;br /&gt;
*[[Application Notes: Introduction to Yocto development|Introduction to Yocto development]]&lt;br /&gt;
*[[Application Notes: Making Changes to Yocto Meta-Layers|Making Changes to Yocto Meta-Layers]]&lt;br /&gt;
|*[[Application Notes: Developing with Qt on CompuLab platforms|Developing with Qt on CompuLab platforms]]&lt;br /&gt;
*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-mender-compulab/blob/kirkstone-nxp/README.md Creating OTA update enabled images with Mender]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-compulab-hab/blob/imx8/README.md Enabling secure boot (HAB) in Yocto]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogReleaseNotesRss| content=&lt;br /&gt;
===== 16-Jul-2023, CL-SOM-iMX8MPlus Yocto Linux release 2.0 =====&lt;br /&gt;
: Release of Yocto 4.0 (Kirkstone)&lt;br /&gt;
: - Based on NXP release Kirkstone-5.15.71-2.0.0&lt;br /&gt;
: - Kernel 5.15.71 based on NXP lf-5.15.y&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf_v2021.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Enabled Bluetooth (NXP 88W8997)&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - Enabled imx219 sensor support with imx8-isp&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new release&lt;br /&gt;
&lt;br /&gt;
===== 31-Mar-2022, CL-SOM-iMX8Plus Yocto Linux release 1.0 =====&lt;br /&gt;
: Release of Yocto 3.3 (Hadrknott) for CL-SOM-iMX8Plus&lt;br /&gt;
: - Based on NXP release 5.10.72-2.2.0&lt;br /&gt;
: - Kernel 5.10.72&lt;br /&gt;
: - U-Boot 2021.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Basic support for CL-SOM-iMX8Plus&lt;br /&gt;
: - USB2.0 OTG Host/Device&lt;br /&gt;
: - USB3.0 Host&lt;br /&gt;
: - PCIe, I2C, SPI&lt;br /&gt;
: - Storage: eMMC, uSD, EEPROM&lt;br /&gt;
: - Ethernet: ENET_QOS and ENET_FEC&lt;br /&gt;
: - FlexCAN: can0, can1&lt;br /&gt;
: - HDMI display interface&lt;br /&gt;
: - LVDS display interface&lt;br /&gt;
: - MIPI-DSI display interface&lt;br /&gt;
: - Touch screen support&lt;br /&gt;
: - CSI video camera interface&lt;br /&gt;
: - Wireless: WiFi (NXP 88W8997)&lt;br /&gt;
: - SNVS RTC&lt;br /&gt;
: - External RTC&lt;br /&gt;
: - Heartbeat LED&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - CompuLab U-Boot Tool&lt;br /&gt;
: - fw_printenv/fw_setenv/cl_setenv utilities provide R/W assess to U-Boot environment from Linux CLI&lt;br /&gt;
: - Chromium browser&lt;br /&gt;
: - Qt support&lt;br /&gt;
: Boot-loader features:&lt;br /&gt;
: - Supported memory configurations: 2GB, 4GB&lt;br /&gt;
: - Supported boot-loader devices: SD, eMMC&lt;br /&gt;
: - Supported linux/rootfs devices: SD, eMMC, USB, NFS&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for CL-SOM-iMX8Plus&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:CL-SOM-iMX8Plus]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_Package_contents&amp;diff=5180</id>
		<title>CL-SOM-iMX8Plus: Yocto Linux: Package contents</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_Package_contents&amp;diff=5180"/>
		<updated>2023-07-16T08:22:04Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Package contents ==&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
som-imx8m-plus_yocto-linux&lt;br /&gt;
├── bootloader&lt;br /&gt;
│   ├── imx-boot_som-imx8m-plus_d1d8&lt;br /&gt;
│   └── imx-boot_som-imx8m-plus_d2d4&lt;br /&gt;
├── development&lt;br /&gt;
│   └── README.html&lt;br /&gt;
├── images&lt;br /&gt;
│   ├── imx-image-full-som-imx8m-plus.manifest&lt;br /&gt;
│   └── imx-image-full-som-imx8m-plus.rootfs.wic.zst&lt;br /&gt;
├── kernel&lt;br /&gt;
│   ├── dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus-hdmi.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus-hdmi-overlay.dtbo&lt;br /&gt;
│   │   ├── som-imx8m-plus-headless.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus-lvds.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus-lvds-overlay.dtbo&lt;br /&gt;
│   │   ├── som-imx8m-plus_mipi-csi1-ar0234.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus_mipi-csi1-ar1335-mcu.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus_mipi-csi1.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus_mipi-csi1-imx219.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus_mipi-csi2-ar0234.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus_mipi-csi2.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus-mipi.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus-mipi-overlay.dtbo&lt;br /&gt;
│   │   ├── som-imx8m-plus-rpmsg.dtb&lt;br /&gt;
│   │   ├── som-imx8m-plus-thermal.dtb&lt;br /&gt;
│   │   └── som-imx8m-plus-usbdev.dtb&lt;br /&gt;
│   ├── Image-som-imx8m-plus&lt;br /&gt;
│   └── modules-som-imx8m-plus.tgz&lt;br /&gt;
└── version.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== development ===&lt;br /&gt;
Development documentation&lt;br /&gt;
&lt;br /&gt;
=== bootloader ===&lt;br /&gt;
* {{filename|imx-boot_som-imx8m-plus_d2d4}} - NXP imx-boot bootloader; created as a part of the Yocto image with D2D4 configuration; provided as and example (optional).&lt;br /&gt;
* {{filename|imx-boot_som-imx8m-plus_d1d8}} - NXP imx-boot bootloader; created as a part of the Yocto image with D1D8 configuration; provided as and example (optional).&lt;br /&gt;
&lt;br /&gt;
=== images ===&lt;br /&gt;
* {{filename|mx-image-full-som-imx8m-plus.rootfs.wic.zst}} - SD card image that provides the full system to boot with U-Boot D2D4, Linux kernel and Yocto file-system&lt;br /&gt;
* {{filename|imx-image-full-som-imx8m-plus.rootfs.manifest}} - rootfs image manifest&lt;br /&gt;
&lt;br /&gt;
=== kernel ===&lt;br /&gt;
* {{filename|Image-som-imx8m-plus}} - ready to run Linux kernel for SOM-iMX8M-Plus&lt;br /&gt;
* {{filename|modules-som-imx8m-plus.tgz}} - a modules archive, that match the Linux kernel&lt;br /&gt;
* {{filename|dtb}} - Device tree blobs folder&lt;br /&gt;
** {{filename|som-imx8m-plus.dtb}} - default device tree blob for SOM-iMX8M-Plus evaluation board kit&lt;br /&gt;
** {{filename|som-imx8m-plus-csi1.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with mipi_csi1=on  ; mipi_csi2=off&lt;br /&gt;
** {{filename|som-imx8m-plus-csi2.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with mipi_csi1=off ; mipi_csi2=on&lt;br /&gt;
** {{filename|som-imx8m-plus-hdmi.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with the HDMI interface on only&lt;br /&gt;
** {{filename|som-imx8m-plus-mipi.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with the MIPI interface on only&lt;br /&gt;
** {{filename|som-imx8m-plus-lvds.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with the LVDS interface on only&lt;br /&gt;
** {{filename|som-imx8m-plus-usbdev.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with peripheral device support on J5 USB1&lt;br /&gt;
** {{filename|som-imx8m-plus-rpmsg.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with rpmsg settings enabled&lt;br /&gt;
** {{filename|som-imx8m-plus_mipi-csi1-ar0234.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with mipi_csi1=on  ; mipi_csi2=off ; sensor ar0234&lt;br /&gt;
** {{filename|som-imx8m-plus_mipi-csi1-ar1335-mcu.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with mipi_csi1=on  ; mipi_csi2=off ; sensor ar1335&lt;br /&gt;
** {{filename|som-imx8m-plus_mipi-csi1-imx219.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with mipi_csi1=on  ; mipi_csi2=off ; sensor imx219&lt;br /&gt;
** {{filename|som-imx8m-plus_mipi-csi2-ar0234.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit with mipi_csi1=off  ; mipi_csi2=on ; sensor ar0234&lt;br /&gt;
** {{filename|som-imx8m-plus-headless.dtb}} - device tree blob for SOM-iMX8M-Plus evaluation board kit for a headless configuration&lt;br /&gt;
** {{filename|som-imx8m-plus-hdmi-overlay.dtbo}} - device tree hdmi overlay&lt;br /&gt;
** {{filename|som-imx8m-plus-lvds-overlay.dtbo}} - device tree lvds overlay&lt;br /&gt;
** {{filename|som-imx8m-plus-mipi-overlay.dtbo}} - device tree mipi overlay&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:CL-SOM-iMX8Plus]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_Building_CL-SOM-iMX8Plus_Yocto_images&amp;diff=5179</id>
		<title>CL-SOM-iMX8Plus: Yocto Linux: Building CL-SOM-iMX8Plus Yocto images</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus:_Yocto_Linux:_Building_CL-SOM-iMX8Plus_Yocto_images&amp;diff=5179"/>
		<updated>2023-07-16T08:18:36Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;= Overview = The Yocto Project is an open-source collaboration focused on embedded Linux development.&amp;lt;br&amp;gt; The purpose of this article is to show how to build a Yocto image for...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&amp;lt;br&amp;gt;&lt;br /&gt;
The purpose of this article is to show how to build a Yocto image for the CL-SOM-iMX8Plus System-on-Module.&lt;br /&gt;
&lt;br /&gt;
= Host System Requirements =&lt;br /&gt;
To ensure optimal Yocto build speed and performance, it is recommended to use a host system with at least 4 CPU cores, 64GB RAM, and 500GB of free disk space.&amp;lt;br&amp;gt;&lt;br /&gt;
In addition, the system should have the option to open a large number of files simultaneously, preferably up to 4096 or higher.	&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
= Docker Host for Yocto Build Environment =&lt;br /&gt;
There are often compatibility issues between different Linux distributions and the dependencies required for Yocto compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to avoid such issues and simplify the host machine configuration process, Compulab recommends using a pre-configured Docker environment.&amp;lt;br&amp;gt;&lt;br /&gt;
Please follow the instructions below&lt;br /&gt;
&lt;br /&gt;
[https://github.com/compulab-yokneam/yocker Setting up Yocto Build Docker Environment].&lt;br /&gt;
&lt;br /&gt;
= Building Yocto Images =&lt;br /&gt;
&lt;br /&gt;
Set up the Yocto build environment and build the image:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/compulab-yokneam/meta-bsp-imx8mp/blob/som-imx8m-plus-r2.0/README.md Building CL-SOM-iMX8Plus Yocto Linux images].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:CL-SOM-iMX8Plus]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus_NXP_iMX8M-Plus_Linux_Resources&amp;diff=5178</id>
		<title>CL-SOM-iMX8Plus NXP iMX8M-Plus Linux Resources</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus_NXP_iMX8M-Plus_Linux_Resources&amp;diff=5178"/>
		<updated>2023-07-16T08:16:56Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Yocto Linux distribution for the CompuLab CL-SOM-iMX8Plus System-on-Module.                                                                                                                                                                                                                                                                                                                                                                             &lt;br /&gt;
Yocto Project is an open-source collaboration focused on embedded Linux development.&lt;br /&gt;
&lt;br /&gt;
|CL-SOM-iMX8Plus System-on-Module.jpg|thumb}}&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|* [[CL-SOM-iMX8Plus: Evaluation Kit: Getting Started|Getting started with CL-SOM-iMX8Plus Evaluation Kit]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Manual Installation: SD card|Installing Yocto on SD card]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Installing Yocto images onto eMMC| Installing Yocto onto on-board eMMC]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: How-To Guide|Yocto Linux how-to guide]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Package contents|Yocto Linux package contents]]&lt;br /&gt;
* [[CL-SOM-iMX8Plus: Yocto Linux: Known Issues|Known Issues]]&lt;br /&gt;
|* [[CL-SOM-iMX8Plus: Yocto Linux: Building CL-SOM-iMX8Plus Yocto images|Building CL-SOM-iMX8Plus Yocto Linux images]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mp/blob/som-imx8m-plus-r2.0/Documentation/linux_kernel_build.md Building CL-SOM-iMX8Plus Linux Kernel]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mp/blob/som-imx8m-plus-r2.0/Documentation/imx_boot_image_build.md Building CL-SOM-iMX8Plus boot firmware]&lt;br /&gt;
*[[Application Notes: Introduction to Yocto development|Introduction to Yocto development]]&lt;br /&gt;
*[[Application Notes: Making Changes to Yocto Meta-Layers|Making Changes to Yocto Meta-Layers]]&lt;br /&gt;
|*[[Application Notes: Developing with Qt on CompuLab platforms|Developing with Qt on CompuLab platforms]]&lt;br /&gt;
*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-mender-compulab/blob/kirkstone-nxp/README.md Creating OTA update enabled images with Mender]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-compulab-hab/blob/imx8/README.md Enabling secure boot (HAB) in Yocto]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogReleaseNotesRss| content=&lt;br /&gt;
===== 16-Jul-2023, CL-SOM-iMX8MPlus Yocto Linux release 2.0 =====&lt;br /&gt;
: Release of Yocto 4.0 (Kirkstone)&lt;br /&gt;
: - Based on NXP release Kirkstone-5.15.71-2.0.0&lt;br /&gt;
: - Kernel 5.15.71 based on NXP lf-5.15.y&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf_v2021.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Enabled Bluetooth (NXP 88W8997)&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - Enabled imx219 sensor support with imx8-isp&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new release&lt;br /&gt;
&lt;br /&gt;
===== 31-Mar-2022, CL-SOM-iMX8Plus Yocto Linux release 1.0 =====&lt;br /&gt;
: Release of Yocto 3.3 (Hadrknott) for CL-SOM-iMX8Plus&lt;br /&gt;
: - Based on NXP release 5.10.72-2.2.0&lt;br /&gt;
: - Kernel 5.10.72&lt;br /&gt;
: - U-Boot 2021.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Basic support for CL-SOM-iMX8Plus&lt;br /&gt;
: - USB2.0 OTG Host/Device&lt;br /&gt;
: - USB3.0 Host&lt;br /&gt;
: - PCIe, I2C, SPI&lt;br /&gt;
: - Storage: eMMC, uSD, EEPROM&lt;br /&gt;
: - Ethernet: ENET_QOS and ENET_FEC&lt;br /&gt;
: - FlexCAN: can0, can1&lt;br /&gt;
: - HDMI display interface&lt;br /&gt;
: - LVDS display interface&lt;br /&gt;
: - MIPI-DSI display interface&lt;br /&gt;
: - Touch screen support&lt;br /&gt;
: - CSI video camera interface&lt;br /&gt;
: - Wireless: WiFi (NXP 88W8997)&lt;br /&gt;
: - SNVS RTC&lt;br /&gt;
: - External RTC&lt;br /&gt;
: - Heartbeat LED&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - CompuLab U-Boot Tool&lt;br /&gt;
: - fw_printenv/fw_setenv/cl_setenv utilities provide R/W assess to U-Boot environment from Linux CLI&lt;br /&gt;
: - Chromium browser&lt;br /&gt;
: - Qt support&lt;br /&gt;
: Boot-loader features:&lt;br /&gt;
: - Supported memory configurations: 2GB, 4GB&lt;br /&gt;
: - Supported boot-loader devices: SD, eMMC&lt;br /&gt;
: - Supported linux/rootfs devices: SD, eMMC, USB, NFS&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for CL-SOM-iMX8Plus&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:CL-SOM-iMX8Plus]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus_NXP_iMX8M-Plus_SW_Resources&amp;diff=5177</id>
		<title>CL-SOM-iMX8Plus NXP iMX8M-Plus SW Resources</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX8Plus_NXP_iMX8M-Plus_SW_Resources&amp;diff=5177"/>
		<updated>2023-07-16T08:13:07Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
CL-SOM-iMX8Plus is a miniature system-on-module board, designed for integration into industrial embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
CL-SOM-iMX8Plus is built around the NXP i.MX8M Plus application processor featuring a highly scalable dual/quad core Cortex-A53 1.8GHz CPU, coupled with powerful graphics and video processing units.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;CL-SOM-iMX8Plus features extensive connectivity with a wide range of industry standard interfaces – GbE, USB 3.0, PCIe, SDIO, CAN, 802.11ac WiFi and Bluetooth 5.0.&lt;br /&gt;
CL-SOM-iMX8Plus is provided with comprehensive documentation and full ready-to-run SW support for Linux operating system.&amp;lt;/p&amp;gt;&lt;br /&gt;
|CL-SOM-iMX8Plus System-on-Module.jpg|thumb}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot;  &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 125%; background-color: #eeeeee;&amp;quot; align=&amp;quot;center&amp;quot; width=&amp;quot;25%&amp;quot; | [[CL-SOM-iMX8Plus NXP iMX8M-Plus Yocto Linux|Yocto Linux]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |  [[Image:Yocto-Logo1.png|200px|link=CL-SOM-iMX8Plus NXP iMX8M-Plus Yocto Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{note|1=From time to time CompuLab releases new software versions for CL-SOM-iMX8Plus in order to fix bugs, address component changes and add functionality. It is highly recommended to subscribe to the [[Image:Feed-icon.png|16px]] [{{fullurl:{{FULLPAGENAME}}|action=feed}} '''CL-SOM-iMX8Plus RSS Feed'''] in order to receive automatic notifications about software updates.}}&lt;br /&gt;
&lt;br /&gt;
{{ChangelogReleaseNotesRss| content=&lt;br /&gt;
===== 16-Jul-2023, CL-SOM-iMX8MPlus Yocto Linux release 2.0 =====&lt;br /&gt;
: Release of Yocto 4.0 (Kirkstone)&lt;br /&gt;
: - Based on NXP release Kirkstone-5.15.71-2.0.0&lt;br /&gt;
: - Kernel 5.15.71 based on NXP lf-5.15.y&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf_v2021.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Enabled Bluetooth (NXP 88W8997)&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - Enabled imx219 sensor support with imx8-isp&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new release&lt;br /&gt;
&lt;br /&gt;
===== 31-Mar-2022, CL-SOM-iMX8Plus Yocto Linux release 1.0 =====&lt;br /&gt;
: Release of Yocto 3.3 (Hadrknott) for CL-SOM-iMX8Plus&lt;br /&gt;
: - Based on NXP release 5.10.72-2.2.0&lt;br /&gt;
: - Kernel 5.10.72&lt;br /&gt;
: - U-Boot 2021.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Basic support for CL-SOM-iMX8Plus&lt;br /&gt;
: - USB2.0 OTG Host/Device&lt;br /&gt;
: - USB3.0 Host&lt;br /&gt;
: - PCIe, I2C, SPI&lt;br /&gt;
: - Storage: eMMC, uSD, EEPROM&lt;br /&gt;
: - Ethernet: ENET_QOS and ENET_FEC&lt;br /&gt;
: - FlexCAN: can0, can1&lt;br /&gt;
: - HDMI display interface&lt;br /&gt;
: - LVDS display interface&lt;br /&gt;
: - MIPI-DSI display interface&lt;br /&gt;
: - Touch screen support&lt;br /&gt;
: - CSI video camera interface&lt;br /&gt;
: - Wireless: WiFi (NXP 88W8997)&lt;br /&gt;
: - SNVS RTC&lt;br /&gt;
: - External RTC&lt;br /&gt;
: - Heartbeat LED&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - CompuLab U-Boot Tool&lt;br /&gt;
: - fw_printenv/fw_setenv/cl_setenv utilities provide R/W assess to U-Boot environment from Linux CLI&lt;br /&gt;
: - Chromium browser&lt;br /&gt;
: - Qt support&lt;br /&gt;
: Boot-loader features:&lt;br /&gt;
: - Supported memory configurations: 2GB, 4GB&lt;br /&gt;
: - Supported boot-loader devices: SD, eMMC&lt;br /&gt;
: - Supported linux/rootfs devices: SD, eMMC, USB, NFS&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for CL-SOM-iMX8Plus&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:CL-SOM-iMX8Plus]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX8M-Mini:_Yocto_Linux:_How-To_Guide&amp;diff=5176</id>
		<title>UCM-iMX8M-Mini: Yocto Linux: How-To Guide</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX8M-Mini:_Yocto_Linux:_How-To_Guide&amp;diff=5176"/>
		<updated>2023-07-05T10:51:04Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: /* Changing CPU frequency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Wi-Fi=&lt;br /&gt;
{{note|The operations below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
UCM-iMX8M-Mini features certified 802.11ac Wi-Fi interface (Broadcom BCM43353 chipset). Before working with Wi-Fi, please, ensure that Wi-Fi antenna is connected.&lt;br /&gt;
&lt;br /&gt;
For hardware setup and  Wi-Fi antenna connection instructions please refer to [[UCM-iMX8M-Mini: Evaluation Kit: Hardware Guide#WiFi.2FBluetooth | evaluation kit hardware guide]].&lt;br /&gt;
&lt;br /&gt;
To start using Wi-Fi add your network credentials into the following file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/wpa_supplicant.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the network name into '''ssid''' field, password into '''psk''' field and key into the '''key_mgmt''' field (if your network uses key management).&amp;lt;br&amp;gt;&lt;br /&gt;
The file should have the following content:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;
ctrl_interface_group=0&lt;br /&gt;
update_config=1&lt;br /&gt;
  network={&lt;br /&gt;
      ssid=&amp;quot;&amp;lt;the name of your internet acces point&amp;gt;&amp;quot;&lt;br /&gt;
      key_mgmt=WPA-PSK&lt;br /&gt;
      psk=&amp;quot;&amp;lt;the password of your internet access point&amp;gt;&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Execute the following commands to connect to the network:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D nl80211&lt;br /&gt;
udhcpc -i wlan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Gstreamer=&lt;br /&gt;
Yocto Linux uses Gstreamer as a default multimedia framework. Here are some useful Gstreamer features:&lt;br /&gt;
&lt;br /&gt;
Execute the following command to check all the source options:&lt;br /&gt;
 gst-inspect-1.0 | grep source&lt;br /&gt;
&lt;br /&gt;
Execute the following command to check all the sink options:&lt;br /&gt;
 gst-inspect-1.0 | grep sink&lt;br /&gt;
&lt;br /&gt;
==Video Playback==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
UCM-iMX8M-Mini features 1080p60 H.264, VP8 video decoding capabilities. Before starting video playback, please, ensure that the display is connected to the board.&lt;br /&gt;
&lt;br /&gt;
For hardware setup and display connection instructions please refer to [[UCM-iMX8M-Mini: Evaluation Kit: Hardware Guide#LCD | evaluation kit hardware guide]].&lt;br /&gt;
&lt;br /&gt;
The following command should be used to start video playback:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 -v filesrc location=1.mov ! h264parse ! avdec_h264 ! autovideosink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where '''1.mov''' is name and extension of the video file.&lt;br /&gt;
&lt;br /&gt;
==Video Capturing==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
UCM-iMX8M-Mini features 1080p60 H.264, VP8 video encoding. Before starting video capturing, please, ensure that camera is connected to the board.&lt;br /&gt;
&lt;br /&gt;
For hardware setup and camera connection instructions please refer to [[UCM-iMX8M-Mini: Evaluation Kit: Hardware Guide#Camera | evaluation kit hardware guide]].&lt;br /&gt;
&lt;br /&gt;
The following command should be used to start video capturing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 -v v4l2src ! vpuenc_h264 ! filesink location=1.mov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where '''1.mov''' is name and extension of the file.&lt;br /&gt;
&lt;br /&gt;
==Video streaming==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
The following command should be executed on UCM-iMX8M-Mini to start video streaming:&lt;br /&gt;
 gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=640, height=480 ! jpegenc ! udpsink host='''127.0.0.1''' port='''1234'''&lt;br /&gt;
'''127.0.0.1''' is the IP address of the host PC, and '''1234''' is the host PC port.&lt;br /&gt;
&lt;br /&gt;
The following command should be executed on host PC (Linux) to receive the video stream:&lt;br /&gt;
 gst-launch-1.0 udpsrc port='''1234''' ! jpegdec ! autovideosink&lt;br /&gt;
'''1234''' is the host PC port.&lt;br /&gt;
&lt;br /&gt;
=Suspend / Resume=&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
UCM-iMX8M-Mini features suspend mode, which allows to minimize power consumption. &lt;br /&gt;
&lt;br /&gt;
The following command should be used to enter suspend mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo mem &amp;gt;/sys/power/state&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To resume normal operation press shortly the '''Power On''' button '''SW5'''.&lt;br /&gt;
&lt;br /&gt;
=CPU frequency=&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
CPU frequency can be changed by using one of the following methods:&lt;br /&gt;
&lt;br /&gt;
==Changing the scaling governor==&lt;br /&gt;
Execute the following command to change the scaling governor:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo performance &amp;gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where '''perfomance''' is name of the scaling governor.&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see available scaling governors:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see current scaling governor:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changing CPU frequency==&lt;br /&gt;
{{note|CPU frequency can be changed only when the scaling governor is set to '''userspace'''.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo echo userspace &amp;gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_governor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Execute the following command to set CPU frequency:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo 1200000 &amp;gt; /sys/devices/system/cpu/cpufreq/policy0/scaling_setspeed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1200000''' is one of the available CPU frequencies.&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see available CPU frequencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute the following command to see current CPU frequency:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=CPU temperature=&lt;br /&gt;
i.MX8M-Mini SoC features an internal temperature sensor which allows to measure the SoC temperature.&lt;br /&gt;
Execute the following command to read the current CPU temperature:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/class/thermal/thermal_zone0/temp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=RTC=&lt;br /&gt;
Execute the following command to set the date and write it into the RTC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ucm-imx8m-mini:~# date -s &amp;quot;12 SEP 2019 10:00:00&amp;quot;&lt;br /&gt;
Thu Sep 12 10:00:00 UTC 2019&lt;br /&gt;
root@ucm-imx8m-mini:~# /sbin/hwclock --systohc&lt;br /&gt;
root@ucm-imx8m-mini:~# hwclock –w&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute the following command to read the RTC time and date:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ucm-imx8m-mini:~# hwclock&lt;br /&gt;
Thu Sep 12 10:00:48 2019  0.000000 seconds&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Device Serial Number and Configuration =&lt;br /&gt;
Product information is stored in on-board EEPROM.&amp;lt;br&amp;gt;&lt;br /&gt;
* To read the product serial number, issue the folowing command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ucm-imx8m-mini:~# cat /proc/device-tree/product-sn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To read the product configuration part number, issue the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ucm-imx8m-mini:~# cat /proc/device-tree/product-options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[UCM-iMX8M-Mini: Evaluation Kit: Getting Started | UCM-iMX8M-Mini:Evaluation Kit: Getting Started]] &amp;lt;br&amp;gt;&lt;br /&gt;
*[[UCM-iMX8M-Mini: Evaluation Kit: Hardware Guide | UCM-iMX8M-Mini: Evaluation Kit: Hardware Guide]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX8M-Mini]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Transclusion:_CL-SOM-iMX7:_U-Boot:_Building_Images&amp;diff=5175</id>
		<title>Transclusion: CL-SOM-iMX7: U-Boot: Building Images</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Transclusion:_CL-SOM-iMX7:_U-Boot:_Building_Images&amp;diff=5175"/>
		<updated>2023-06-28T15:09:32Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Git clone ====&lt;br /&gt;
* Install [http://git-scm.com/ git] version control system.&lt;br /&gt;
* Create a clone of U-Boot tree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cl-som-imx7/u-boot&lt;br /&gt;
git clone https://github.com/compulab/u-boot.git -b v2017.07-cl-som-imx7-1.9 u-boot-cl-som-imx7&lt;br /&gt;
cd u-boot-cl-som-imx7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a branch for CL-SOM-iMX7 development&lt;br /&gt;
&amp;lt;pre&amp;gt;git checkout -b cl-som-imx7-1.9-devel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building the firmware images ===&lt;br /&gt;
* First, compile U-Boot. The following commands create the {{filename|u-boot.imx}} binary (along with other image types):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export ARCH=arm&lt;br /&gt;
export CROSS_COMPILE=arm-none-linux-eabi-&lt;br /&gt;
make mrproper&lt;br /&gt;
make cl-som-imx7_defconfig &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Merge the SPL and U-Boot images into one firmware image:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero count=640 bs=1K | tr '\000' '\377' &amp;gt; cl-som-imx7-firmware&lt;br /&gt;
dd if=SPL of=cl-som-imx7-firmware bs=1K seek=1 conv=notrunc&lt;br /&gt;
dd if=u-boot.img of=cl-som-imx7-firmware bs=1K seek=64 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX7:_U-Boot:_Building_Images&amp;diff=5174</id>
		<title>CL-SOM-iMX7: U-Boot: Building Images</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CL-SOM-iMX7:_U-Boot:_Building_Images&amp;diff=5174"/>
		<updated>2023-06-28T15:07:52Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The CompuLab CL-SOM-iMX7 System-on-Module / Computer-on-Module firmware consists of two components: Secondary Program Loader (SPL) and U-Boot.&lt;br /&gt;
Both components are based on [http://www.denx.de/wiki/U-Boot/WebHome U-Boot] source code.&amp;lt;br&amp;gt;&lt;br /&gt;
SPL is the bootstrap utility invoked by the CPU internal boot ROM code of the i.MX7 SoC.&lt;br /&gt;
U-Boot initializes hardware modules necessary for system boot and loads the operating system.&amp;lt;br&amp;gt;&lt;br /&gt;
The latest U-Boot package is available at the [http://www.compulab.com/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/#devres CL-SOM-iMX7 Resources] web page.&lt;br /&gt;
&lt;br /&gt;
== Building Firmware images for CL-SOM-iMX7 ==&lt;br /&gt;
=== Getting U-Boot sources ===&lt;br /&gt;
We assume that you have created {{filename|/home/development/cl-som-imx7/u-boot}} directory for the the CL-SOM-iMX7 U-Boot development.&lt;br /&gt;
&lt;br /&gt;
{{:Transclusion: CL-SOM-iMX7: U-Boot: Building Images}}&lt;br /&gt;
* You can now install the {{filename|cl-som-imx7-firmware}} file into an SD card or CL-SOM-iMX7 SPI flash.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CL-SOM-iMX7: U-Boot: Firmware Update|Firmware Update]]&lt;br /&gt;
* [[CL-SOM-iMX7: U-Boot: Creating a bootable SD card|Creating a bootable SD card]]&lt;br /&gt;
* [[U-Boot: Quick reference]]&lt;br /&gt;
* [[U-Boot images]]&lt;br /&gt;
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]&lt;br /&gt;
&lt;br /&gt;
[[Category:U-Boot]]&lt;br /&gt;
[[Category:CL-SOM-iMX7]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Yocto_Linux&amp;diff=5173</id>
		<title>IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Yocto_Linux&amp;diff=5173"/>
		<updated>2023-06-28T14:34:18Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Yocto Linux distribution for the CompuLab IOT-GATE-iMX8 Internet of Things Gateway and SBC-IOT-iMX8 Single Board Computer.&lt;br /&gt;
&lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&lt;br /&gt;
&lt;br /&gt;
|iot-gate-imx8.png|thumb}}&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|* [[IOT-GATE-iMX8: Getting Started|Getting started with IOT-GATE-iMX8]]&lt;br /&gt;
* [[IOT-GATE-iMX8 and SBC-IOT-iMX8: Yocto Linux: Installation|Installing Yocto on IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
* [[IOT-GATE-iMX8 and SBC-IOT-iMX8: Yocto Linux: How-To Guide|Yocto Linux how-to guide for IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
|* [[IOT-GATE-IMX8: Yocto Linux: Building Yocto image|Building IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux images]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/linux_kernel_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 Linux Kernel]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/imx_boot_image_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 U-boot image]&lt;br /&gt;
*[[Application Notes: Introduction to Yocto development|Introduction to Yocto development]]&lt;br /&gt;
*[[Application Notes: Making Changes to Yocto Meta-Layers|Making Changes to Yocto Meta-Layers]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Recovery|U-Boot Recovery]]&lt;br /&gt;
|*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-mender-compulab/ Creating OTA update enabled images with Mender]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-compulab-hab/blob/imx8/README.md Enabling secure boot (HAB) in Yocto]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogReleaseNotesRss| content=&lt;br /&gt;
&lt;br /&gt;
===== 15-Jun-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.2.1 =====&lt;br /&gt;
: Release of Yocto 4.0 (Kirkstone) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Fixed the Docker issue&lt;br /&gt;
&lt;br /&gt;
===== 21-May-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.2 =====&lt;br /&gt;
: Release of Yocto 4.0 (Kirkstone) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Kirkstone Long-Term Support&lt;br /&gt;
:  - Kernel 5.15.32  [[IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Update | (Requires U-Boot version 3.2 or higher) ]]&lt;br /&gt;
:  - U-Boot 2021.04&lt;br /&gt;
:  - Add support for Intel AX210 WiFi/BT card&lt;br /&gt;
&lt;br /&gt;
===== 09-May-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.1.5 =====&lt;br /&gt;
: Release of Yocto 3.3 (Hardknott) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Kernel 5.10.72&lt;br /&gt;
:  - U-Boot 2021.04&lt;br /&gt;
:  - Fixed USB power supply reset issue&lt;br /&gt;
:  - Enabled root FS journaling&lt;br /&gt;
:  - Fixed cpufreq driver issue&lt;br /&gt;
:  - Disabled Ethernet PHY clock 125 MHz&lt;br /&gt;
:  - Added support for simultaneous operation of two IE-CL420 modules&lt;br /&gt;
: Image build improvement:&lt;br /&gt;
:  - Added Linux headers to the image&lt;br /&gt;
:  - Migrated from CodeAurora to GitHub&lt;br /&gt;
: Documentation updated&lt;br /&gt;
&lt;br /&gt;
===== 19-Jul-2022, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.1 =====&lt;br /&gt;
: Release of Yocto 3.3 (Hardknott) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Kernel 5.10.72&lt;br /&gt;
: - U-Boot 2021.04&lt;br /&gt;
: - Fix signal configuration of Digital I/O add-on GPIOs&lt;br /&gt;
: - Fix WiFi driver for 4GB RAM configuration&lt;br /&gt;
: - Enable support for FTDI USB to serial driver&lt;br /&gt;
: - Add support for mbpoll ModBus utility&lt;br /&gt;
: - Reduce RTC battery usage when the power supply is disconnected&lt;br /&gt;
: - Store manufacturing details in the device tree&lt;br /&gt;
: - Update the CAN bus driver&lt;br /&gt;
: - Add support to the POE add-on module&lt;br /&gt;
: - Add support for the M4 core&lt;br /&gt;
: - Add support for the IE-CL420 module&lt;br /&gt;
: - Add support for the IE-TPM module&lt;br /&gt;
: - Enable the net filter tables feature&lt;br /&gt;
: - Enable setting the RTC time based on NTP&lt;br /&gt;
: - Enable broadcast manager CAN Protocol&lt;br /&gt;
: - Add the digital I/O add-on input GPIOs as wake-up sources&lt;br /&gt;
: - Add support for the Realtek RTL8211 PHY&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
&lt;br /&gt;
===== 21-Sep-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 2.0 =====&lt;br /&gt;
: Release of Yocto 3.0 (Zeus) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Kernel 5.4.24&lt;br /&gt;
: - U-Boot 2020.04&lt;br /&gt;
: HW-supported features:&lt;br /&gt;
: - eMMC storage&lt;br /&gt;
: - USB2.0 Host&lt;br /&gt;
: - Ethernet&lt;br /&gt;
: - WiFi (Intel AX200)&lt;br /&gt;
: - Bluetooth&lt;br /&gt;
: - LTE modem (SIM7600G)&lt;br /&gt;
: - CAN-FD&lt;br /&gt;
: - RS485&lt;br /&gt;
: - RS232 with flow control&lt;br /&gt;
: - Industrial I/O add-ons&lt;br /&gt;
: - RTC&lt;br /&gt;
: - Industrial I/O extension boards&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - Linux CLI utilities for access to the U-Boot environment&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:IOT-GATE-iMX8]]&lt;br /&gt;
[[Category:SBC-IOT-iMX8]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8:_Yocto_Linux:_Building_Yocto_image&amp;diff=5172</id>
		<title>IOT-GATE-IMX8: Yocto Linux: Building Yocto image</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8:_Yocto_Linux:_Building_Yocto_image&amp;diff=5172"/>
		<updated>2023-06-28T14:32:25Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&amp;lt;br&amp;gt;&lt;br /&gt;
The purpose of this article is to show how to build a Yocto image for the IOT-GATE-IMX8 Internet of Things Gateway.&lt;br /&gt;
&lt;br /&gt;
= Host System Requirements =&lt;br /&gt;
To ensure optimal Yocto build speed and performance, it is recommended to use a host system with at least 4 CPU cores, 16GB RAM, and 500GB of free disk space.&amp;lt;br&amp;gt;&lt;br /&gt;
In addition, the system should have the option to open a large number of files simultaneously, preferably up to 4096 or higher.	&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
= Docker Host for Yocto Build Environment =&lt;br /&gt;
There are often compatibility issues between different Linux distributions and the dependencies required for Yocto compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to avoid such issues and simplify the host machine configuration process, Compulab recommends using a pre-configured Docker environment.&amp;lt;br&amp;gt;&lt;br /&gt;
Please follow the instructions outlined in [https://github.com/compulab-yokneam/yocker Setting up Yocto Build Docker Environment].&lt;br /&gt;
&lt;br /&gt;
= Building Yocto Images =&lt;br /&gt;
Set up the Yocto build environment and build the image as detailed in the [https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/README.md Building IOT-GATE-IMX8 Yocto Linux image] guide.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:IOT-GATE-iMX8]]&lt;br /&gt;
[[Category:SBC-IOT-iMX8]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8:_Yocto_Linux:_Installation&amp;diff=5171</id>
		<title>IOT-GATE-iMX8 and SBC-IOT-iMX8: Yocto Linux: Installation</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8:_Yocto_Linux:_Installation&amp;diff=5171"/>
		<updated>2023-06-28T14:24:24Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This article provides instructions to install the Yocto Linux live image on the IOT-GATE-iMX8 / SBC-IOT-iMX8 device, using a Linux Host workstation and a USB flash drive.&lt;br /&gt;
The image includes the Linux kernel, device driver modules, and Yocto root filesystem.&lt;br /&gt;
&lt;br /&gt;
{{Important|This installation process requires U-Boot version '''3.2''' or above.&amp;lt;br&amp;gt;&lt;br /&gt;
Before proceeding [[IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Update|check the U-Boot version on your device and update as needed.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Preparation steps ==&lt;br /&gt;
* Obtain a Linux PC workstation.&lt;br /&gt;
* Obtain a USB flash drive. Any commercially available USB flash drive of 1GB (or larger) may be used for the installation.&lt;br /&gt;
* The Yocto Linux live image file, mentioned below, is generated during the [[IOT-GATE-IMX8: Yocto Linux: Building Yocto image|Yocto build process]]. &lt;br /&gt;
* Plug the USB flash drive into the host PC. The following instructions assume that the flash drive device name on your Linux PC is {{filename|/dev/sdX}}.&lt;br /&gt;
&lt;br /&gt;
== Preparing the installation flash drive ==&lt;br /&gt;
* Flash the image file to the USB flash drive:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bzcat ~/path/to/core-image-full-cmdline-iot-gate-imx8.wic.bz2 | sudo dd of=/dev/sdX bs=1M&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run the Yocto live-disk image ==&lt;br /&gt;
{{:Transclusion: IOT-GATE-iMX8: Run Linux image}}&lt;br /&gt;
&lt;br /&gt;
== Installing Yocto images onto the internal storage ==&lt;br /&gt;
Use the `CompuLab Deployment Tool` to install the IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux onto on-board eMMC storage.&amp;lt;br&amp;gt;&lt;br /&gt;
{{:Transclusion: IOT-GATE-iMX8: cl-deply}}&lt;br /&gt;
&lt;br /&gt;
==Post Installation==&lt;br /&gt;
{{:Transclusion: IOT-GATE-iMX8: Post Installation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:IOT-GATE-iMX8]]&lt;br /&gt;
[[Category:SBC-IOT-iMX8]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Yocto_Linux&amp;diff=5170</id>
		<title>IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Yocto_Linux&amp;diff=5170"/>
		<updated>2023-06-28T07:29:23Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Yocto Linux distribution for the CompuLab IOT-GATE-iMX8 Internet of Things Gateway and SBC-IOT-iMX8 Single Board Computer.&lt;br /&gt;
&lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&lt;br /&gt;
&lt;br /&gt;
|iot-gate-imx8.png|thumb}}&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|* [[IOT-GATE-iMX8: Getting Started|Getting started with IOT-GATE-iMX8]]&lt;br /&gt;
* [[IOT-GATE-iMX8 and SBC-IOT-iMX8: Yocto Linux: Installation|Installing Yocto on IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
* [[IOT-GATE-iMX8 and SBC-IOT-iMX8: Yocto Linux: How-To Guide|Yocto Linux how-to guide for IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
|* [[IOT-GATE-IMX8: Yocto Linux: Building Yocto image|Building IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux images]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/linux_kernel_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 Linux Kernel]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/imx_boot_image_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 U-boot image]&lt;br /&gt;
*[[Application Notes: Introduction to Yocto development|Introduction to Yocto development]]&lt;br /&gt;
*[[Application Notes: Making Changes to Yocto Meta-Layers|Making Changes to Yocto Meta-Layers]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Recovery|U-Boot Recovery]]&lt;br /&gt;
|*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-mender-compulab/ Creating OTA update enabled images with Mender]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-compulab-hab/blob/imx8/README.md Enabling secure boot (HAB) in Yocto]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogReleaseNotesRss| content=&lt;br /&gt;
&lt;br /&gt;
===== 15-Jun-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.2.1 =====&lt;br /&gt;
: Release of Yocto 4.0 (Kirkstone) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Fixed the Docker issue&lt;br /&gt;
&lt;br /&gt;
===== 21-May-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.2 =====&lt;br /&gt;
: Release of Yocto 4.0 (Kirkstone) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Kirkstone Long-Term Support&lt;br /&gt;
:  - Kernel 5.15.32&lt;br /&gt;
:  - U-Boot 2021.04&lt;br /&gt;
:  - Add support for Intel AX210 WiFi/BT card&lt;br /&gt;
&lt;br /&gt;
===== 09-May-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.1.5 =====&lt;br /&gt;
: Release of Yocto 3.3 (Hardknott) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Kernel 5.10.72&lt;br /&gt;
:  - U-Boot 2021.04&lt;br /&gt;
:  - Fixed USB power supply reset issue&lt;br /&gt;
:  - Enabled root FS journaling&lt;br /&gt;
:  - Fixed cpufreq driver issue&lt;br /&gt;
:  - Disabled Ethernet PHY clock 125 MHz&lt;br /&gt;
:  - Added support for simultaneous operation of two IE-CL420 modules&lt;br /&gt;
: Image build improvement:&lt;br /&gt;
:  - Added Linux headers to the image&lt;br /&gt;
:  - Migrated from CodeAurora to GitHub&lt;br /&gt;
: Documentation updated&lt;br /&gt;
&lt;br /&gt;
===== 19-Jul-2022, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 3.1 =====&lt;br /&gt;
: Release of Yocto 3.3 (Hardknott) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Kernel 5.10.72&lt;br /&gt;
: - U-Boot 2021.04&lt;br /&gt;
: - Fix signal configuration of Digital I/O add-on GPIOs&lt;br /&gt;
: - Fix WiFi driver for 4GB RAM configuration&lt;br /&gt;
: - Enable support for FTDI USB to serial driver&lt;br /&gt;
: - Add support for mbpoll ModBus utility&lt;br /&gt;
: - Reduce RTC battery usage when the power supply is disconnected&lt;br /&gt;
: - Store manufacturing details in the device tree&lt;br /&gt;
: - Update the CAN bus driver&lt;br /&gt;
: - Add support to the POE add-on module&lt;br /&gt;
: - Add support for the M4 core&lt;br /&gt;
: - Add support for the IE-CL420 module&lt;br /&gt;
: - Add support for the IE-TPM module&lt;br /&gt;
: - Enable the net filter tables feature&lt;br /&gt;
: - Enable setting the RTC time based on NTP&lt;br /&gt;
: - Enable broadcast manager CAN Protocol&lt;br /&gt;
: - Add the digital I/O add-on input GPIOs as wake-up sources&lt;br /&gt;
: - Add support for the Realtek RTL8211 PHY&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
&lt;br /&gt;
===== 21-Sep-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Yocto Linux release 2.0 =====&lt;br /&gt;
: Release of Yocto 3.0 (Zeus) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Kernel 5.4.24&lt;br /&gt;
: - U-Boot 2020.04&lt;br /&gt;
: HW-supported features:&lt;br /&gt;
: - eMMC storage&lt;br /&gt;
: - USB2.0 Host&lt;br /&gt;
: - Ethernet&lt;br /&gt;
: - WiFi (Intel AX200)&lt;br /&gt;
: - Bluetooth&lt;br /&gt;
: - LTE modem (SIM7600G)&lt;br /&gt;
: - CAN-FD&lt;br /&gt;
: - RS485&lt;br /&gt;
: - RS232 with flow control&lt;br /&gt;
: - Industrial I/O add-ons&lt;br /&gt;
: - RTC&lt;br /&gt;
: - Industrial I/O extension boards&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - Linux CLI utilities for access to the U-Boot environment&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:IOT-GATE-iMX8]]&lt;br /&gt;
[[Category:SBC-IOT-iMX8]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Debian_Linux&amp;diff=5169</id>
		<title>IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini Debian Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Debian_Linux&amp;diff=5169"/>
		<updated>2023-06-28T07:24:44Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Linux kernels, packages and software development for the Compulab IOT-GATE-iMX8 Internet of Things Gateway and SBC-IOT-iMX8 Single Board Computer.&lt;br /&gt;
&lt;br /&gt;
CompuLab Linux support for IOT-GATE-iMX8 and SBC-IOT-iMX8 includes Linux kernel and Debian file-system image based on [http://www.debian.org/ports/arm/ ARM Debian Linux]. The [https://www.debian.org/intro/about Debian Project] is an association of individuals who have made a common cause to create a free operating system. This operating system is called Debian.&amp;lt;/br&amp;gt;&lt;br /&gt;
It is also possible to use other embedded Linux distributions and environments with IOT-GATE-iMX8 and SBC-IOT-iMX8.&lt;br /&gt;
|iot-gate-imx8.png|thumb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|*[[IOT-GATE-iMX8: Getting Started|Getting started with IOT-GATE-iMX8]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Debian Linux: Installation|Installing Debian on IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Debian Linux: How-To Guide|Debian Linux how-to guide for IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Debian Linux: Package contents|Debian Linux package contents]]&lt;br /&gt;
|* &lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/linux_kernel_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 Linux Kernel]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/imx_boot_image_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 U-boot image]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Recovery|U-Boot Recovery]]&lt;br /&gt;
|*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Linux: Production Deployment|Production Image Deployment]]&lt;br /&gt;
*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogRss| content=&lt;br /&gt;
===== 15-Jun-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.2.1 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Fixed the Docker issue&lt;br /&gt;
&lt;br /&gt;
===== 21-May-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.2 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Kernel 5.15.32  [[IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Update | (Requires U-Boot version 3.2 or higher) ]]&lt;br /&gt;
:  - U-Boot 2021.04&lt;br /&gt;
:  - Add support for Intel AX210 WiFi/BT card&lt;br /&gt;
:  - Added support for simultaneous operation of two IE-CL420 modules&lt;br /&gt;
:  - Fixed USB power supply reset issue&lt;br /&gt;
:  - Fixed cpufreq driver issue&lt;br /&gt;
&lt;br /&gt;
===== 30-Jan-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.1.1 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Fix file-system journaling issue&lt;br /&gt;
&lt;br /&gt;
===== 03-Aug-2022, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.1 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Adjust the M4 core support to NXP release lf-5.10.72-2.2.0&lt;br /&gt;
: - Add OPP-TEE support to the U-Boot&lt;br /&gt;
: - Optimize file-system to improve eMMC lifetime&lt;br /&gt;
&lt;br /&gt;
===== 24-Mar-2022, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.0 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Based on NXP release lf-5.10.72-2.2.0&lt;br /&gt;
: - Kernel 5.10.72&lt;br /&gt;
: - U-Boot 2021.04&lt;br /&gt;
: - Add support for the Realtek RTL8211 PHY&lt;br /&gt;
: - Add support for Alliance 1GB DDR&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 05-Dec-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.5 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Update the driver of the IE-CL420 module.&lt;br /&gt;
: - Add support for Samsung 4GB DDR.&lt;br /&gt;
: - Upgrade to Debian 11 (Bullseye).&lt;br /&gt;
: - Enable support for Microsoft Azure IoT Edge.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 20-Jun-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.4 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Add support for the POEv2 extension module.&lt;br /&gt;
: - Enable the net filter tables feature.&lt;br /&gt;
: - Enable setting the RTC time based on NTP.&lt;br /&gt;
: - Enable broadcast manager CAN Protocol.&lt;br /&gt;
: - Add the digital I/O add-on input GPIOs as a wakeup sources.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 16-Mar-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.3 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Add support for the M4 core.&lt;br /&gt;
: - Add support for the IE-CL420 module.&lt;br /&gt;
: - Add support for the IE-TPM module.&lt;br /&gt;
: - Update the CAN bus driver.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 17-Jan-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.2 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Reduce RTC battery usage when the power supply is disconnected.&lt;br /&gt;
: - Store manufacturing details in the device tree.&lt;br /&gt;
: - Update the CAN bus driver.&lt;br /&gt;
: - Add support to the POE extension module.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 10-Dec-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.1 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Upgrade to 64-bit Debian.&lt;br /&gt;
: - Fix signal configuration of Digital I/O add-on GPIOs.&lt;br /&gt;
: - Fix WiFi driver for 4GB RAM configuration.&lt;br /&gt;
: - Enable support for FTDI USB to serial driver.&lt;br /&gt;
: - Add support for mbpoll ModBus utility.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 18-Sep-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.0 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Kernel 5.4.24&lt;br /&gt;
: - U-Boot 2020.04&lt;br /&gt;
: HW supported features:&lt;br /&gt;
: - Industrial I/O extension boards&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 5-May-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 1.0 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Based on NXP release L4.14.98-2.0.0_ga&lt;br /&gt;
: - Kernel 4.14.98&lt;br /&gt;
: HW Features:&lt;br /&gt;
: - eMMC storage&lt;br /&gt;
: - USB2.0 Host&lt;br /&gt;
: - Ethernet&lt;br /&gt;
: - WiFi (Intel AX200)&lt;br /&gt;
: - Bluetooth&lt;br /&gt;
: - LTE modem (SIM7600G)&lt;br /&gt;
: - CAN-FD&lt;br /&gt;
: - RS485&lt;br /&gt;
: - RTC&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - Linux CLI utilities for access to U-Boot environment&lt;br /&gt;
: - Docker&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Debian Linux documentation for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[Category:IOT-GATE-iMX8]]&lt;br /&gt;
[[Category:SBC-IOT-iMX8]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Debian_Linux&amp;diff=5168</id>
		<title>IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini Debian Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-iMX8_and_SBC-IOT-iMX8_NXP_iMX8M-Mini_Debian_Linux&amp;diff=5168"/>
		<updated>2023-06-28T07:14:03Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Linux kernels, packages and software development for the Compulab IOT-GATE-iMX8 Internet of Things Gateway and SBC-IOT-iMX8 Single Board Computer.&lt;br /&gt;
&lt;br /&gt;
CompuLab Linux support for IOT-GATE-iMX8 and SBC-IOT-iMX8 includes Linux kernel and Debian file-system image based on [http://www.debian.org/ports/arm/ ARM Debian Linux]. The [https://www.debian.org/intro/about Debian Project] is an association of individuals who have made a common cause to create a free operating system. This operating system is called Debian.&amp;lt;/br&amp;gt;&lt;br /&gt;
It is also possible to use other embedded Linux distributions and environments with IOT-GATE-iMX8 and SBC-IOT-iMX8.&lt;br /&gt;
|iot-gate-imx8.png|thumb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|*[[IOT-GATE-iMX8: Getting Started|Getting started with IOT-GATE-iMX8]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Debian Linux: Installation|Installing Debian on IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Debian Linux: How-To Guide|Debian Linux how-to guide for IOT-GATE-iMX8 / SBC-IOT-iMX8]]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Debian Linux: Package contents|Debian Linux package contents]]&lt;br /&gt;
|* &lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/linux_kernel_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 Linux Kernel]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx8mm/blob/iot-gate-imx8-r3.2.1/Documentation/imx_boot_image_build.md Building IOT-GATE-iMX8 / SBC-IOT-iMX8 U-boot image]&lt;br /&gt;
*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: U-Boot: Recovery|U-Boot Recovery]]&lt;br /&gt;
|*[[IOT-GATE-iMX8 and SBC-IOT-iMX8: Linux: Production Deployment|Production Image Deployment]]&lt;br /&gt;
*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogRss| content=&lt;br /&gt;
===== 15-Jun-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.2.1 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Fixed the Docker issue&lt;br /&gt;
&lt;br /&gt;
===== 21-May-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.2 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
:  - Kernel 5.15.32 (Requires bootloader upgrade to version 3.2)&lt;br /&gt;
:  - U-Boot 2021.04&lt;br /&gt;
:  - Add support for Intel AX210 WiFi/BT card&lt;br /&gt;
:  - Added support for simultaneous operation of two IE-CL420 modules&lt;br /&gt;
:  - Fixed USB power supply reset issue&lt;br /&gt;
:  - Fixed cpufreq driver issue&lt;br /&gt;
&lt;br /&gt;
===== 30-Jan-2023, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.1.1 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Fix file-system journaling issue&lt;br /&gt;
&lt;br /&gt;
===== 03-Aug-2022, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.1 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Adjust the M4 core support to NXP release lf-5.10.72-2.2.0&lt;br /&gt;
: - Add OPP-TEE support to the U-Boot&lt;br /&gt;
: - Optimize file-system to improve eMMC lifetime&lt;br /&gt;
&lt;br /&gt;
===== 24-Mar-2022, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 3.0 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Based on NXP release lf-5.10.72-2.2.0&lt;br /&gt;
: - Kernel 5.10.72&lt;br /&gt;
: - U-Boot 2021.04&lt;br /&gt;
: - Add support for the Realtek RTL8211 PHY&lt;br /&gt;
: - Add support for Alliance 1GB DDR&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 05-Dec-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.5 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Update the driver of the IE-CL420 module.&lt;br /&gt;
: - Add support for Samsung 4GB DDR.&lt;br /&gt;
: - Upgrade to Debian 11 (Bullseye).&lt;br /&gt;
: - Enable support for Microsoft Azure IoT Edge.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 20-Jun-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.4 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Add support for the POEv2 extension module.&lt;br /&gt;
: - Enable the net filter tables feature.&lt;br /&gt;
: - Enable setting the RTC time based on NTP.&lt;br /&gt;
: - Enable broadcast manager CAN Protocol.&lt;br /&gt;
: - Add the digital I/O add-on input GPIOs as a wakeup sources.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 16-Mar-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.3 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Add support for the M4 core.&lt;br /&gt;
: - Add support for the IE-CL420 module.&lt;br /&gt;
: - Add support for the IE-TPM module.&lt;br /&gt;
: - Update the CAN bus driver.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 17-Jan-2021, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.2 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Reduce RTC battery usage when the power supply is disconnected.&lt;br /&gt;
: - Store manufacturing details in the device tree.&lt;br /&gt;
: - Update the CAN bus driver.&lt;br /&gt;
: - Add support to the POE extension module.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 10-Dec-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.1 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Upgrade to 64-bit Debian.&lt;br /&gt;
: - Fix signal configuration of Digital I/O add-on GPIOs.&lt;br /&gt;
: - Fix WiFi driver for 4GB RAM configuration.&lt;br /&gt;
: - Enable support for FTDI USB to serial driver.&lt;br /&gt;
: - Add support for mbpoll ModBus utility.&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 18-Sep-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 2.0 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Kernel 5.4.24&lt;br /&gt;
: - U-Boot 2020.04&lt;br /&gt;
: HW supported features:&lt;br /&gt;
: - Industrial I/O extension boards&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new Debian package&lt;br /&gt;
&lt;br /&gt;
===== 5-May-2020, IOT-GATE-iMX8 / SBC-IOT-iMX8 Debian Linux release 1.0 =====&lt;br /&gt;
: Release of Debian (Buster) for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
: - Based on NXP release L4.14.98-2.0.0_ga&lt;br /&gt;
: - Kernel 4.14.98&lt;br /&gt;
: HW Features:&lt;br /&gt;
: - eMMC storage&lt;br /&gt;
: - USB2.0 Host&lt;br /&gt;
: - Ethernet&lt;br /&gt;
: - WiFi (Intel AX200)&lt;br /&gt;
: - Bluetooth&lt;br /&gt;
: - LTE modem (SIM7600G)&lt;br /&gt;
: - CAN-FD&lt;br /&gt;
: - RS485&lt;br /&gt;
: - RTC&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - Linux CLI utilities for access to U-Boot environment&lt;br /&gt;
: - Docker&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Debian Linux documentation for IOT-GATE-iMX8 / SBC-IOT-iMX8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[Category:IOT-GATE-iMX8]]&lt;br /&gt;
[[Category:SBC-IOT-iMX8]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS_SW_Resources&amp;diff=5167</id>
		<title>IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS SW Resources</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS_SW_Resources&amp;diff=5167"/>
		<updated>2023-06-26T08:45:04Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary2|content=&lt;br /&gt;
IOT-GATE-IMX8PLUS is an Internet of Things Gateway built around the NXP i.MX8M-Plus System-on-Chip. CompuLab IoT Gateways are highly customizable and cost effective industrial system designed for Internet of Things connectivity and remote control and monitoring applications.&amp;lt;br&amp;gt;&lt;br /&gt;
For projects that require custom housing with simple integration, IOT-GATE-IMX8PLUS is also offered without the enclosure – as SBC-IOT-IMX8PLUS.&amp;lt;br&amp;gt;&lt;br /&gt;
|image1=Iot-gate-imx8plus.png&lt;br /&gt;
|image2=Sbc-iot-imx8plus.png&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot; width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 125%; background-color: #eeeeee;&amp;quot; align=&amp;quot;center&amp;quot; width=&amp;quot;25%&amp;quot; | [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS Debian Linux|Debian Linux]]&lt;br /&gt;
! style=&amp;quot;font-size: 125%; background-color: #eeeeee;&amp;quot; align=&amp;quot;center&amp;quot; width=&amp;quot;25%&amp;quot; | [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS Yocto Linux|Yocto Linux]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |  [[Image:Debian_logo.png|200px|link=IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS Debian Linux]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |  [[Image:Yocto-Logo1.png|200px|link=IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS Yocto Linux]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|1=From time to time CompuLab releases new software versions for IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS in order to fix bugs, address component changes and add functionality. It is highly recommended to subscribe to the [[Image:Feed-icon.png|16px]] [{{fullurl:{{FULLPAGENAME}}|action=feed}} '''IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS RSS Feed'''] in order to receive automatic notifications about software updates.}}&lt;br /&gt;
&lt;br /&gt;
{{ChangelogRss| content=&lt;br /&gt;
===== 26-Jun-2023, IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux release 2.0 =====&lt;br /&gt;
: Release of Yocto 4.0 (kirkstone) for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf-5.15.32-2.0.0&lt;br /&gt;
: - Kernel 5.15.32 based on NXP lf-5.15.32-2.0.0&lt;br /&gt;
: HW Features:&lt;br /&gt;
: - Added support for SB-IOTGIMX8PLUS EEPROM&lt;br /&gt;
: - Added support for LED Green_1&lt;br /&gt;
: - Added support for FCCAN I/O module&lt;br /&gt;
: - Added support for FXTPM add-on board&lt;br /&gt;
: - Added support for break-out add-on board&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new release&lt;br /&gt;
&lt;br /&gt;
===== 20-Mar-2023, IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Debian Linux release 2.0 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf-5.10.35-2.0.0&lt;br /&gt;
: - Kernel 5.15.32 based on NXP lf-5.15.32-2.0.0&lt;br /&gt;
: - Added support for SB-IOTGIMX8PLUS EEPROM&lt;br /&gt;
: - Added support for LED Green_1&lt;br /&gt;
: - Added support for FCCAN I/O module&lt;br /&gt;
: - Added support for FXTPM add-on board&lt;br /&gt;
: - Added support for break-out add-on board&lt;br /&gt;
: - Linux startup - added initrd as a default startup scheme&lt;br /&gt;
: - Linux startup - added recovery mode based on initrd &lt;br /&gt;
: - Fixed file-system journaling issue&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new release&lt;br /&gt;
&lt;br /&gt;
===== 10-Oct-2022, IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux release 1.0 =====&lt;br /&gt;
: Release of Yocto 4.0 (kirkstone) for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf_v2021.04&lt;br /&gt;
: - Kernel 5.15.32 based on NXP lf-5.15.y&lt;br /&gt;
: HW Features:&lt;br /&gt;
: - eMMC storage&lt;br /&gt;
: - USB3.0 Host port&lt;br /&gt;
: - 2x USB2.0 Host ports&lt;br /&gt;
: - 2x Ethernet&lt;br /&gt;
: - WiFi (Intel AX210)&lt;br /&gt;
: - Bluetooth&lt;br /&gt;
: - 4G/LTE modem (Quectel EC25E/EC25A)&lt;br /&gt;
: - 1x CAN 2.0B&lt;br /&gt;
: - Display output&lt;br /&gt;
: - Industrial I/O extension modules:&lt;br /&gt;
:: - Up to 3x RS485 / RS232&lt;br /&gt;
:: - Digital I/O( 4x DI, 4x DO)&lt;br /&gt;
: - RTC&lt;br /&gt;
: - Watchdog&lt;br /&gt;
: - 2x dual color user LEDs&lt;br /&gt;
: - 1x serial console (micro-USB connector)&lt;br /&gt;
: - USB programming interface for NXP SDP/UUU (micro-USB connector)&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - Linux CLI utilities for access to U-Boot environment&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
&lt;br /&gt;
===== 05-Aug-2022, IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Debian Linux release 1.1 =====&lt;br /&gt;
: Release of Debian (Bullseye) for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf-5.10.35-2.0.0&lt;br /&gt;
: - Kernel 5.15.5 based on NXP lf-5.15.5-1.0.0&lt;br /&gt;
: HW Features:&lt;br /&gt;
: - eMMC storage&lt;br /&gt;
: - USB3.0 Host port&lt;br /&gt;
: - 2x USB2.0 Host ports&lt;br /&gt;
: - 2x Ethernet&lt;br /&gt;
: - WiFi (Intel AX210)&lt;br /&gt;
: - Bluetooth&lt;br /&gt;
: - 4G/LTE modem (Quectel EC25E/EC25A)&lt;br /&gt;
: - 1x CAN 2.0B&lt;br /&gt;
: - Display output&lt;br /&gt;
: - Industrial I/O extension modules:&lt;br /&gt;
:: - Up to 3x RS485 / RS232&lt;br /&gt;
:: - Digital I/O( 4x DI, 4x DO)&lt;br /&gt;
: - RTC&lt;br /&gt;
: - Watchdog&lt;br /&gt;
: - 2x dual color user LEDs&lt;br /&gt;
: - 1x serial console (micro-USB connector)&lt;br /&gt;
: - USB programming interface for NXP SDP/UUU (micro-USB connector)&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - Linux CLI utilities for access to U-Boot environment&lt;br /&gt;
: - Docker&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Debian Linux documentation for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:IOT-GATE-IMX8PLUS]]&lt;br /&gt;
[[Category:SBC-IOT-IMX8PLUS]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS_Yocto_Linux&amp;diff=5166</id>
		<title>IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS Yocto Linux</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS_Yocto_Linux&amp;diff=5166"/>
		<updated>2023-06-26T08:43:37Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary2|content=&lt;br /&gt;
This page contains links to information about Yocto Linux distribution for the Compulab IOT-GATE-IMX8PLUS Internet of Things Gateway and SBC-IOT-IMX8PLUS Single Board Computer.&lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&lt;br /&gt;
&lt;br /&gt;
|image1=Iot-gate-imx8plus.png&lt;br /&gt;
|image2=Sbc-iot-imx8plus.png&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|*[[IOT-GATE-IMX8PLUS: Getting Started|Getting started with IOT-GATE-IMX8PLUS]]&lt;br /&gt;
*[[SBC-IOT-IMX8PLUS: Getting Started|Getting started with SBC-IOT-IMX8PLUS]]&lt;br /&gt;
* [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: Yocto Linux: Installation|Installing Yocto on IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS]]&lt;br /&gt;
* [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: Yocto Linux: How-To Guide|Yocto Linux how-to guide for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS]]&lt;br /&gt;
|* [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: Yocto Linux: Building Yocto images |Building IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux images ]]&lt;br /&gt;
&amp;lt;!--*[https://github.com/compulab-yokneam/meta-bsp-imx8mp/blob/iot-gate-imx8plus_r1.0/Documentation/linux_kernel_build.md Building IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Linux Kernel]--&amp;gt;&lt;br /&gt;
*[https://github.com/compulab-yokneam/linux-compulab/blob/linux-compulab_v5.15.32/README.md Building IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Linux Kernel]&lt;br /&gt;
*[[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: U-Boot: Recovery|U-Boot Recovery]]&lt;br /&gt;
|*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogRss| content=&lt;br /&gt;
===== 26-Jun-2023, IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux release 2.0 =====&lt;br /&gt;
: Release of Yocto 4.0 (kirkstone) for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf-5.15.32-2.0.0&lt;br /&gt;
: - Kernel 5.15.32 based on NXP lf-5.15.32-2.0.0&lt;br /&gt;
: HW Features:&lt;br /&gt;
: - Added support for SB-IOTGIMX8PLUS EEPROM&lt;br /&gt;
: - Added support for LED Green_1&lt;br /&gt;
: - Added support for FCCAN I/O module&lt;br /&gt;
: - Added support for FXTPM add-on board&lt;br /&gt;
: - Added support for break-out add-on board&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Updated multiple articles to comply with the new release&lt;br /&gt;
&lt;br /&gt;
===== 10-Oct-2022, IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux release 1.0 =====&lt;br /&gt;
: Release of Yocto 4.0 (kirkstone) for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
: - U-Boot 2021.04 based on NXP lf_v2021.04&lt;br /&gt;
: - Kernel 5.15.32 based on NXP lf-5.15.y&lt;br /&gt;
: HW Features:&lt;br /&gt;
: - eMMC storage&lt;br /&gt;
: - USB3.0 Host port&lt;br /&gt;
: - 2x USB2.0 Host ports&lt;br /&gt;
: - 2x Ethernet&lt;br /&gt;
: - WiFi (Intel AX210)&lt;br /&gt;
: - Bluetooth&lt;br /&gt;
: - 4G/LTE modem (Quectel EC25E/EC25A)&lt;br /&gt;
: - 1x CAN 2.0B&lt;br /&gt;
: - Display output&lt;br /&gt;
: - Industrial I/O extension modules:&lt;br /&gt;
:: - Up to 3x RS485 / RS232&lt;br /&gt;
:: - Digital I/O( 4x DI, 4x DO)&lt;br /&gt;
: - RTC&lt;br /&gt;
: - Watchdog&lt;br /&gt;
: - 2x dual color user LEDs&lt;br /&gt;
: - 1x serial console (micro-USB connector)&lt;br /&gt;
: - USB programming interface for NXP SDP/UUU (micro-USB connector)&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - Linux CLI utilities for access to U-Boot environment&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:IOT-GATE-IMX8PLUS]]&lt;br /&gt;
[[Category:SBC-IOT-IMX8PLUS]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS:_Yocto_Linux:_How-To_Guide&amp;diff=5165</id>
		<title>IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: Yocto Linux: How-To Guide</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS:_Yocto_Linux:_How-To_Guide&amp;diff=5165"/>
		<updated>2023-06-26T08:38:52Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The example run-time Yocto Linux image for the CompuLab IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS was generated with Kirkstone Yocto build.&lt;br /&gt;
The image includes the needed drivers and utilities to operate the hardware components of the IOT-GATE-IMX8PLUS/SBC-IOT-IMX8PLUS.&lt;br /&gt;
&lt;br /&gt;
The default Kirkstone Yocto image includes many software packages. Among them:&lt;br /&gt;
&lt;br /&gt;
* Core system&lt;br /&gt;
* SSH server and client&lt;br /&gt;
* ConnMan&lt;br /&gt;
* ModemManager&lt;br /&gt;
* Bluez5 Bluetooth tools and daemons&lt;br /&gt;
* SocketCAN&lt;br /&gt;
* Minicom&lt;br /&gt;
&lt;br /&gt;
= Connection and Login =&lt;br /&gt;
This Yocto rootfs comes with an empty root password.&lt;br /&gt;
No password is required for login.&lt;br /&gt;
&lt;br /&gt;
To login into the Linux system, you may use a terminal emulator as described [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS Yocto Linux|here]], or connect through the network (ssh).&lt;br /&gt;
{{Important|The following examples assume '''root''' user.}}&lt;br /&gt;
&lt;br /&gt;
= Connectivity =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux Image includes [https://wiki.archlinux.org/title/ConnMan ConnMan] is a command-line network manager designed for use with embedded devices and fast resolve times. It can be used for managing all type of network interfaces:&lt;br /&gt;
# Wired&lt;br /&gt;
# Wireless&lt;br /&gt;
# Cellular&lt;br /&gt;
&lt;br /&gt;
* Start '''ConnMan''' service prior to accessing network interfaces&lt;br /&gt;
&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# systemctl start connman&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Display supported technologies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# connmanctl technologies&lt;br /&gt;
/net/connman/technology/cellular&lt;br /&gt;
  Name = Cellular&lt;br /&gt;
  Type = cellular&lt;br /&gt;
  Powered = True&lt;br /&gt;
  Connected = True&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 2412&lt;br /&gt;
/net/connman/technology/ethernet&lt;br /&gt;
  Name = Wired&lt;br /&gt;
  Type = ethernet&lt;br /&gt;
  Powered = False&lt;br /&gt;
  Connected = False&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 2412&lt;br /&gt;
/net/connman/technology/wifi&lt;br /&gt;
  Name = WiFi&lt;br /&gt;
  Type = wifi&lt;br /&gt;
  Powered = True&lt;br /&gt;
  Connected = False&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 2412&lt;br /&gt;
/net/connman/technology/bluetooth&lt;br /&gt;
  Name = Bluetooth&lt;br /&gt;
  Type = bluetooth&lt;br /&gt;
  Powered = False&lt;br /&gt;
  Connected = False&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ethernet ==&lt;br /&gt;
=== Enable/Disable Ethernet Interfaces ===&lt;br /&gt;
* To enable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl enable ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disable ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enable/Disable Ethernet Connections ===&lt;br /&gt;
* To display Ethernet Connections:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example (both Ethernet ports are connected to a LAN):&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR Wired                ethernet_0001c030d7c3_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR Wired                ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To enable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect &amp;lt;ethernet service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect &amp;lt;ethernet service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Disconnected ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR Wired                ethernet_0001c030d7c3_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*A  Wired                ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Connected ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cellular Modem ==&lt;br /&gt;
=== Wvdial ===&lt;br /&gt;
{{Note| Recommended method}}&lt;br /&gt;
[https://wiki.debian.org/Wvdial WvDial] is a Point-to-Point Protocol dialer that automatically detects modem, and can log into almost any Internet Service Provider without a complicated configuration.&lt;br /&gt;
&lt;br /&gt;
==== Loading kernel modules ====&lt;br /&gt;
Load Point-to-Point protocol (PPP) driver modules prior to dialing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_generic&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_async&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_synctty&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe bsd_comp&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_deflate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dialing ====&lt;br /&gt;
* Example configuration file {{filename|/etc/wvdial.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; eof &amp;gt; /etc/wvdial.conf&lt;br /&gt;
[Dialer cellular]&lt;br /&gt;
Init1 = ATZ&lt;br /&gt;
Init2 = ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0&lt;br /&gt;
Modem Type = Analog Modem&lt;br /&gt;
ISDN = 0&lt;br /&gt;
Phone = *99#&lt;br /&gt;
Modem = /dev/ttyUSB3&lt;br /&gt;
Username = dummy&lt;br /&gt;
Password = dummy&lt;br /&gt;
Baud = 9600&lt;br /&gt;
eof&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Connect cellular network&lt;br /&gt;
:&amp;lt;pre&amp;gt;wvdial cellular &amp;amp;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Verify the connection by pinging to google:&lt;br /&gt;
:&amp;lt;pre&amp;gt;sudo ping -c 5 dns.google&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Expected result:&lt;br /&gt;
:&amp;lt;pre&amp;gt;5 packets transmitted, 5 received, 0% packet loss, time 10ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disconnect cellular network&lt;br /&gt;
:&amp;lt;pre&amp;gt;killall wvdial&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ConnMan ===&lt;br /&gt;
==== Enable/Disable Cellular Interface ====&lt;br /&gt;
* To enable Cellular interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl enable cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable Cellular interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disable cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Enable/Disable Cellular Connections ====&lt;br /&gt;
* To display Cellular Connections:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR 425007               cellular_425071043611161_context1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To connect Cellular network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect &amp;lt;cellular service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disconnect the Cellular network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect &amp;lt;cellular service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WiFi ==&lt;br /&gt;
=== Enable/Disable WiFi Interface ===&lt;br /&gt;
* To enable WiFi interface:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl enable wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable WiFi interface:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disable wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Network Scanning ===&lt;br /&gt;
* Sample WiFi scanning:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl scan wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Display list of Access Points and Ad-Hoc cells in the range&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;   Compulab-Guest       wifi_8c1d96f18740_436f6d70756c61622d4775657374_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   AP-Free              wifi_8c1d96f18740_6b77696b2d6d6f62_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Where a service name pattern is as shown below: &lt;br /&gt;
:&amp;lt;pre&amp;gt;wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_&amp;lt;encrption&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Connecting to Open Access Point ===&lt;br /&gt;
In the following example replace ''&amp;lt;hashlocal&amp;gt;'' and ''&amp;lt;hashremote&amp;gt;'' with the actual service parameters.&lt;br /&gt;
* Connect wireless network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disconnect wireless network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Connecting to Protected Access Point ===&lt;br /&gt;
For protected access points some information (like password) has to be provided to the ConnMan daemon.&lt;br /&gt;
&lt;br /&gt;
The commands in this section show how to run '''connmanctl''' in interactive mode, it is required for running the agent command. &lt;br /&gt;
* Start interactive mode:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sample WiFi scanning (wait for scan completed):&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; scan wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Display a list of services:&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; services&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   Compulab-Guest       wifi_8c1d96f18740_436f6d70756c61622d4775657374_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   AP-Free              wifi_8c1d96f18740_6b77696b2d6d6f62_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Register the agent to handle user requests:&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; agent on&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Connect to one of the protected services. Replace ''&amp;lt;hashlocal&amp;gt;'' and ''&amp;lt;hashremote&amp;gt;'' with the actual service parameters: &lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; connect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Agent RequestInput wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;  Passphrase = [ Type=psk, Requirement=mandatory ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Passphrase? &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Provide any information required by the daemon to complete the connection. The information requested may vary depending on the type of network.&lt;br /&gt;
* Quit:&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disconnect wireless network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Connect wireless network again:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CAN =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS features one CAN 2.0B port implemented with i.MX8M Plus CAN controller.&amp;lt;br&amp;gt;&lt;br /&gt;
CAN bus signals are routed to industrial I/O connector P8.&lt;br /&gt;
&lt;br /&gt;
== CAN interface configuration ==&lt;br /&gt;
* Configure the CAN interface bit-rate to 1 Mbits/sec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# ip link set can0 type can bitrate 1000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enable the CAN interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# ip link set can0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Send/Receive packets ==&lt;br /&gt;
Use ''cansend'' and ''candump'' utilities to send and receive packets via CAN interface. &lt;br /&gt;
* Send standard CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# cansend can0 111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Send extended CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# cansend can0 11111111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* CAN frames (extended mode) generator, random payload, interval between two successive flames 50 msec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# cangen -g 50 -e -D r -v can0&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Dump all received data frames as well as error frames:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# candump any,0:0,#FFFFFFFF&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Industrial Interfaces =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS implements industrial interfaces with four I/O slots (IE) that can be fitted with up-to four different I/O modules.&lt;br /&gt;
Slots are referred to as '''A''',  '''B''', '''C''' and '''D'''.&lt;br /&gt;
&lt;br /&gt;
Available I/O modules types:&lt;br /&gt;
* RS232 (2-wire)&lt;br /&gt;
* RS485 (half duplex)&lt;br /&gt;
* Digital I/O (4x DI + 4x DO)&lt;br /&gt;
&lt;br /&gt;
{{Note|IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS industrial I/O signals are routed to Industrial I/O Connector (P8)}}&lt;br /&gt;
Please refer to Industrial I/O Connector pin-out for more details.&lt;br /&gt;
&lt;br /&gt;
So far industrial I/O modules do not require any special configuration.&lt;br /&gt;
&lt;br /&gt;
== RS232 ==&lt;br /&gt;
RS232 function is implemented with MAX3221 (or compatible) transceiver interfaced with i.MX8M Plus UART ports.&lt;br /&gt;
&lt;br /&gt;
RS232 modules can be installed into I/O slots A, B and C. Up to three RS232 modules can be installed simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Configuration and Access ===&lt;br /&gt;
Once properly installed on a specific I/O slot, RS232 interface can be accessed in Linux via '''ttyRS232_X''' tty device, where '''X''' is a slot name: A, B, C.&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
RS485 function is implemented with MAX13488 (or compatible) transceiver interfaced with i.MX8M Plus UART ports.&lt;br /&gt;
&lt;br /&gt;
RS485 modules can be installed in I/O slots A, B and C. Up to three RS485 modules can be installed simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Configuration and Access ===&lt;br /&gt;
Once properly installed on a specific I/O slot, RS485 interface can be accessed in Linux via '''ttyRS485_X''' tty device, where '''X''' is a slot name: A, B, C.&lt;br /&gt;
&lt;br /&gt;
=== Modbus RS485 ===&lt;br /&gt;
The following example demonstrates how to use RS485 module installed into industrial I/O slot A in a Modbus RS485 Network.&lt;br /&gt;
IOTG-IMX8PLUS performs as a Master device and queries XY-MD02 temperature and humidity sensor.&lt;br /&gt;
&lt;br /&gt;
==== Software installation ====&lt;br /&gt;
Download and install ''modpoll'' - a command line based Modbus master simulator and test utility. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# wget https://www.modbusdriver.com/downloads/modpoll.tgz -P /tmp/&lt;br /&gt;
...&lt;br /&gt;
root@iot-gate-imx8plus:~# tar -xvf /tmp/modpoll.tgz -C /opt/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Device connection ====&lt;br /&gt;
* Connect XY-MD02 sensor to appropriate Industrial I/O connector pins as below:&lt;br /&gt;
:* '''A+''': XY-MD02 A+ to IOT-GATE-iMX8PLUS / SBC-IOT-IMX8PLUS P8-01&lt;br /&gt;
:* '''B-''': XY-MD02 B- to IOT-GATE-iMX8PLUS / SBC-IOT-IMX8PLUS P8-03&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------                                  -------------------------&lt;br /&gt;
|                  |                                  |                       |&lt;br /&gt;
|                  *--(+)---&amp;lt; &amp;lt;------------- 5V-30V   |     IOTG-IMX8PLUS     |&lt;br /&gt;
|                  |                                  |   (SBC-IOT-IMX8PLUS)  |&lt;br /&gt;
|                  *--(-)---&amp;lt; &amp;lt;-------------- GND     |------  ------------   |&lt;br /&gt;
| XY-MD02 (RS485)  |                                  |     |==| IE-RS485 |   |&lt;br /&gt;
|                  *--(A+)--&amp;lt; &amp;lt;---...---&amp;gt; &amp;gt;---(1)---*-|     |  ------------   |&lt;br /&gt;
|                  |                                  | P8  |     Slot A      |&lt;br /&gt;
|                  *--(B-)--&amp;lt; &amp;lt;---...---&amp;gt; &amp;gt;---(3)---*-|     |                 |&lt;br /&gt;
|                  |                                  |------                 |&lt;br /&gt;
--------------------                                  ------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Read data ====&lt;br /&gt;
&lt;br /&gt;
* Read temperature once:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 2 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[2]: 250&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poll temperature:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 2 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 254&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 254&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 254&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read humidity once:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 3 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 3, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[3]: 515&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poll humidity:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 3 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 3, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[3]: 894&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[3]: 895&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[3]: 896&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read temperature &amp;amp; humidity once:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 2 -r 2 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 2&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 606&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poll temperature &amp;amp; humidity:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 2 -r 2 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 2&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 545&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 543&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 542&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read slave address, baudrate, temperature &amp;amp; humidity corrections:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 4 -c 4 -r 258 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC3&lt;br /&gt;
Slave configuration...: address = 1, start reference = 258, count = 4&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, output (holding) register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[258]: 1&lt;br /&gt;
[259]: 9600&lt;br /&gt;
[260]: 0&lt;br /&gt;
[261]: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital I/O  ==&lt;br /&gt;
Digital I/O module features 4 digital inputs and 4 digital outputs and can be installed into slot D.&lt;br /&gt;
Four digital inputs are implemented with the CLT3-4B digital termination following EN 61131-2. &lt;br /&gt;
Four digital outputs are implemented with the VNI4140K solid-state relay following EN 61131-2.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Note|Digital I/O module requires an external voltage supply up to 24V to be properly connected. Please refer to Industrial I/O Connector pin-out for more details.}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration and Access ===&lt;br /&gt;
Use ''iotg-imx8plus-dio'' utility to access digital inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
The example below shows how to access Digital inputs and outputs.&lt;br /&gt;
* Drive OUT2 pin HI:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# iotg-imx8plus-dio -o 2 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read IN3 pin state (LO):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# iotg-imx8plus-dio -i 3&lt;br /&gt;
0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LEDs =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS features two user Bi-Color (Red + Green) LEDs found on [[IOT-GATE-IMX8PLUS: Getting Started#Front panel|front panel]].&amp;lt;br&amp;gt;&lt;br /&gt;
LEDs are controlled via GPIO pins and can be accessed via [https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-led sysfs] interface.&lt;br /&gt;
&lt;br /&gt;
* LEDs are referred to as ''Green_1'', ''Red_1'', ''Green_2'' and ''Red_2''&lt;br /&gt;
* Choose a LED (LED2 Red in this example):&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# LED=Red_2&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Turn the LED ON&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# echo &amp;quot;1&amp;quot; | tee -a /sys/class/leds/${LED}/brightness&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Turn the LED OFF&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# echo &amp;quot;0&amp;quot; | tee -a /sys/class/leds/${LED}/brightness&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set LED's trigger&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# echo &amp;quot;heartbeat&amp;quot; | tee -a /sys/class/leds/${LED}/trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Video Playback= &lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS are built around UCM-iMX8M-Plus SoC that features 1080p60 H.264, VP8 video decoding capabilities. Before starting video playback, please, ensure that the display is connected to the board.&lt;br /&gt;
&lt;br /&gt;
The following commands can be used to start video playback ('''1.mov''' is a media file):&lt;br /&gt;
* gst-play&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# gst-play /path/to/1.mov&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gplay-1.0&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# gplay-1.0 /path/to/1.mov&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gst-launch&lt;br /&gt;
This method is for advanced users. Please study this document before the start: [https://raw.githubusercontent.com/compulab-yokneam/Documentation/master/pdfs/i.MX8GStreamerUserGuide.pdf i.MX8GStreamerUserGuide.pdf]&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# gst-launch-1.0 -v filesrc location=/path/to/1.mov ! qtdemux name=d.video_0 ! h264parse ! avdec_h264 ! autovideosink&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS:_Yocto_Linux:_How-To_Guide&amp;diff=5164</id>
		<title>IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: Yocto Linux: How-To Guide</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS:_Yocto_Linux:_How-To_Guide&amp;diff=5164"/>
		<updated>2023-06-26T08:36:47Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The example run-time Yocto Linux image for the CompuLab IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS was generated with Kirkstone Yocto build.&lt;br /&gt;
The image includes the needed drivers and utilities to operate the hardware components of the IOT-GATE-IMX8PLUS/SBC-IOT-IMX8PLUS.&lt;br /&gt;
&lt;br /&gt;
The default Kirkstone Yocto image includes many software packages. Among them:&lt;br /&gt;
&lt;br /&gt;
* Core system&lt;br /&gt;
* SSH server and client&lt;br /&gt;
* ConnMan&lt;br /&gt;
* ModemManager&lt;br /&gt;
* Bluez5 Bluetooth tools and daemons&lt;br /&gt;
* SocketCAN&lt;br /&gt;
* Minicom&lt;br /&gt;
&lt;br /&gt;
= Connection and Login =&lt;br /&gt;
This Yocto rootfs comes with an empty root password.&lt;br /&gt;
No password is required for login.&lt;br /&gt;
&lt;br /&gt;
To login into the Linux system, you may use a terminal emulator as described [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS Yocto Linux|here]], or connect through the network (ssh).&lt;br /&gt;
{{Important|The following examples assume '''root''' user.}}&lt;br /&gt;
&lt;br /&gt;
= Connectivity =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux Image includes [https://wiki.archlinux.org/title/ConnMan ConnMan] is a command-line network manager designed for use with embedded devices and fast resolve times. It can be used for managing all type of network interfaces:&lt;br /&gt;
# Wired&lt;br /&gt;
# Wireless&lt;br /&gt;
# Cellular&lt;br /&gt;
&lt;br /&gt;
* Start '''ConnMan''' service prior to accessing network interfaces&lt;br /&gt;
&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# systemctl start connman&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Display supported technologies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# connmanctl technologies&lt;br /&gt;
/net/connman/technology/cellular&lt;br /&gt;
  Name = Cellular&lt;br /&gt;
  Type = cellular&lt;br /&gt;
  Powered = True&lt;br /&gt;
  Connected = True&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 2412&lt;br /&gt;
/net/connman/technology/ethernet&lt;br /&gt;
  Name = Wired&lt;br /&gt;
  Type = ethernet&lt;br /&gt;
  Powered = False&lt;br /&gt;
  Connected = False&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 2412&lt;br /&gt;
/net/connman/technology/wifi&lt;br /&gt;
  Name = WiFi&lt;br /&gt;
  Type = wifi&lt;br /&gt;
  Powered = True&lt;br /&gt;
  Connected = False&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 2412&lt;br /&gt;
/net/connman/technology/bluetooth&lt;br /&gt;
  Name = Bluetooth&lt;br /&gt;
  Type = bluetooth&lt;br /&gt;
  Powered = False&lt;br /&gt;
  Connected = False&lt;br /&gt;
  Tethering = False&lt;br /&gt;
  TetheringFreq = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ethernet ==&lt;br /&gt;
=== Enable/Disable Ethernet Interfaces ===&lt;br /&gt;
* To enable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl enable ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disable ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enable/Disable Ethernet Connections ===&lt;br /&gt;
* To display Ethernet Connections:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example (both Ethernet ports are connected to a LAN):&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR Wired                ethernet_0001c030d7c3_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR Wired                ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To enable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect &amp;lt;ethernet service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect &amp;lt;ethernet service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Disconnected ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep ethernet&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR Wired                ethernet_0001c030d7c3_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*A  Wired                ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Connected ethernet_0001c031ffe2_cable&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cellular Modem ==&lt;br /&gt;
=== Wvdial ===&lt;br /&gt;
{{Note| Recommended method}}&lt;br /&gt;
[https://wiki.debian.org/Wvdial WvDial] is a Point-to-Point Protocol dialer that automatically detects modem, and can log into almost any Internet Service Provider without a complicated configuration.&lt;br /&gt;
&lt;br /&gt;
==== Loading kernel modules ====&lt;br /&gt;
Load Point-to-Point protocol (PPP) driver modules prior to dialing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_generic&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_async&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_synctty&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe bsd_comp&lt;br /&gt;
root@cl-som-imx7-sid:~# modprobe ppp_deflate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dialing ====&lt;br /&gt;
* Example configuration file {{filename|/etc/wvdial.conf}}:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt; eof &amp;gt; /etc/wvdial.conf&lt;br /&gt;
[Dialer cellular]&lt;br /&gt;
Init1 = ATZ&lt;br /&gt;
Init2 = ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2 +FCLASS=0&lt;br /&gt;
Modem Type = Analog Modem&lt;br /&gt;
ISDN = 0&lt;br /&gt;
Phone = *99#&lt;br /&gt;
Modem = /dev/ttyUSB3&lt;br /&gt;
Username = dummy&lt;br /&gt;
Password = dummy&lt;br /&gt;
Baud = 9600&lt;br /&gt;
eof&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Connect cellular network&lt;br /&gt;
:&amp;lt;pre&amp;gt;wvdial cellular &amp;amp;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Verify the connection by pinging to google:&lt;br /&gt;
:&amp;lt;pre&amp;gt;sudo ping -c 5 dns.google&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Expected result:&lt;br /&gt;
:&amp;lt;pre&amp;gt;5 packets transmitted, 5 received, 0% packet loss, time 10ms&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disconnect cellular network&lt;br /&gt;
:&amp;lt;pre&amp;gt;killall wvdial&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ConnMan ===&lt;br /&gt;
==== Enable/Disable Cellular Interface ====&lt;br /&gt;
* To enable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl enable cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable Ethernet interfaces:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disable cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Enable/Disable Cellular Connections ====&lt;br /&gt;
* To display Cellular Connections:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep cellular&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;*AR 425007               cellular_425071043611161_context1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To connect Cellular network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect &amp;lt;cellular service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disconnect Cellular network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect &amp;lt;cellular service name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WiFi ==&lt;br /&gt;
=== Enable/Disable WiFi Interface ===&lt;br /&gt;
* To enable WiFi interface:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl enable wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable WiFi interface:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disable wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Network Scanning ===&lt;br /&gt;
* Sample WiFi scanning:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl scan wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Display list of Access Points and Ad-Hoc cells in range&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl services | grep wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Example:&lt;br /&gt;
:&amp;lt;pre&amp;gt;   Compulab-Guest       wifi_8c1d96f18740_436f6d70756c61622d4775657374_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   AP-Free              wifi_8c1d96f18740_6b77696b2d6d6f62_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
:Where a service name pattern is as shown below: &lt;br /&gt;
:&amp;lt;pre&amp;gt;wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_&amp;lt;encrption&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Connecting to Open Access Point ===&lt;br /&gt;
In the following example replace ''&amp;lt;hashlocal&amp;gt;'' and ''&amp;lt;hashremote&amp;gt;'' with the actual service parameters.&lt;br /&gt;
* Connect wireless network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disconnect wireless network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Connecting to Protected Access Point ===&lt;br /&gt;
For protected access points some information (like password) has to be provided to the ConnMan daemon.&lt;br /&gt;
&lt;br /&gt;
The commands in this section show how to run '''connmanctl''' in interactive mode, it is required for running the agent command. &lt;br /&gt;
* Start interactive mode:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Sample WiFi scanning (wait for scan completed):&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; scan wifi&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Display a list of services:&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; services&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   Compulab-Guest       wifi_8c1d96f18740_436f6d70756c61622d4775657374_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;   AP-Free              wifi_8c1d96f18740_6b77696b2d6d6f62_managed_none&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Register the agent to handle user requests:&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; agent on&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Connect to one of the protected services. Replace ''&amp;lt;hashlocal&amp;gt;'' and ''&amp;lt;hashremote&amp;gt;'' with the actual service parameters: &lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; connect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Agent RequestInput wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;  Passphrase = [ Type=psk, Requirement=mandatory ]&amp;lt;/pre&amp;gt;&lt;br /&gt;
:&amp;lt;pre&amp;gt;Passphrase? &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Provide any information required by the daemon to complete the connection. The information requested may vary depending on the type of network.&lt;br /&gt;
* Quit:&lt;br /&gt;
:&amp;lt;pre&amp;gt;connmanctl&amp;gt; quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disconnect wireless network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl disconnect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Connect wireless network again:&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# connmanctl connect wifi_&amp;lt;hashlocal&amp;gt;_&amp;lt;hashremote&amp;gt;_managed_psk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= CAN =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS features one CAN 2.0B port implemented with i.MX8M Plus CAN controller.&amp;lt;br&amp;gt;&lt;br /&gt;
CAN bus signals are routed to industrial I/O connector P8.&lt;br /&gt;
&lt;br /&gt;
== CAN interface configuration ==&lt;br /&gt;
* Configure the CAN interface bit-rate to 1 Mbits/sec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# ip link set can0 type can bitrate 1000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enable the CAN interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# ip link set can0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Send/Receive packets ==&lt;br /&gt;
Use ''cansend'' and ''candump'' utilities to send and receive packets via CAN interface. &lt;br /&gt;
* Send standard CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# cansend can0 111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Send extended CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# cansend can0 11111111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* CAN frames (extended mode) generator, random payload, interval between two successive flames 50 msec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# cangen -g 50 -e -D r -v can0&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Dump all received data frames as well as error frames:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# candump any,0:0,#FFFFFFFF&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Industrial Interfaces =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS implements industrial interfaces with four I/O slots (IE) that can be fitted with up-to four different I/O modules.&lt;br /&gt;
Slots are referred to as '''A''',  '''B''', '''C''' and '''D'''.&lt;br /&gt;
&lt;br /&gt;
Available I/O modules types:&lt;br /&gt;
* RS232 (2-wire)&lt;br /&gt;
* RS485 (half duplex)&lt;br /&gt;
* Digital I/O (4x DI + 4x DO)&lt;br /&gt;
&lt;br /&gt;
{{Note|IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS industrial I/O signals are routed to Industrial I/O Connector (P8)}}&lt;br /&gt;
Please refer to Industrial I/O Connector pin-out for more details.&lt;br /&gt;
&lt;br /&gt;
So far industrial I/O modules do not require any special configuration.&lt;br /&gt;
&lt;br /&gt;
== RS232 ==&lt;br /&gt;
RS232 function is implemented with MAX3221 (or compatible) transceiver interfaced with i.MX8M Plus UART ports.&lt;br /&gt;
&lt;br /&gt;
RS232 modules can be installed into I/O slots A, B and C. Up to three RS232 modules can be installed simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Configuration and Access ===&lt;br /&gt;
Once properly installed on a specific I/O slot, RS232 interface can be accessed in Linux via '''ttyRS232_X''' tty device, where '''X''' is a slot name: A, B, C.&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
RS485 function is implemented with MAX13488 (or compatible) transceiver interfaced with i.MX8M Plus UART ports.&lt;br /&gt;
&lt;br /&gt;
RS485 modules can be installed in I/O slots A, B and C. Up to three RS485 modules can be installed simultaneously.&lt;br /&gt;
&lt;br /&gt;
=== Configuration and Access ===&lt;br /&gt;
Once properly installed on a specific I/O slot, RS485 interface can be accessed in Linux via '''ttyRS485_X''' tty device, where '''X''' is a slot name: A, B, C.&lt;br /&gt;
&lt;br /&gt;
=== Modbus RS485 ===&lt;br /&gt;
The following example demonstrates how to use RS485 module installed into industrial I/O slot A in a Modbus RS485 Network.&lt;br /&gt;
IOTG-IMX8PLUS performs as a Master device and queries XY-MD02 temperature and humidity sensor.&lt;br /&gt;
&lt;br /&gt;
==== Software installation ====&lt;br /&gt;
Download and install ''modpoll'' - a command line based Modbus master simulator and test utility. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# wget https://www.modbusdriver.com/downloads/modpoll.tgz -P /tmp/&lt;br /&gt;
...&lt;br /&gt;
root@iot-gate-imx8plus:~# tar -xvf /tmp/modpoll.tgz -C /opt/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Device connection ====&lt;br /&gt;
* Connect XY-MD02 sensor to appropriate Industrial I/O connector pins as below:&lt;br /&gt;
:* '''A+''': XY-MD02 A+ to IOT-GATE-iMX8PLUS / SBC-IOT-IMX8PLUS P8-01&lt;br /&gt;
:* '''B-''': XY-MD02 B- to IOT-GATE-iMX8PLUS / SBC-IOT-IMX8PLUS P8-03&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--------------------                                  -------------------------&lt;br /&gt;
|                  |                                  |                       |&lt;br /&gt;
|                  *--(+)---&amp;lt; &amp;lt;------------- 5V-30V   |     IOTG-IMX8PLUS     |&lt;br /&gt;
|                  |                                  |   (SBC-IOT-IMX8PLUS)  |&lt;br /&gt;
|                  *--(-)---&amp;lt; &amp;lt;-------------- GND     |------  ------------   |&lt;br /&gt;
| XY-MD02 (RS485)  |                                  |     |==| IE-RS485 |   |&lt;br /&gt;
|                  *--(A+)--&amp;lt; &amp;lt;---...---&amp;gt; &amp;gt;---(1)---*-|     |  ------------   |&lt;br /&gt;
|                  |                                  | P8  |     Slot A      |&lt;br /&gt;
|                  *--(B-)--&amp;lt; &amp;lt;---...---&amp;gt; &amp;gt;---(3)---*-|     |                 |&lt;br /&gt;
|                  |                                  |------                 |&lt;br /&gt;
--------------------                                  ------------------------- &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Read data ====&lt;br /&gt;
&lt;br /&gt;
* Read temperature once:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 2 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[2]: 250&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poll temperature:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 2 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 254&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 254&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 254&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read humidity once:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 3 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 3, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[3]: 515&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poll humidity:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 1 -r 3 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 3, count = 1&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[3]: 894&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[3]: 895&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[3]: 896&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read temperature &amp;amp; humidity once:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 2 -r 2 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 2&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 606&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Poll temperature &amp;amp; humidity:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 3 -c 2 -r 2 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC4&lt;br /&gt;
Slave configuration...: address = 1, start reference = 2, count = 2&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, input register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 545&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 543&lt;br /&gt;
-- Polling slave... (Ctrl-C to stop)&lt;br /&gt;
[2]: 263&lt;br /&gt;
[3]: 542&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read slave address, baudrate, temperature &amp;amp; humidity corrections:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# /opt/modpoll/arm-linux-gnueabihf/modpoll -b 9600 -p none -t 4 -c 4 -r 258 -1 /dev/ttyRS485_A&lt;br /&gt;
modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator&lt;br /&gt;
Copyright (c) 2002-2021 proconX Pty Ltd&lt;br /&gt;
Visit https://www.modbusdriver.com for Modbus libraries and tools.&lt;br /&gt;
&lt;br /&gt;
Protocol configuration: Modbus RTU, FC3&lt;br /&gt;
Slave configuration...: address = 1, start reference = 258, count = 4&lt;br /&gt;
Communication.........: /dev/ttyRS485_A, 9600, 8, 1, none, t/o 1.00 s, poll rate 1000 ms&lt;br /&gt;
Data type.............: 16-bit register, output (holding) register table&lt;br /&gt;
&lt;br /&gt;
-- Polling slave...&lt;br /&gt;
[258]: 1&lt;br /&gt;
[259]: 9600&lt;br /&gt;
[260]: 0&lt;br /&gt;
[261]: 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital I/O  ==&lt;br /&gt;
Digital I/O module features 4 digital inputs and 4 digital outputs and can be installed into slot D.&lt;br /&gt;
Four digital inputs are implemented with the CLT3-4B digital termination following EN 61131-2. &lt;br /&gt;
Four digital outputs are implemented with the VNI4140K solid-state relay following EN 61131-2.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Note|Digital I/O module requires an external voltage supply up to 24V to be properly connected. Please refer to Industrial I/O Connector pin-out for more details.}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration and Access ===&lt;br /&gt;
Use ''iotg-imx8plus-dio'' utility to access digital inputs and outputs.&lt;br /&gt;
&lt;br /&gt;
The example below shows how to access Digital inputs and outputs.&lt;br /&gt;
* Drive OUT2 pin HI:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# iotg-imx8plus-dio -o 2 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read IN3 pin state (LO):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@iot-gate-imx8plus:~# iotg-imx8plus-dio -i 3&lt;br /&gt;
0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= LEDs =&lt;br /&gt;
IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS features two user Bi-Color (Red + Green) LEDs found on [[IOT-GATE-IMX8PLUS: Getting Started#Front panel|front panel]].&amp;lt;br&amp;gt;&lt;br /&gt;
LEDs are controlled via GPIO pins and can be accessed via [https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-led sysfs] interface.&lt;br /&gt;
&lt;br /&gt;
* LEDs are referred to as ''Green_1'', ''Red_1'', ''Green_2'' and ''Red_2''&lt;br /&gt;
* Choose a LED (LED2 Red in this example):&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# LED=Red_2&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Turn the LED ON&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# echo &amp;quot;1&amp;quot; | tee -a /sys/class/leds/${LED}/brightness&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Turn the LED OFF&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# echo &amp;quot;0&amp;quot; | tee -a /sys/class/leds/${LED}/brightness&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set LED's trigger&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# echo &amp;quot;heartbeat&amp;quot; | tee -a /sys/class/leds/${LED}/trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Video Playback= &lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS are built around UCM-iMX8M-Plus SoC that features 1080p60 H.264, VP8 video decoding capabilities. Before starting video playback, please, ensure that the display is connected to the board.&lt;br /&gt;
&lt;br /&gt;
The following commands can be used to start video playback ('''1.mov''' is a media file):&lt;br /&gt;
* gst-play&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# gst-play /path/to/1.mov&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gplay-1.0&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# gplay-1.0 /path/to/1.mov&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gst-launch&lt;br /&gt;
This method is for advanced users. Please study this document before the start: [https://raw.githubusercontent.com/compulab-yokneam/Documentation/master/pdfs/i.MX8GStreamerUserGuide.pdf i.MX8GStreamerUserGuide.pdf]&lt;br /&gt;
:&amp;lt;pre&amp;gt;root@iot-gate-imx8plus:~# gst-launch-1.0 -v filesrc location=/path/to/1.mov ! qtdemux name=d.video_0 ! h264parse ! avdec_h264 ! autovideosink&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS:_Yocto_Linux:_Building_Yocto_images&amp;diff=5163</id>
		<title>IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS: Yocto Linux: Building Yocto images</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=IOT-GATE-IMX8PLUS_and_SBC-IOT-IMX8PLUS:_Yocto_Linux:_Building_Yocto_images&amp;diff=5163"/>
		<updated>2023-06-26T08:32:08Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&amp;lt;br&amp;gt;&lt;br /&gt;
The purpose of this article is to show how to build a Yocto image for the IOT-GATE-IMX8PLUS Internet of Things Gateway and SBC-IOT-IMX8PLUS Single Board Computer.&lt;br /&gt;
&lt;br /&gt;
= Host System Requirements =&lt;br /&gt;
To ensure optimal Yocto build speed and performance, it is recommended to use a host system with at least 4 CPU cores, 16GB RAM, and 500GB of free disk space.&amp;lt;br&amp;gt;&lt;br /&gt;
In addition, the system should have the option to open a large number of files simultaneously, preferably up to 4096 or higher.	&amp;lt;br&amp;gt;&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
= Docker Host for Yocto Build Environment =&lt;br /&gt;
There are often compatibility issues between different Linux distributions and the dependencies required for Yocto compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to avoid such issues and simplify the host machine configuration process, Compulab recommends using a pre-configured Docker environment.&amp;lt;br&amp;gt;&lt;br /&gt;
Please follow the instructions outlined in [https://github.com/compulab-yokneam/yocker Setting up Yocto Build Docker Environment].&lt;br /&gt;
&lt;br /&gt;
= Building Yocto Images =&lt;br /&gt;
Set up the Yocto build environment and build the image as detailed in the [https://github.com/compulab-yokneam/meta-bsp-imx8mp/blob/iot-gate-imx8plus_r2.0/README.md Building IOT-GATE-IMX8PLUS / SBC-IOT-IMX8PLUS Yocto Linux images] guide.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:IOT-GATE-IMX8PLUS]]&lt;br /&gt;
[[Category:SBC-IOT-IMX8PLUS]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Transclusion:_CL-SOM-iMX7:_U-Boot:_Building_Images&amp;diff=5162</id>
		<title>Transclusion: CL-SOM-iMX7: U-Boot: Building Images</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Transclusion:_CL-SOM-iMX7:_U-Boot:_Building_Images&amp;diff=5162"/>
		<updated>2023-06-26T08:08:27Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Snapshot download ====&lt;br /&gt;
* Download [https://github.com/u-boot/u-boot/archive/refs/tags/v2017.07.tar.gz v2017.07] snapshot with your web browser.&lt;br /&gt;
* Extract the downloaded archive {{filename|u-boot-2017.07.tar.gz}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cl-som-imx7/u-boot&lt;br /&gt;
tar xvf /path/to/downloaded/u-boot-2017.07.tar.gz&lt;br /&gt;
mv u-boot* u-boot-cl-som-imx7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: This will create {{filename|/home/development/cl-som-imx7/u-boot/u-boot-cl-som-imx7}} directory containing U-Boot source code tree.&lt;br /&gt;
* Apply the CL-SOM-iMX7 patch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cl-som-imx7/u-boot/u-boot-cl-som-imx7&lt;br /&gt;
patch -p1 &amp;lt; /path/to/cl-som-imx7-u-boot-package/u-boot/u-boot-*.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Git clone ====&lt;br /&gt;
* Install [http://git-scm.com/ git] version control system.&lt;br /&gt;
* Create a clone of U-Boot tree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cl-som-imx7/u-boot&lt;br /&gt;
git clone git://git.denx.de/u-boot.git u-boot-cl-som-imx7&lt;br /&gt;
cd /home/development/cl-som-imx7/u-boot/u-boot-cl-som-imx7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a branch for CL-SOM-iMX7 development. The CL-SOM-iMX7 patches are generated vs. v2017.07 tag (d85ca029f257b53a96da6c2fb421e78a003a9943 commit) in the U-Boot tree. It is recommended to use exactly the same baseline to avoid merge conflicts.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git checkout -b cl-som-imx7-dev v2017.07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Apply CL-SOM-iMX7 patch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git am /path/to/cl-som-imx7-u-boot-package/u-boot/patches/*.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building the firmware images ===&lt;br /&gt;
* First, compile U-Boot. The following commands create the {{filename|u-boot.imx}} binary (along with other image types):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export ARCH=arm&lt;br /&gt;
export CROSS_COMPILE=arm-none-linux-eabi-&lt;br /&gt;
make mrproper&lt;br /&gt;
make cl-som-imx7_defconfig &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Merge the SPL and U-Boot images into one firmware image:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dd if=/dev/zero count=640 bs=1K | tr '\000' '\377' &amp;gt; cl-som-imx7-firmware&lt;br /&gt;
dd if=SPL of=cl-som-imx7-firmware bs=1K seek=1 conv=notrunc&lt;br /&gt;
dd if=u-boot.img of=cl-som-imx7-firmware bs=1K seek=64 conv=notrunc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Installing_Yocto_images_onto_UCM-iMX93_eMMC&amp;diff=5161</id>
		<title>UCM-iMX93: Yocto Linux: Installing Yocto images onto UCM-iMX93 eMMC</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Installing_Yocto_images_onto_UCM-iMX93_eMMC&amp;diff=5161"/>
		<updated>2023-06-19T14:59:18Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please use the `CompuLab Deployment Tool` to install UCM-iMX93 Yocto Linux onto on-board eMMC storage.&lt;br /&gt;
&lt;br /&gt;
The `CompuLab Deployment Tool` is a shell script that allows to deploy a working OS image from micro-SD card to UCM-iMX93 on-board storage (eMMC).&lt;br /&gt;
&lt;br /&gt;
Follow the step-by-step procedure for a selected image:&lt;br /&gt;
&lt;br /&gt;
==Installing Yocto images onto UCM-iMX93 eMMC==&lt;br /&gt;
* Prepare a bootable SD card and use it to boot the system [[UCM-iMX93:_Yocto_Linux:_Manual_Installation:_SD_card|as described here]].&lt;br /&gt;
* [[UCM-iMX93:_Yocto_Linux:_Manual_Installation:_SD_card#Run%20Yocto%20Linux%20image|Run the Yocto Linux image]] that you intend to deploy.&lt;br /&gt;
* In the terminal window issue: &amp;lt;pre&amp;gt;cl-deploy&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Follow the steps below:&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
{| width=&amp;quot;60%&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Action''' &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Screenshot''' &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:Select installation target storage: on UCM-iMX93 on-board eMMC device is called '''mmcblk0'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_dst_choice.png|400px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:Be aware of the fact that all the data on the target storage will be erased&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_last_warning.png|400px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:While installation process is running the output screen shows the log and progress&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_process.png|400px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:When installation is complete, the following message will show up&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_finish.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Post installation==&lt;br /&gt;
* Reboot the module to boot the newly deployed system.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=File:Ucm-imx93_system-on-module.png&amp;diff=5160</id>
		<title>File:Ucm-imx93 system-on-module.png</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=File:Ucm-imx93_system-on-module.png&amp;diff=5160"/>
		<updated>2023-06-19T12:35:29Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Benjamin uploaded a new version of File:Ucm-imx93 system-on-module.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Building_UCM-iMX93_Yocto_images&amp;diff=5159</id>
		<title>UCM-iMX93: Yocto Linux: Building UCM-iMX93 Yocto images</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Building_UCM-iMX93_Yocto_images&amp;diff=5159"/>
		<updated>2023-06-19T11:58:48Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;= Overview = The Yocto Project is an open-source collaboration focused on embedded Linux development.&amp;lt;br&amp;gt; The purpose of this article is to show how to build a Yocto image for...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&amp;lt;br&amp;gt;&lt;br /&gt;
The purpose of this article is to show how to build a Yocto image for the UCM-iMX93 System-on-Module.&lt;br /&gt;
&lt;br /&gt;
= Host System Requirements =&lt;br /&gt;
To ensure optimal Yocto build speed and performance, it is recommended to use a host system with at least 4 CPU cores, 16GB RAM, and 500GB of free disk space.&amp;lt;br&amp;gt;&lt;br /&gt;
In addition, the system should have the option to open a large number of files simultaneously, preferably up to 4096 or higher.	&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.yoctoproject.org/docs/ Learn more about Yocto]&lt;br /&gt;
&lt;br /&gt;
= Docker Host for Yocto Build Environment =&lt;br /&gt;
There are often compatibility issues between different Linux distributions and the dependencies required for Yocto compilation.&amp;lt;br&amp;gt;&lt;br /&gt;
In order to avoid such issues and simplify the host machine configuration process, Compulab recommends using a pre-configured Docker environment.&amp;lt;br&amp;gt;&lt;br /&gt;
Please follow the instructions below&lt;br /&gt;
&lt;br /&gt;
[https://github.com/compulab-yokneam/yocker Setting up Yocto Build Docker Environment].&lt;br /&gt;
&lt;br /&gt;
= Building Yocto Images =&lt;br /&gt;
&lt;br /&gt;
Set up the Yocto build environment and build the image:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/compulab-yokneam/meta-bsp-imx9/blob/kirkstone-2.2.0/README.md Building UCM-iMX93 Yocto Linux images].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Known_Issues&amp;diff=5158</id>
		<title>UCM-iMX93: Yocto Linux: Known Issues</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Known_Issues&amp;diff=5158"/>
		<updated>2023-06-19T11:54:10Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;{{IssueCategory|Suspend/Resume| '''Description:''' :* SDIO bus driver prevents the system from going into suspend ''' Status:''' :* To be fixed in future software releases '''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{IssueCategory|Suspend/Resume|&lt;br /&gt;
'''Description:'''&lt;br /&gt;
:* SDIO bus driver prevents the system from going into suspend&lt;br /&gt;
''' Status:'''&lt;br /&gt;
:* To be fixed in future software releases&lt;br /&gt;
'''Workaround:'''&lt;br /&gt;
:* Remove SDIO WiFi and BT driver manually before suspending&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{IssueCategory|LCD backlight on SB-UCMIMX93|&lt;br /&gt;
'''Description:'''&lt;br /&gt;
:* Backlight brightness intensity cannot be controlled&lt;br /&gt;
''' Status:'''&lt;br /&gt;
:* To be fixed in future software releases&lt;br /&gt;
'''Workaround:'''&lt;br /&gt;
:* None&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Package_contents&amp;diff=5157</id>
		<title>UCM-iMX93: Yocto Linux: Package contents</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Package_contents&amp;diff=5157"/>
		<updated>2023-06-19T11:52:23Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;== Package contents ==  __NOTOC__ &amp;lt;pre&amp;gt; ucm-imx93_yocto-linux ├── bootloader │   └── imx-boot-tagged ├── development │   └── README.html ├─...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Package contents ==&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ucm-imx93_yocto-linux&lt;br /&gt;
├── bootloader&lt;br /&gt;
│   └── imx-boot-tagged&lt;br /&gt;
├── development&lt;br /&gt;
│   └── README.html&lt;br /&gt;
├── images&lt;br /&gt;
│   ├── imx-image-full-ucm-imx93.rootfs.wic.zst&lt;br /&gt;
│   └── imx-image-full-ucm-imx93.manifest&lt;br /&gt;
├── kernel&lt;br /&gt;
│   ├── dtb&lt;br /&gt;
│   │   ├── ucm-imx93.dtb&lt;br /&gt;
│   │   ├── ucm-imx93-headless.dtb&lt;br /&gt;
│   │   └── ucm-imx93-lvds.dtb&lt;br /&gt;
│   ├── Image-ucm-imx93&lt;br /&gt;
│   └── modules-ucm-imx93.tgz&lt;br /&gt;
└── version.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== development ===&lt;br /&gt;
Development documentation&lt;br /&gt;
&lt;br /&gt;
=== bootloader ===&lt;br /&gt;
* {{filename|imx-boot-tagged}} - NXP imx-boot bootloader; created as a part of the Yocto image; provided as and example (optional).&lt;br /&gt;
&lt;br /&gt;
=== images ===&lt;br /&gt;
* {{filename|imx-image-full-ucm-imx93.rootfs.wic.zst}} - SD card image that provides the full system to boot with U-Boot, Linux kernel, and Yocto file-system&lt;br /&gt;
* {{filename|imx-image-full-ucm-imx93.manifest}} - rootfs image manifest&lt;br /&gt;
&lt;br /&gt;
=== kernel ===&lt;br /&gt;
* {{filename|Image-ucm-imx93}} - ready to run Linux kernel for UCM-iMX93&lt;br /&gt;
* {{filename|modules-ucm-imx93.tgz}} - a modules archive, that matches the Linux kernel&lt;br /&gt;
* {{filename|dtb}} - Device tree blobs folder&lt;br /&gt;
** {{filename|ucm-imx93.dtb}} - default device tree blob for UCM-iMX93 evaluation board kit&lt;br /&gt;
** {{filename|ucm-imx93-lvds.dtb}} - device tree blob for UCM-iMX93 evaluation board kit with LVDS display support&lt;br /&gt;
** {{filename|ucm-imx93-headless.dtb}} - device tree blob for UCM-iMX93 evaluation board kit without display support&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_How-To_Guide&amp;diff=5156</id>
		<title>UCM-iMX93: Yocto Linux: How-To Guide</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_How-To_Guide&amp;diff=5156"/>
		<updated>2023-06-19T11:50:35Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;=Device Tree= == Available Device Tree Files == The current release includes the following '''dtb''' files: {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |- | align=&amp;quot;center&amp;quot; |...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Device Tree=&lt;br /&gt;
== Available Device Tree Files ==&lt;br /&gt;
The current release includes the following '''dtb''' files:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''DTB''' &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Hardware Configuration and Features'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Jumpers/Connectors Settings'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ucm-imx93.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration + mipi dsi display&lt;br /&gt;
| align=&amp;quot;&amp;quot; |P11/P12 mipi iface/touch is in use&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ucm-imx93-lvds.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration + lvds display &lt;br /&gt;
| align=&amp;quot;&amp;quot; |P7/P8 lvds iface/touch is in use&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ucm-imx93-headless.dtb&lt;br /&gt;
| align=&amp;quot;&amp;quot; |default hardware configuration w/out any display&lt;br /&gt;
| align=&amp;quot;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Set device tree==&lt;br /&gt;
The current release provides two methods to switch between dtb files:&lt;br /&gt;
* U-Boot environment&lt;br /&gt;
The U-boot '''fdtfile''' variable contains the device tree name that will be loaded into the RAM.&lt;br /&gt;
This variable can be changed by:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Environment''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Command''' &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |U-Boot&lt;br /&gt;
| align=&amp;quot;&amp;quot; |setenv fdtfile &amp;lt;fdt_file_name&amp;gt;; saveenv;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |Linux&lt;br /&gt;
| align=&amp;quot;&amp;quot; |fw_setenv fdtfile &amp;lt;fdt_file_name&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* GRUB environment (if the image was created with the meta-compulab-uefi layer)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Environment''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Command/Procedure''' &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |GRUB Boot Menu&lt;br /&gt;
| align=&amp;quot;&amp;quot; |Goto &amp;quot;Advanced Boot Options&amp;quot; and choose a device tree from the provided dtb list.&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |Linux&lt;br /&gt;
| align=&amp;quot;&amp;quot; |grub-editenv /boot/grub/grubenv set fdtfile=&amp;lt;fdt_file_name&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= USB =&lt;br /&gt;
UCM-IMX93 features two USB2.0 ports that are derived from the i.MX93 USB sub-system.&amp;lt;br&amp;gt;&lt;br /&gt;
On SB-UCMIMX93 evaluation carrier-board USB ports are available on the following connectors:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''USB port#''' &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''HW setting''' &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Connector''' &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Mode''' &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
| align=&amp;quot;&amp;quot; |'''P21''' is not used&lt;br /&gt;
| align=&amp;quot;&amp;quot; |type-A '''J5'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |host&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
| align=&amp;quot;&amp;quot; |'''P21''' connected to USB host&lt;br /&gt;
| align=&amp;quot;&amp;quot; |micro-USB '''P21'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |device&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
| align=&amp;quot;&amp;quot; |jumper '''E11''' is open&lt;br /&gt;
| align=&amp;quot;&amp;quot; |type-A '''J6'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |host&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
| align=&amp;quot;&amp;quot; |jumper '''E11''' is closed&lt;br /&gt;
| align=&amp;quot;&amp;quot; |mini-PCIe '''P18'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |host&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== USB #1 in device mode ==&lt;br /&gt;
USB #1 port can be operated in device mode when connected to a host machine using connector '''P21'''.&amp;lt;/br&amp;gt;&lt;br /&gt;
Available gadgets for the UBS #1 in device mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;&amp;quot;|'''USB gadget''' &lt;br /&gt;
|align=&amp;quot;&amp;quot;|'''SOM command'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;&amp;quot;|usb serial device&lt;br /&gt;
|align=&amp;quot;&amp;quot;|modprobe g_serial&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;&amp;quot;|usb network device&lt;br /&gt;
|align=&amp;quot;&amp;quot;|modprobe g_ether&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |usb mass storage device&lt;br /&gt;
| align=&amp;quot;&amp;quot; |modprobe g_mass_storage file=/dev/sdX&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Controller–area network (CAN)=&lt;br /&gt;
UCM-iMX93 features two Flexible Controller Area Network (FLEXCAN) modules.&lt;br /&gt;
SB-UCMIMX93 evaluation carrier-board exposes one CAN bus interface on connector '''J21'''.&lt;br /&gt;
&lt;br /&gt;
==CAN interface configuration==&lt;br /&gt;
It is recommended configure the CAN interface, with the {{filename|iproute2}} utilities.&lt;br /&gt;
&lt;br /&gt;
* To make sure the right '''ip''' utility is used, run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip -V&lt;br /&gt;
ip utility, iproute2-v5.7.0-77-gb687d1067169 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Configure both CAN interface bit-rate to 1 Mbit/sec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip link set can0 type can bitrate 1000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enable the CAN interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip link set can0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Send/Receive packets==&lt;br /&gt;
Use {{filename|cansend}} and {{filename|candump}} utilities to send and receive packets via CAN interface.&lt;br /&gt;
&lt;br /&gt;
* Send standard CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cansend can0 111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Send extended CAN frame (on the first device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cansend can0 11111111#1122334455667788&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* CAN frames (extended mode) generator, random payload, interval between two successive flames 50 msec:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cangen -g 50 -e -D r -v can0&lt;br /&gt;
&lt;br /&gt;
can: raw protocol (rev 20170425)&lt;br /&gt;
...&lt;br /&gt;
  can0  03FF0983#D7.61.FF.03.C1.F7.C1.34&lt;br /&gt;
  can0  19C34D32#F7.5A.C2.73.AD.0E.3F.0B&lt;br /&gt;
  can0  0675E391#2B.2D.D3.49&lt;br /&gt;
  can0  13091C55#99.32.EC.77.27.81.49.0B&lt;br /&gt;
  can0  098D67CF#22.50.AB.48.AD.7F.F4.26&lt;br /&gt;
  can0  05263FEC#1B.4C.02.45.6E&lt;br /&gt;
  can0  12B30E20#&lt;br /&gt;
  can0  1F193DF9#C5&lt;br /&gt;
  can0  1EB0B18F#3E.3F.DA.57.C2.FE.73.58&lt;br /&gt;
  can0  1E5C64D9#6F.0D.B3.63.6A&lt;br /&gt;
  can0  1E1DE3F9#96.48.AC.79.4E.00.27.71&lt;br /&gt;
  can0  0E1A11B7#75.81.70.7C.86.79.A7.77&lt;br /&gt;
  can0  05F8FD8B#33.F9.9B.1E.77.3D.1F&lt;br /&gt;
  can0  1E155FCD#E6.BA.F8.58.ED.6D.C8.10&lt;br /&gt;
  can0  1D91DF9E#5D.29.82.7B.97.1D.AB.5C&lt;br /&gt;
  can0  11FB3CDA#14.65.C3&lt;br /&gt;
  can0  091352C0#2C.ED&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Dump all received data frames as well as error frames (on the second device):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
candump any,0:0,#FFFFFFFF&lt;br /&gt;
&lt;br /&gt;
  can0  111   [8]  11 22 33 44 55 66 77 88&lt;br /&gt;
  can0  11111111   [8]  11 22 33 44 55 66 77 88&lt;br /&gt;
...&lt;br /&gt;
  can0  03FF0983   [8]  D7 61 FF 03 C1 F7 C1 34&lt;br /&gt;
  can0  19C34D32   [8]  F7 5A C2 73 AD 0E 3F 0B&lt;br /&gt;
  can0  0675E391   [4]  2B 2D D3 49&lt;br /&gt;
  can0  13091C55   [8]  99 32 EC 77 27 81 49 0B&lt;br /&gt;
  can0  098D67CF   [8]  22 50 AB 48 AD 7F F4 26&lt;br /&gt;
  can0  05263FEC   [5]  1B 4C 02 45 6E&lt;br /&gt;
  can0  12B30E20   [0] &lt;br /&gt;
  can0  1F193DF9   [1]  C5&lt;br /&gt;
  can0  1EB0B18F   [8]  3E 3F DA 57 C2 FE 73 58&lt;br /&gt;
  can0  1E5C64D9   [5]  6F 0D B3 63 6A&lt;br /&gt;
  can0  1E1DE3F9   [8]  96 48 AC 79 4E 00 27 71&lt;br /&gt;
  can0  0E1A11B7   [8]  75 81 70 7C 86 79 A7 77&lt;br /&gt;
  can0  05F8FD8B   [7]  33 F9 9B 1E 77 3D 1F&lt;br /&gt;
  can0  1E155FCD   [8]  E6 BA F8 58 ED 6D C8 10&lt;br /&gt;
  can0  1D91DF9E   [8]  5D 29 82 7B 97 1D AB 5C&lt;br /&gt;
  can0  11FB3CDA   [3]  14 65 C3&lt;br /&gt;
  can0  091352C0   [2]  2C ED&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WiFi =&lt;br /&gt;
UCM-iMX93 features 802.11ac wireless connectivity solution implemented with an NXP 88W8997 module.&amp;lt;br&amp;gt;&lt;br /&gt;
The [https://manpages.debian.org/stretch/network-manager/nmcli.1.en.html NetworkManager] can be used to manage WiFi interface.&lt;br /&gt;
{{Note|Before working with WiFi, please ensure that WiFi antenna is connected to the SOM.}}&lt;br /&gt;
&lt;br /&gt;
== Enable/Disable WiFi Interface ==&lt;br /&gt;
* To enable WiFi interface:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli radio wifi on&amp;lt;/pre&amp;gt;&lt;br /&gt;
* To disable WiFi interface:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli radio wifi off&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network Scanning ==&lt;br /&gt;
* Sample WiFi scanning:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli dev wifi list&amp;lt;/pre&amp;gt;&lt;br /&gt;
:The output will show the list of Access Points and Ad-Hoc cells in range.&lt;br /&gt;
&lt;br /&gt;
== Connecting to Access Point ==&lt;br /&gt;
In the following example:&lt;br /&gt;
* Replace &amp;lt;SSID&amp;gt; and &amp;lt;PASSWORD&amp;gt; with the actual access point parameters:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli device wifi connect &amp;lt;SSID&amp;gt; password &amp;lt;PASSWORD&amp;gt; name WifiCon&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disconnect wireless network:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli connection down WifiCon&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Connect wireless network again:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli connection up WifiCon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creating Access Point ==&lt;br /&gt;
In the following example:&lt;br /&gt;
* Replace &amp;lt;SSID&amp;gt; and &amp;lt;PASSWORD&amp;gt; with desired access point parameters:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli device wifi hotspot ssid &amp;lt;SSID&amp;gt; password &amp;lt;PASSWORD&amp;gt; con-name HotspotCon&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Disable wireless AP:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli connection down HotspotCon&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Enable wireless AP again:&lt;br /&gt;
:&amp;lt;pre&amp;gt;nmcli connection up HotspotCon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Bluetooth =&lt;br /&gt;
UCM-iMX93 features bluetooth connectivity solution implemented with an NXP 88W8997 module.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|Before working with Bluetooth, please ensure that Bluetooth antenna is connected to the SOM.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To start '''bluetoothctl''' use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bluetoothctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To start the scan process use the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[bluetooth]# default-agent&lt;br /&gt;
[bluetooth]# power on&lt;br /&gt;
[bluetooth]# scan on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bluetooth device should be turned on and visible. Its MAC-adress and name should appear in '''bluetoothctl''' in following format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[CHG] Device AA:BB:CC:DD:EE:FF Name: Device_Name&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To pair with the Bluetooth device use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pair AA:BB:CC:DD:EE:FF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where '''AA:BB:CC:DD:EE:FF''' is MAC-adress of the Bluetooth device.&lt;br /&gt;
&lt;br /&gt;
To quit '''bluetoothctl''' use the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Device_Name]# quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=Gstreamer=&lt;br /&gt;
Yocto Linux uses Gstreamer as a default multimedia framework. Here are some useful Gstreamer features:&lt;br /&gt;
&lt;br /&gt;
Execute the following command to check all the source options:&lt;br /&gt;
 gst-inspect-1.0 | grep source&lt;br /&gt;
&lt;br /&gt;
Execute the following command to check all the sink options:&lt;br /&gt;
 gst-inspect-1.0 | grep sink&lt;br /&gt;
&lt;br /&gt;
==Video Capturing==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
* hw: an ar1335 sensor is connected to either P47 (MIPI_CSI2) or P49+E18 (MIPI_CSI1) port&lt;br /&gt;
* sw: a correct device tree is in use:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Interface''' &lt;br /&gt;
| align=&amp;quot;&amp;quot; | '''Device Stree''' &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;&amp;quot; |MIPI_CSI1&lt;br /&gt;
| align=&amp;quot;&amp;quot; |ucm-imx93_mipi-csi1.dtb&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
* sw: the '''mxc-isi-cap''' is registered:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v4l2-ctl --list-devices&lt;br /&gt;
&lt;br /&gt;
 ():&lt;br /&gt;
        /dev/v4l-subdev0&lt;br /&gt;
&lt;br /&gt;
mxc-isi-cap (platform:32e00000.isi:cap_devic):&lt;br /&gt;
        /dev/video0&lt;br /&gt;
&lt;br /&gt;
FSL Capture Media Device (platform:mxc-md):&lt;br /&gt;
        /dev/media0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For hardware setup and camera connection instructions please refer to UCM-iMX93 Hardware Guide.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
The following commands should be used to start video capturing:&lt;br /&gt;
&lt;br /&gt;
* filesink&lt;br /&gt;
Write stream to a file. In this example the encoded output gets saved in the '''1.mov''' media file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720,format=NV12' ! vpuenc_h264 ! filesink location=/path/to/1.mov&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* waylandsink&lt;br /&gt;
Output to wayland surface.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720,format=NV12' ! waylandsink window-width=1280 window-height=720&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* autovideosink&lt;br /&gt;
Wrapper video sink for automatically detected video sink.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720,format=NV12' ! autovideosink&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Single Image Capturing&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gst-launch v4l2src num-buffers=1 ! jpegenc ! filesink location=single_buffer.jpg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Video streaming==&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
The following command should be executed on UCM-iMX93 to start video streaming:&lt;br /&gt;
 gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=640, height=480 ! jpegenc ! udpsink host='''127.0.0.1''' port='''1234'''&lt;br /&gt;
'''127.0.0.1''' is the IP address of the host PC, and '''1234''' is the host PC port.&lt;br /&gt;
&lt;br /&gt;
The following command should be executed on host PC (Linux) to receive the video stream:&lt;br /&gt;
 gst-launch-1.0 udpsrc port='''1234''' ! jpegdec ! autovideosink&lt;br /&gt;
'''1234''' is the host PC port.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Suspend / Resume=&lt;br /&gt;
{{note|The operation below requires '''root''' access.}}&lt;br /&gt;
&lt;br /&gt;
UCM-iMX93 features suspend mode, which allows to minimize power consumption. &lt;br /&gt;
&lt;br /&gt;
The following command should be used to enter suspend mode:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo mem &amp;gt;/sys/power/state&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To resume normal operation press shortly the '''Power On''' button '''SW5'''.&lt;br /&gt;
&lt;br /&gt;
=CPU temperature=&lt;br /&gt;
i.MX93 SoC features an internal temperature sensor which allows to measure the SoC temperature.&lt;br /&gt;
Execute the following command to read the current CPU temperature:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /sys/class/thermal/thermal_zone0/temp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= RTC =&lt;br /&gt;
UCM-iMX93 features two RTC devices:&lt;br /&gt;
* i.MX93 internal RTC ('''rtc0''') - can be used as wake-up source&lt;br /&gt;
* AB1805 external RTC ('''rtc1''') - can be used for low current battery powered time keeping&lt;br /&gt;
&lt;br /&gt;
== Internal RTC - rtc0 ==&lt;br /&gt;
* System information&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udevadm info -p /sys/class/rtc/rtc0&lt;br /&gt;
&lt;br /&gt;
P: /devices/platform/soc@0/44000000.bus/44440000.bbnsm/44440000.bbnsm:rtc/rtc/rtc0&lt;br /&gt;
N: rtc0&lt;br /&gt;
L: -100&lt;br /&gt;
S: rtc&lt;br /&gt;
E: DEVPATH=/devices/platform/soc@0/44000000.bus/44440000.bbnsm/44440000.bbnsm:rtc/rtc/rtc0&lt;br /&gt;
E: DEVNAME=/dev/rtc0&lt;br /&gt;
E: MAJOR=251&lt;br /&gt;
E: MINOR=0&lt;br /&gt;
E: SUBSYSTEM=rtc&lt;br /&gt;
E: USEC_INITIALIZED=14959708&lt;br /&gt;
E: DEVLINKS=/dev/rtc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wake up:&lt;br /&gt;
rtc0 can be used as a wake up source, as a result an '''rtcwakeup''' can be used with this device:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rtcwake --device /dev/rtc0 -s 5 -m mem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External RTC - rtc1 ==&lt;br /&gt;
* System information&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
udevadm info -p /sys/class/rtc/rtc1&lt;br /&gt;
&lt;br /&gt;
N: rtc1&lt;br /&gt;
L: 0&lt;br /&gt;
E: DEVPATH=/devices/platform/soc@0/44000000.bus/44340000.i2c/i2c-0/0-0069/rtc/rtc1&lt;br /&gt;
E: DEVNAME=/dev/rtc1&lt;br /&gt;
E: MAJOR=251&lt;br /&gt;
E: MINOR=1&lt;br /&gt;
E: SUBSYSTEM=rtc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set the date and write it into the RTC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
date -s &amp;quot;16 Jun 2023 12:00:00&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Fri 16 Jun 2023 12:00:00&lt;br /&gt;
hwclock --systohc --rtc /dev/rtc1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Read the RTC time and date:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hwclock --show --rtc /dev/rtc1&lt;br /&gt;
&lt;br /&gt;
2023-06-16 12:01:37.935876+00:00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[UCM-iMX93: Evaluation Kit: Getting Started | UCM-iMX93:Evaluation Kit: Getting Started]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Installing_Yocto_images_onto_UCM-iMX93_eMMC&amp;diff=5155</id>
		<title>UCM-iMX93: Yocto Linux: Installing Yocto images onto UCM-iMX93 eMMC</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Installing_Yocto_images_onto_UCM-iMX93_eMMC&amp;diff=5155"/>
		<updated>2023-06-19T11:49:36Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;Please use the `CompuLab Deployment Tool` to install UCM-iMX93 Yocto Linux onto on-board eMMC storage.  The `CompuLab Deployment Tool` is a shell script that allows to deploy...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please use the `CompuLab Deployment Tool` to install UCM-iMX93 Yocto Linux onto on-board eMMC storage.&lt;br /&gt;
&lt;br /&gt;
The `CompuLab Deployment Tool` is a shell script that allows to deploy a working OS image from micro-SD card to UCM-iMX93 on-board storage (eMMC).&lt;br /&gt;
&lt;br /&gt;
Follow the step-by-step procedure for a selected image:&lt;br /&gt;
&lt;br /&gt;
==Installing Yocto images onto UCM-iMX93 eMMC==&lt;br /&gt;
* Prepare a bootable SD card and use it to boot the system [[UCM-iMX93:_Yocto_Linux:_Manual_Installation:_SD_card|as described here]].&lt;br /&gt;
* [[UCM-iMX93:_Yocto_Linux:_Manual_Installation:_SD_card#Run%20Yocto%20Linux%20image|Run the Yocto Linux image]] that you intend to deploy.&lt;br /&gt;
* In the terminal window issue: &amp;lt;pre&amp;gt;cl-deploy&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Follow the steps below:&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
{| width=&amp;quot;60%&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Action''' &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | '''Screenshot''' &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:Select installation target storage: on UCM-iMX93 on-board eMMC device is called '''mmcblk2'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_dst_choice.png|400px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:Be aware of the fact that all the data on the target storage will be erased&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_last_warning.png|400px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:While installation process is running the output screen shows the log and progress&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_process.png|400px]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
:When installation is complete, the following message will show up&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[File:wayland_cl-deploy_finish.png|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Post installation==&lt;br /&gt;
* Reboot the module to boot the newly deployed system.&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Manual_Installation:_SD_card&amp;diff=5154</id>
		<title>UCM-iMX93: Yocto Linux: Manual Installation: SD card</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Yocto_Linux:_Manual_Installation:_SD_card&amp;diff=5154"/>
		<updated>2023-06-19T11:48:47Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;== Introduction == This article provides instructions needed to install the Yocto Linux SD-card image on SD card using a Linux Host workstation.  The image provides full boot...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This article provides instructions needed to install the Yocto Linux SD-card image on SD card using a Linux Host workstation. &lt;br /&gt;
The image provides full boot system including U-Boot, Linux kernel, device driver modules and example root filesystem.&lt;br /&gt;
&lt;br /&gt;
== Preparation steps ==&lt;br /&gt;
* Obtain a Linux PC workstation.&lt;br /&gt;
* Obtain a USB Card reader and an micro-SD Card. Any commercially available micro-SD card of 4GB (or larger) may be used for the installation.&lt;br /&gt;
* Download the UCM-iMX93 Yocto Linux package from [https://www.compulab.com/products/computer-on-modules/ucm-imx93-nxp-i-mx9-som-system-on-module-computer/#devres CompuLab website].&lt;br /&gt;
* Unzip the package to a directory on the host workstation. From now we assume the device name is {{filename|pakage_dir}}.&lt;br /&gt;
* The Yocto Linux SD-card image file, mentioned below, can be found in the {{filename|images}} subdirectory. &lt;br /&gt;
* Plug the USB SD Card reader into the host PC. Insert the micro-SD Card into the USB Card reader. From now we assume the device name of the MMC/SD card on your Linux PC is {{filename|/dev/sdX}}.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Flash the image file to the micro-SD card:&lt;br /&gt;
&amp;lt;pre&amp;gt;zstd -dc imx-image-full-ucm-imx93.wic.zst | sudo dd of=/dev/sdX bs=1M&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run Yocto Linux image ==&lt;br /&gt;
* Insert the micro-SD card into SD socket '''P15''' [[:File:UCM-iMX93-eval-kit-quick-setup.png|(see drawing)]]&lt;br /&gt;
* Connect a standard USB cable (included in the kit) between your host PC and the evaluation kit micro-USB2.0 connector '''P16''' [[:File:UCM-iMX93-eval-kit-quick-setup.png|(see drawing)]]&lt;br /&gt;
*: Use a terminal emulator as described [[UCM-iMX93:_Evaluation_Kit:_Getting_Started#System setup|here]]&lt;br /&gt;
* Press and hold the ALT_BOOT button ('''SW3''') and then reset / power-on the system to force boot from SD card [[:File:UCM-iMX93-eval-kit-quick-setup.png|(see drawing)]]. Release ALT_BOOT button after 2-3 seconds&lt;br /&gt;
* The system boots into Linux&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93_NXP_iMX93_Linux_Resources&amp;diff=5153</id>
		<title>UCM-iMX93 NXP iMX93 Linux Resources</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93_NXP_iMX93_Linux_Resources&amp;diff=5153"/>
		<updated>2023-06-19T11:47:26Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: Created page with &amp;quot;{{summary| This page contains links to information about Yocto Linux distribution for the CompuLab UCM-iMX93 ultra-compact System-on-Module / Computer-on-Module.&amp;lt;/br&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
This page contains links to information about Yocto Linux distribution for the CompuLab UCM-iMX93 ultra-compact System-on-Module / Computer-on-Module.&amp;lt;/br&amp;gt;                                                                                                                                                                                                                                                                                                                                                &lt;br /&gt;
The Yocto Project is an open-source collaboration focused on embedded Linux development.&lt;br /&gt;
&lt;br /&gt;
|Ucm-imx93 system-on-module.png|thumb}}&lt;br /&gt;
{{Resources Linux with app notes&lt;br /&gt;
|* [[UCM-iMX93: Evaluation Kit: Getting Started|Getting started with UCM-iMX93 Evaluation Kit]]&lt;br /&gt;
* [[UCM-iMX93: Evaluation Kit: Hardware Guide|Evaluation Kit hardware guide]]&lt;br /&gt;
* [[UCM-iMX93: Yocto Linux: Manual Installation: SD card|Installing Yocto on SD card]]&lt;br /&gt;
* [[UCM-iMX93: Yocto Linux: Installing Yocto images onto UCM-iMX93 eMMC| Installing Yocto onto UCM-iMX93 eMMC]]&lt;br /&gt;
* [[UCM-iMX93: Yocto Linux: How-To Guide|UCM-iMX93 Linux how-to guide]]&lt;br /&gt;
* [[UCM-iMX93: Yocto Linux: Package contents|Yocto Linux package contents]]&lt;br /&gt;
* [[UCM-iMX93: Yocto Linux: Known Issues|Known Issues]]&lt;br /&gt;
|* [[UCM-iMX93: Yocto Linux: Building UCM-iMX93 Yocto images|Building UCM-iMX93 Yocto Linux images]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx9/blob/kirkstone-2.2.0/Documentation/linux_kernel_build.md Building UCM-iMX93 Linux Kernel]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-bsp-imx9/blob/kirkstone-2.2.0/Documentation/imx_boot_image_build.md Building UCM-iMX93 boot firmware]&lt;br /&gt;
*[[Application Notes: Introduction to Yocto development|Introduction to Yocto development]]&lt;br /&gt;
*[[Application Notes: Making Changes to Yocto Meta-Layers|Making Changes to Yocto Meta-Layers]]&lt;br /&gt;
&amp;lt;!--*[[UCM-iMX93: U-Boot: Recovery|Firmware Recovery]]--&amp;gt;&lt;br /&gt;
|*[[Application Notes: Developing with Qt on CompuLab platforms|Developing with Qt on CompuLab platforms]]&lt;br /&gt;
*[[Application Notes: eMMC lifetime optimization|Optimizing eMMC lifetime and reliability]]&lt;br /&gt;
*[https://github.com/compulab-yokneam/meta-mender-compulab/blob/kirkstone-nxp/README.md Creating OTA update enabled images with Mender]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{ChangelogReleaseNotesRss| content=&lt;br /&gt;
===== 19-June-2023, UCM-iMX93 Yocto Linux release 1.0 =====&lt;br /&gt;
: Release of Yocto 4.2 (Kirkstone) for UCM-iMX93&lt;br /&gt;
: - Based on NXP release lf-5.15&lt;br /&gt;
: - Kernel 6.1.1&lt;br /&gt;
: - U-Boot 2022.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Basic support for UCM-iMX93&lt;br /&gt;
: - USB2.0 OTG Host/Device&lt;br /&gt;
: - Storage: eMMC, uSD, EEPROM&lt;br /&gt;
: - Ethernet (ENET_QOS)&lt;br /&gt;
: - WiFi (NXP 88W8997)&lt;br /&gt;
: - Bluetooth (NXP 88W8997)&lt;br /&gt;
: - CAN bus&lt;br /&gt;
: - LVDS display interface&lt;br /&gt;
: - MIPI-DSI display interface&lt;br /&gt;
: - Touch screen support&lt;br /&gt;
: - I2C, SPI&lt;br /&gt;
: - BBNSM RTC&lt;br /&gt;
: - RTC&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - CompuLab U-Boot Tool&lt;br /&gt;
: - fw_printenv/fw_setenv utilities&lt;br /&gt;
: - Chromium browser&lt;br /&gt;
: - Qt support&lt;br /&gt;
: Boot-loader features:&lt;br /&gt;
: - Supported boot-loader devices: SD, eMMC&lt;br /&gt;
: - Supported linux/rootfs devices: SD, eMMC, USB, NFS&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for UCM-iMX93&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Yocto]]&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93_NXP_iMX93_SW_Resources&amp;diff=5152</id>
		<title>UCM-iMX93 NXP iMX93 SW Resources</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93_NXP_iMX93_SW_Resources&amp;diff=5152"/>
		<updated>2023-06-19T11:46:01Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{summary|&lt;br /&gt;
UCM-iMX93 is an ultracompact computer-on-module (CoM) / system-on-module (SoM) board, designed for integration into embedded applications.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
UCM-iMX93 is based on the NXP i.MX93 application processor featuring a highly scalable dual core Cortex-A55 CPU running at up to 1.7GHz coupled with an integrated AI/ML neural processing unit.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
UCM-iMX93 is provided with comprehensive documentation and full ready-to-run SW support for Linux operating system.&amp;lt;br&amp;gt; &lt;br /&gt;
|Ucm-imx93 system-on-module.png|thumb}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: white; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot;  &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 125%; background-color: #eeeeee;&amp;quot; align=&amp;quot;center&amp;quot; width=&amp;quot;25%&amp;quot; | [[UCM-iMX93 NXP iMX93 Yocto Linux|Yocto Linux]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |  [[Image:Yocto-Logo1.png|200px|link=UCM-iMX93 NXP iMX93 Yocto Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{note|1=From time to time CompuLab releases new software versions for UCM-iMX93 in order to fix bugs, address component changes and add functionality. It is highly recommended to subscribe to the [[Image:Feed-icon.png|16px]] [{{fullurl:{{FULLPAGENAME}}|action=feed}} '''UCM-iMX93 RSS Feed'''] in order to receive automatic notifications about software updates.}}&lt;br /&gt;
&lt;br /&gt;
{{ChangelogReleaseNotesRss| content=&lt;br /&gt;
===== 19-June-2023, UCM-iMX93 Yocto Linux release 1.0 =====&lt;br /&gt;
: Release of Yocto 4.2 (Kirkstone) for UCM-iMX93&lt;br /&gt;
: - Based on NXP release lf-5.15&lt;br /&gt;
: - Kernel 6.1.1&lt;br /&gt;
: - U-Boot 2022.04&lt;br /&gt;
: Supported HW features:&lt;br /&gt;
: - Basic support for UCM-iMX93&lt;br /&gt;
: - USB2.0 OTG Host/Device&lt;br /&gt;
: - Storage: eMMC, uSD, EEPROM&lt;br /&gt;
: - Ethernet (ENET_QOS)&lt;br /&gt;
: - WiFi (NXP 88W8997)&lt;br /&gt;
: - Bluetooth (NXP 88W8997)&lt;br /&gt;
: - CAN bus&lt;br /&gt;
: - LVDS display interface&lt;br /&gt;
: - MIPI-DSI display interface&lt;br /&gt;
: - Touch screen support&lt;br /&gt;
: - I2C, SPI&lt;br /&gt;
: - BBNSM RTC&lt;br /&gt;
: - RTC&lt;br /&gt;
: SW Features:&lt;br /&gt;
: - CompuLab Deployment Tool&lt;br /&gt;
: - CompuLab U-Boot Tool&lt;br /&gt;
: - fw_printenv/fw_setenv utilities&lt;br /&gt;
: - Chromium browser&lt;br /&gt;
: - Qt support&lt;br /&gt;
: Boot-loader features:&lt;br /&gt;
: - Supported boot-loader devices: SD, eMMC&lt;br /&gt;
: - Supported linux/rootfs devices: SD, eMMC, USB, NFS&lt;br /&gt;
: Documentation:&lt;br /&gt;
: - Initial Yocto Linux documentation for UCM-iMX93&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=File:Ucm-imx93_system-on-module.png&amp;diff=5151</id>
		<title>File:Ucm-imx93 system-on-module.png</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=File:Ucm-imx93_system-on-module.png&amp;diff=5151"/>
		<updated>2023-06-19T11:44:09Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Main_Page&amp;diff=5150</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Main_Page&amp;diff=5150"/>
		<updated>2023-06-19T11:43:53Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== CompuLab System-on-Modules ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[UCM-iMX93 NXP iMX93 SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;UCM-iMX93&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CL-SOM-iMX8Plus NXP iMX8M-Plus SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CL-SOM-iMX8Plus&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[UCM-iMX8M-Plus NXP iMX8M-Plus SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;UCM-iMX8M-Plus&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX93, 1.7GHz&lt;br /&gt;
* 2x Cortex-A55&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Ucm-imx93 system-on-module.png|150px|link=UCM-iMX93 NXP iMX93 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M Plus, 1.8GHz&lt;br /&gt;
* 4x Cortex-A53&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:CL-SOM-iMX8Plus System-on-Module.jpg|150px|link=CL-SOM-iMX8Plus NXP iMX8M-Plus SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M Plus, 1.8GHz&lt;br /&gt;
* 4x Cortex-A53&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:UCM-iMX8M-Plus System-on-Module.png|150px|link=UCM-iMX8M-Plus NXP iMX8M-Plus SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[MCM-iMX8M-Mini NXP iMX8M-Mini SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;MCM-iMX8M-Mini&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[UCM-iMX8M-Mini NXP iMX8M-Mini SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;UCM-iMX8M-Mini&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CL-SOM-iMX8 NXP i.MX8M SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CL-SOM-iMX8&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-Mini 1.8GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux, Android&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:MCM-iMX8M-Mini SMD system-on-module.png|150px|link=MCM-iMX8M-Mini NXP iMX8M-Mini SW Resources]]&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-Mini 1.8GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux, Android&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:UCM-iMX8M-Mini System-on-Module.png|150px|link=UCM-iMX8M-Mini NXP iMX8M-Mini SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M 1.5GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux, Android&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cl-som-imx8_system-on-module.jpg|150px|link=CL-SOM-iMX8 NXP i.MX8M SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CL-SOM-iMX8X NXP iMX 8X SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CL-SOM-iMX8X&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CL-SOM-iMX7 Freescale i.MX7 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CL-SOM-iMX7&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX 8X, 1.2GHz&lt;br /&gt;
* Quad-core ARM Cortex-A35&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:cl-som-imx8x_system-on-module.jpg|150px|link=CL-SOM-iMX8X NXP iMX 8X SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX7 1GHz&lt;br /&gt;
* Dual-core ARM Cortex-A7&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cl-som-imx7-top.jpg|150px|link=CL-SOM-iMX7 Freescale i.MX7 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CompuLab IoT Gateways ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot;&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;IOT-GATE-IMX8PLUS&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-RPI4 SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;IOT-GATE-RPI4&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;IOT-GATE-iMX8&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-Plus 1.8GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Iot-gate-imx8plus.png|150px|link=IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Broadcom BCM2711 1.5GHz&lt;br /&gt;
* Quad-core ARM Cortex-A72&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Iot-gate-rpi4.png|150px|link=IOT-GATE-RPI4 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-Mini 1.8GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:iot-gate-imx8.png|150px|link=IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-iMX7 and SBC-IOT-iMX7 NXP i.MX7 SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;IOT-GATE-iMX7&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-RPi SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;IOT-GATE-RPi&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX7 1GHz&lt;br /&gt;
* Dual-core ARM Cortex-A7&lt;br /&gt;
* Linux &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Iot-gate-imx7.png|150px|link=IOT-GATE-iMX7 and SBC-IOT-iMX7 NXP i.MX7 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Broadcom BCM2837 1.2GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Iot-gate-rpi.png|150px|link=IOT-GATE-RPi SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CompuLab Single Board Computers ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;SBC-IOT-IMX8PLUS&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;SBC-IOT-iMX8&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[IOT-GATE-iMX7 and SBC-IOT-iMX7 NXP i.MX7 SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;SBC-IOT-iMX7&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-Plus 1.8GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Sbc-iot-imx8plus.png|150px|link=IOT-GATE-IMX8PLUS and SBC-IOT-IMX8PLUS SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX8M-Mini 1.8GHz&lt;br /&gt;
* Quad-core ARM Cortex-A53&lt;br /&gt;
* Linux &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Sbc-iot-imx8 single-board-computer.png|150px|link=IOT-GATE-iMX8 and SBC-IOT-iMX8 NXP iMX8M-Mini SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX7 1GHz&lt;br /&gt;
* Dual-core ARM Cortex-A7&lt;br /&gt;
* Linux &lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Sbc-iot-imx7 single board computer.png|150px|link=IOT-GATE-iMX7 and SBC-IOT-iMX7 NXP i.MX7 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CompuLab COM Express Modules ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[COMEX-IC60U Intel Kaby Lake COM Express SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;COMEX-IC60U&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[COMEX-IE38M Intel BayTrail COM Express SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;COMEX-IE38M&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[COMEX-IE38 Intel BayTrail COM Express SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;COMEX-IE38&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel 7th Gen. Core i7/i5/i3, up-to 2.8GHz&lt;br /&gt;
* COM Express Compact Type 6&lt;br /&gt;
* Windows, Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Comex-ic60u-top.jpg|150px|link=COMEX-IC60U Intel Kaby Lake COM Express SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel Atom E3800, 2GHz &lt;br /&gt;
* COM Express Mini Type 10&lt;br /&gt;
* Windows, Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Comex-ie38m-top.jpg|150px|link=COMEX-IE38M Intel BayTrail COM Express SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel Atom E3800, 2GHz &lt;br /&gt;
* COM Express Mini Type 10&lt;br /&gt;
* Windows, Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Comex-ie38-top.jpg|150px|link=COMEX-IE38 Intel BayTrail COM Express SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[COMEX-IC50L Intel Broadwell COM Express SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;COMEX-IC50L&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel 5th Gen. Core i7/i5/i3&lt;br /&gt;
* COM Express Compact Type 6&lt;br /&gt;
* Windows, Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Comex-ic50l-top.jpg|150px|link=COMEX-IC50L Intel Broadwell COM Express SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CompuLab Legacy Products ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; cellspacing=&amp;quot;3&amp;quot; cellpadding=&amp;quot;10&amp;quot; &lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CL-SOM-iMX6 NXP i.MX6 SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CL-SOM-iMX6&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CL-SOM-iMX6UL Freescale i.MX6UL SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CL-SOM-iMX6UL&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CL-SOM-AM57x TI AM57x SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CL-SOM-AM57x&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX6 Plus 1.2GHz&lt;br /&gt;
* Quad-core ARM Cortex-A9&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cl-som-imx6-top.jpg|150px|link=CL-SOM-iMX6 NXP i.MX6 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX6 UltraLite 528MHz&lt;br /&gt;
* ARM Cortex-A7&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Som-imx6ul-top.jpg|150px|link=CL-SOM-iMX6UL Freescale i.MX6UL SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI AM57x 1.5GHz&lt;br /&gt;
* Dual-core ARM Cortex-A15 &lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cl-som-am57x-top.png|150px|link=CL-SOM-AM57x TI AM57x SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-T43 TI AM437x SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-T43&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-T335 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-T335&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-FX6 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-FX6&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI AM437x 1GHz&lt;br /&gt;
* ARM Cortex-A9 &lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cm-t43-top.jpg|150px|link=CM-T43 TI AM437x SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI AM335x 600MHz&lt;br /&gt;
* ARM Cortex-A8 &lt;br /&gt;
* Linux, Android, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:cm-t335-top.jpg|150px|link=CM-T335 TI AM335x SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* NXP i.MX6 1.2GHz&lt;br /&gt;
* Quad-core ARM Cortex-A9&lt;br /&gt;
* Linux, Android, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cm-fx6-top.jpg|150px|link=CM-FX6 Freescale i.MX6 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-T3730 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-T3730&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-T3517 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-T3517&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-T3530 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-T3530&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI DM3730 1GHz&lt;br /&gt;
* ARM Cortex-A8&lt;br /&gt;
* Linux, Android, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:T3730-cm-top-m.jpg|150px|link=CM-T3730 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI AM3517 600MHz&lt;br /&gt;
* ARM Cortex-A8&lt;br /&gt;
* Linux, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:cm-t3517.jpg|150px|link=CM-T3517 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI OMAP3530 720MHz&lt;br /&gt;
* ARM Cortex-A8&lt;br /&gt;
* Linux, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:T35_CM_top.JPG|150px|link=CM-T3530 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[SBC-iBT Intel BayTrail SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;SBC-iBT&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[COMEX-A420 AMD G-Series COM Express SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;COMEX-A420&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[COMEX-IC40D Intel Haswell COM Express SW Resources|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;COMEX-IC40D&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel Atom E3800, 2GHz &lt;br /&gt;
* Quad-core x86&lt;br /&gt;
* Windows, Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Sbc-ibt single board computer.png|150px|link=SBC-iBT Intel BayTrail SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* AMD G-Series, 1.2GHz&lt;br /&gt;
* COM Express Mini Type 10&lt;br /&gt;
* Windows, Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Comex-a420-top.jpg|150px|link=COMEX-A420 AMD G-Series COM Express SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel 4th Gen. Core i7/i5/i3 &lt;br /&gt;
* COM Express Basic Type 6&lt;br /&gt;
* Windows, Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Comex-ic40d-top.jpg|150px|link=COMEX-IC40D Intel Haswell COM Express SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-QS600 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-QS600&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-T54 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-T54&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-iGT SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-iGT&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Qualcomm APQ8064, 1.7GHz&lt;br /&gt;
* Quad-core Krait 300&lt;br /&gt;
* Linux, Android&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cm-qs600-top.jpg|150px|link=CM-QS600 Qualcomm Snapdragon 600 APQ8064 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI OMAP5432 1.5GHz&lt;br /&gt;
* Dual-core ARM Cortex-A15 &lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cm-t54-top.jpg|150px|link=CM-T54 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* AMD G-Series 1.65GHz&lt;br /&gt;
* Dual-core x86&lt;br /&gt;
* Linux, Windows&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cm-igt-top-m.jpg|150px|link=CM-iGT SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-iTC SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-iTC&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-A510 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-A510&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-X300 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-X300&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel Atom E680 1.6GHz&lt;br /&gt;
* Single-core x86&lt;br /&gt;
* Linux, Windows&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:itc-cm-top-m.jpg|150px|link=CM-iTC SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Marvell Armada 510 800MHz&lt;br /&gt;
* ARM Cortex-A8&lt;br /&gt;
* Linux&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:A510_CM_top_hq.JPG|150px|link=CM-A510 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Marvell PXA310 624MHz&lt;br /&gt;
* ARM XScale&lt;br /&gt;
* Linux, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:X300-cm-top-m.jpg|150px|link=CM-X300 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-iAM SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-iAM&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[EM-T3530 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;EM-T3530&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-iGLX SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-iGLX&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel Atom Z530, 1.6GHz&lt;br /&gt;
* Single-core x86&lt;br /&gt;
* Linux, Windows&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Cm-iam-top.jpg|150px|link=CM-iAM_SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* TI OMAP3530, 720MHz&lt;br /&gt;
* ARM Cortex-A8 &lt;br /&gt;
* Linux, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:EM-T3530.png|200px|link=EM-T3530 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* AMD Geode LX800, 500MHz&lt;br /&gt;
* Single-core x86&lt;br /&gt;
* Linux, Windows, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:Iglx-cm-top-m.jpg|150px|link=CM-iGLX SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|- style=&amp;quot;line-height: 120%; border-bottom: 1px solid #aaaaaa; font-size: 120%; background-color: #34467F;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[EM-X270 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;EM-X270&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[CM-X270 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;CM-X270&amp;lt;/span&amp;gt;]]&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[SBC-FITPC2 SW Resources| &amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;SBC-FITPC2&amp;lt;/span&amp;gt;]]&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Marvell PXA270, 520MHz&lt;br /&gt;
* ARM XScale&lt;br /&gt;
* Linux, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:EM-X270-bottom.png|200px|link=EM-X270 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Marvell PXA270, 520MHz&lt;br /&gt;
* ARM XScale&lt;br /&gt;
* Linux, WinCE&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:X270-cm-l-top-m.jpg|150px|link=CM-X270 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
| style=&amp;quot;width: 33%;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;  align=&amp;quot;center&amp;quot; border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: 110%; background-color: #eeeeee;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&lt;br /&gt;
* Intel Atom Z530&lt;br /&gt;
* Single-core x86&lt;br /&gt;
* Linux, Windows&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | [[Image:SBC-FITPC2.png|200px|link=SBC-FITPC2 SW Resources]]&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Evaluation_Kit:_Getting_Started&amp;diff=5149</id>
		<title>UCM-iMX93: Evaluation Kit: Getting Started</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=UCM-iMX93:_Evaluation_Kit:_Getting_Started&amp;diff=5149"/>
		<updated>2023-06-19T10:26:22Z</updated>

		<summary type="html">&lt;p&gt;Benjamin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:UCM-iMX93-eval-kit-quick-setup.png|frameless|top|1500px|link=]]&lt;br /&gt;
&lt;br /&gt;
== Package content ==&lt;br /&gt;
&lt;br /&gt;
[https://www.compulab.com/wp-content/uploads/2023/06/ucm-imx93_eval-kit-content.pdf Package content list]&lt;br /&gt;
&lt;br /&gt;
== System setup ==&lt;br /&gt;
UCM-iMX93 evaluation kit is preloaded with the UCM-iMX93 Yocto Linux image.&lt;br /&gt;
# Make sure jumper '''E9''' is populated (default state).&lt;br /&gt;
# Make sure jumpers '''E2''' and '''E7''' are not populated (default state).&lt;br /&gt;
# Connect the LCD panel (included in the kit) to connectors '''P11''' and '''P12'''. Ensure that the flat cables are fully inserted.&lt;br /&gt;
# Connect a standard USB cable (included in the kit) between your host PC and the evaluation kit micro-USB2.0 connector '''P16'''.&lt;br /&gt;
# On your computer, start a terminal emulation program (such as Tera Term or PuTTy) with the following serial port settings:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
{{:SB-SOM: serial port parameters table}}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Starting the system ==&lt;br /&gt;
# Connect the DC 12V power supply adapter (included) to main DC power connector '''J4'''.&lt;br /&gt;
# Follow the messages in your terminal emulator program until you see the linux shell command line prompt. &lt;br /&gt;
{{note|In case no messages appear in your terminal emulation program, please refer to the detailed [[SB-UCM-iMX8: HOWTO: USB Console|USB console]] guide.}}&lt;br /&gt;
&lt;br /&gt;
== What's Next? ==&lt;br /&gt;
* [https://www.compulab.com/products/computer-on-modules/ucm-imx93-nxp-i-mx9-som-system-on-module-computer/#devres UCM-iMX93 development resources]&lt;br /&gt;
&lt;br /&gt;
[[Category:UCM-iMX93]]&lt;/div&gt;</summary>
		<author><name>Benjamin</name></author>
		
	</entry>
</feed>