40-Pin I/O Headers Utility on I-Pi SMARC IMX8M Plus This document provides detailed instructions for utilizing the 40-Pin I/O Headers on I-Pi SMARC IMX8M Plus. Prerequisites GPIO libraries are included with our image by default. Power up the targeted device with all the necessary cables such as HDMI, keyboard, mouse and ethernet cable. Linux Host1. Getting Started Install “hexer” for editing the binary files. sudo apt install hexer Install “i2c-tools”. sudo apt install i2c-tools Enter into the terminal as a root user using the below command, su root Note: All the commands require administrator privileges and run as root user. 2. Utilizing the Pin Headers with Linux2.1 Voltage Monitor Open the terminal type the following command, cd /sys/class/regulator To get the hardware monitor input voltage and get the respective voltage description cat <regulator index>/microvolts cat <regulator index>/name In the example below, user is reading the voltage and description of id 1 cat regulator.1/microvolts cat regulator.1/name 2.2 GPIO Open the terminal type the following command, cd /sys/class/gpio To export the GPIO pin echo N > export (N should replace with gpio chip base number) In below example 497 is the gpio chip base number for pin-7 in IMX8MP. Ex: echo 497 > export To read the direction of a pin cat gpio497/direction To write the direction of a pin echo in > gpio497/direction To read the value of a pin cat gpio497/value To write the value of a pin echo 1 > gpio497/value 2.2.1 GPIO Pin Configurations On CN1001 expansion connector E_GPIO and S_GPIO is available. These GPIO pins are mapped by to following numbers: S_GPIO(MRAA) numbers are: pin7 - 497 pin11 - 499 pin12 - 498 pin13 - 500 pin15 - 501 E_GPIO(MRAA) numbers are: pin29 - 461 pin31 - 462 pin32 - 463 pin33 - 464 pin35 - 465 pin36 - 466 pin37 - 467 pin38 - 468 pin40 - 469 2.3 Storage To read the storage area, hexdump /sys/bus/nvmem/devices//nvmem For example: hexdump /sys/bus/nvmem/devices/imx-octp0/nvmem To write the storage area hexer /sys/bus/nvmem/devices//nvmem For example: hexer /sys/bus/nvmem/devices/imx-octp0/nvmem Hexer will open a nvmem file in editor mode. To edit the data press r (replace) and enter new data then press ESC key and :wq to save. Then read the same file using hexdump to check saved changes. 2.4 Backlight Open the terminal type the following command, cd /sys/class/backlight To Set the current Backlight Enable State to either ON / OFF echo > lvds_backlight/bl_power For Example, To enable the backlight, echo 1 > lvds_backlight/bl_power To Disable the backlight, echo 0 > lvds_backlight/bl_power To get the current Backlight Brightness level cat lvds_backlight/actual_brightness To Set the current Backlight brightness level echo <level> > lvds_backlight/brightness For Example, to set the brightness level of 78, echo 78 > lvds_backlight/brightness