Summary:
Looking for support for DART-MX8M-MINI on Hardware Rev 2.0 of the Variscite eval kit:
- Balena currently provides the .dtb file for H/W Rev 1.x of VAR-DT8MCustomBoard
- We need the .dtb for H/W Rev 2.0 of VAR-DT8MCustomBoard
We have the schematic for H/W Rev 2.0, which was created on March 1, 2021, but I cannot find it on the Variscite website (maybe they haven’t posted it yet).
I tried to toggle the 4 LEDs and read the 4 push buttons. The reasons I think we need a different DTB for Rev 2.0 are:
- (T1) Running BalenaOS on Rev 1.x, it works.
- (T2) Running BalenaOS on Rev 2.0, it doesn’t work.
- (T3) Running the Variscite image on Rev 2.0, it works.
My questions are:
- Q1. Will Balena be providing support for this “NEWer” MX8M-Mini [Balena already calls this “MX8M-Mini (NEW)” ]
- Q2. If not, maybe I need to setup a whole Yocto environment and add meta-balena and meta-variscite, but perhaps there is a faster/better way?
Here is what I tried:
- M1. I tried manually copying the DTB file from the Variscite image on Rev 2.0 to the BalenaOS image on Rev 2.0 and renaming it to the expected one, but it seems that BalenaOS detects that I have changed the rootfs on the eMMC and somehow re-loads the old DTB.
- M2. I also tried manually copying the DTB file to the Balena micro SD-card and renaming it, but I think this only takes effect when I boot from the SD, but as soon as Balena flashes the eMMC, it does so with a pre-canned image which contains the old DTB.
Any help would be greatly appreciated!
Details
We designed our custom board based on the Variscite eval kit (hardware v2.0) for the DART-MX8M-MINI . The eval kits have the following model numbers:
Starter kit : VAR-STK-DT8M-MINI_LO
Development kit: VAR-DVK-DT8M-MINI_LO
The only difference between the above two is that the DVK comes with a touch screen.
The VAR-DVK-DT8M-MINI_LO eval kit consists of the following:
- VAR-DT8MCustomBoard (this is the carrier board)
- DART-MX8M-MINI (this is the SOM - System On Module)
For the sake of this discussion, let’s call our custom board the AMCU, to distinguish it from what Variscite calls their custom board or carrier board.
- In 2021, we ordered 4 x VAR-DVK-DT8M-MINI_LO, which I believe is based on v2.0 of VAR-DT8MCustomBoard
- In 2019, we ordered 1 x VAR-STK-DT8MM-MINI_LO, which I believe is based on v1.x of VAR-DT8MCustomBoard
The model number in (2) above is not a typo (“MM”), but it no longer exists on the Variscite website.
We have not yet tested with the AMCU. The tests I have done are summarized above.
Also, here is the output of some commands, which show that the gpio allocation is different because of the incorrect DTB file:
(T1) BalenaOS on Rev 1.x [works]
root@8e7bfb8:~# uname -a
Linux 8e7bfb8 4.19.35-imx8mm #1 SMP PREEMPT Mon Mar 8 18:35:00 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
root@8e7bfb8:~# ls -lF /boot
total 21036
-rw-r--r-- 1 root root 10497504 Mar 8 18:39 Image.gz
-rw-r--r-- 1 root root 42529 Feb 25 16:26 fsl-imx8mm-var-dart-m4.dtb
-rw-r--r-- 1 root root 42395 Feb 25 16:26 fsl-imx8mm-var-dart.dtb
-rw-r--r-- 1 root root 42893 Feb 25 16:26 fsl-imx8mm-var-som-m4.dtb
-rw-r--r-- 1 root root 43170 Feb 25 16:26 fsl-imx8mm-var-som-rev10-m4.dtb
-rw-r--r-- 1 root root 43036 Feb 25 16:26 fsl-imx8mm-var-som-rev10.dtb
-rw-r--r-- 1 root root 42759 Feb 25 16:26 fsl-imx8mm-var-som.dtb
-rw-r--r-- 1 root root 1053528 Mar 9 18:14 imx-boot-imx8mm-var-dart-sd.bin-flash_lpddr4_ddr4_evk
-rwxr-xr-x 1 root root 9914280 Feb 25 16:14 init*
-rw-r--r-- 1 root root 9 Mar 8 16:07 storage-driver
root@8e7bfb8:~# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/30200000.gpio, 30200000.gpio:
gpio-7 ( |eth_phy_pwr ) out lo
gpio-9 ( |phy-reset ) out hi
gpio-12 ( |spi_imx ) out hi
gpiochip1: GPIOs 32-63, parent: platform/30210000.gpio, 30210000.gpio:
gpio-38 ( |sysfs ) out hi
gpio-39 ( |sysfs ) out hi
gpio-42 ( |sysfs ) out hi
gpio-44 ( |cd ) in hi IRQ
gpio-51 ( |VSD_3V3 ) out lo
gpio-52 ( |sysfs ) out lo
gpiochip2: GPIOs 64-95, parent: platform/30220000.gpio, 30220000.gpio:
gpiochip3: GPIOs 96-127, parent: platform/30230000.gpio, 30230000.gpio:
gpio-102 ( |Back ) in hi IRQ
gpio-109 ( |Home ) in hi IRQ
gpio-111 ( |Down ) in hi IRQ
gpio-113 ( |eMMC ) out lo
gpio-114 ( |Up ) in hi IRQ
gpiochip4: GPIOs 128-159, parent: platform/30240000.gpio, 30240000.gpio:
gpio-133 ( |sysfs ) out lo
gpio-137 ( |spi_imx ) out hi
root@8e7bfb8:~#
(T2) BalenaOS on Rev 2.0 [does NOT work]
root@8d6111f:~# uname -a
Linux 8d6111f 4.19.35-imx8mm #1 SMP PREEMPT Mon Mar 8 18:35:00 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
root@8d6111f:~# ls -lF /boot
total 21036
-rw-r--r-- 1 root root 10497504 Mar 8 18:39 Image.gz
-rw-r--r-- 1 root root 42529 Feb 25 16:26 fsl-imx8mm-var-dart-m4.dtb
-rw-r--r-- 1 root root 42395 Feb 25 16:26 fsl-imx8mm-var-dart.dtb
-rw-r--r-- 1 root root 42893 Feb 25 16:26 fsl-imx8mm-var-som-m4.dtb
-rw-r--r-- 1 root root 43170 Feb 25 16:26 fsl-imx8mm-var-som-rev10-m4.dtb
-rw-r--r-- 1 root root 43036 Feb 25 16:26 fsl-imx8mm-var-som-rev10.dtb
-rw-r--r-- 1 root root 42759 Feb 25 16:26 fsl-imx8mm-var-som.dtb
-rw-r--r-- 1 root root 1053528 Mar 9 18:14 imx-boot-imx8mm-var-dart-sd.bin-flash_lpddr4_ddr4_evk
-rwxr-xr-x 1 root root 9914280 Feb 25 16:14 init*
-rw-r--r-- 1 root root 9 Mar 8 16:07 storage-driver
root@8d6111f:~# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/30200000.gpio, 30200000.gpio:
gpio-7 ( |eth_phy_pwr ) out lo
gpio-9 ( |phy-reset ) out hi
gpio-12 ( |spi_imx ) out hi
gpiochip1: GPIOs 32-63, parent: platform/30210000.gpio, 30210000.gpio:
gpio-38 ( |sysfs ) out hi
gpio-39 ( |sysfs ) out hi
gpio-42 ( |sysfs ) out hi
gpio-43 ( |enable ) out hi
gpio-44 ( |cd ) in hi IRQ
gpio-51 ( |VSD_3V3 ) out lo
gpio-52 ( |sysfs ) out lo
gpiochip2: GPIOs 64-95, parent: platform/30220000.gpio, 30220000.gpio:
gpiochip3: GPIOs 96-127, parent: platform/30230000.gpio, 30230000.gpio:
gpio-102 ( |Back ) in hi IRQ
gpio-109 ( |Home ) in hi IRQ
gpio-111 ( |Down ) in hi IRQ
gpio-113 ( |eMMC ) out lo
gpio-114 ( |Up ) in hi IRQ
gpiochip4: GPIOs 128-159, parent: platform/30240000.gpio, 30240000.gpio:
gpio-133 ( |sysfs ) out lo
gpio-137 ( |spi_imx ) out hi
gpiochip5: GPIOs 510-511, parent: spi/spi0.1, spi0.1, can sleep:
root@8d6111f:~#
(T3) Variscite image on Rev 2.0 [works]
root@imx8mm-var-dart:~# uname -a
Linux imx8mm-var-dart 5.4.85+g1c7a21268ceb #1 SMP PREEMPT Wed Feb 17 10:23:40 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
root@imx8mm-var-dart:~# ls -lF /boot
total 7400
lrwxrwxrwx 1 root root 29 Mar 9 2018 Image.gz -> Image.gz-5.4.85+g1c7a21268ceb
-rw-r--r-- 1 root root 6026639 Mar 9 2018 Image.gz-5.4.85+g1c7a21268ceb
-rw-r--r-- 1 root root 46293 Mar 9 2018 imx8mm-var-dart-dt8mcustomboard-legacy-m4.dtb
-rw-r--r-- 1 root root 45520 Mar 9 2018 imx8mm-var-dart-dt8mcustomboard-legacy.dtb
-rw-r--r-- 1 root root 46455 Mar 9 2018 imx8mm-var-dart-dt8mcustomboard-m4.dtb
-rw-r--r-- 1 root root 45682 Mar 9 2018 imx8mm-var-dart-dt8mcustomboard.dtb
-rw-r--r-- 1 root root 46450 Mar 9 2018 imx8mm-var-som-symphony-legacy-m4.dtb
-rw-r--r-- 1 root root 45677 Mar 9 2018 imx8mm-var-som-symphony-legacy.dtb
-rw-r--r-- 1 root root 46493 Mar 9 2018 imx8mm-var-som-symphony-m4.dtb
-rw-r--r-- 1 root root 45724 Mar 9 2018 imx8mm-var-som-symphony.dtb
-rw-r--r-- 1 root root 1152054 Mar 9 2018 splash.bmp
root@imx8mm-var-dart:~# cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-31, parent: platform/30200000.gpio, 30200000.gpio:
gpio-3 ( |ads7846_pendown ) in hi IRQ
gpio-7 ( |regulator-eth-phy ) out lo ACTIVE LOW
gpio-9 ( |phy-reset ) out hi
gpio-10 ( |id ) in hi IRQ
gpio-12 ( |spi_imx ) out hi
gpiochip1: GPIOs 32-63, parent: platform/30210000.gpio, 30210000.gpio:
gpio-38 ( |sysfs ) out hi
gpio-39 ( |sysfs ) out hi
gpio-42 ( |sysfs ) out hi
gpio-43 ( |enable ) out hi
gpio-44 ( |cd ) in hi IRQ ACTIVE LOW
gpio-51 ( |regulator-usdhc2 ) out lo
gpio-52 ( |sysfs ) out lo
gpiochip2: GPIOs 64-95, parent: platform/30220000.gpio, 30220000.gpio:
gpiochip3: GPIOs 96-127, parent: platform/30230000.gpio, 30230000.gpio:
gpio-114 ( |eMMC ) out lo
gpio-118 ( |spi_imx ) out hi
gpiochip4: GPIOs 128-159, parent: platform/30240000.gpio, 30240000.gpio:
gpio-132 ( |microchip,rx-int ) in lo ACTIVE LOW
gpio-133 ( |sysfs ) out lo
gpio-137 ( |spi_imx ) out hi
gpio-142 ( |scl ) out hi
gpio-143 ( |sda ) in hi
gpio-144 ( |scl ) out hi
gpio-145 ( |sda ) in hi
gpio-146 ( |scl ) out hi
gpio-147 ( |sda ) in hi
gpio-148 ( |scl ) out hi
gpio-149 ( |sda ) in hi
gpiochip6: GPIOs 496-503, parent: i2c/3-0021, 3-0021, can sleep:
gpiochip5: GPIOs 504-511, parent: i2c/3-0020, 3-0020, can sleep:
gpio-508 ( |Home ) in hi IRQ ACTIVE LOW
gpio-509 ( |Up ) in hi IRQ ACTIVE LOW
gpio-510 ( |Down ) in hi IRQ ACTIVE LOW
gpio-511 ( |Back ) in hi IRQ ACTIVE LOW
root@imx8mm-var-dart:~#