Use PiTFT or other SPI LCD Display with NPi i.MX6ULL Dev Board

Hello all,

I am hoping to get some assistance. I am currently working with the NPi i.MX6ULL Dev Board. I also have one of these 3.5" PiTFT screens. I was hoping that I could pair these two together; however, I am running into issues with following the SPI section on the wiki.

The link: github…/Seeed-Studio/seeed-linux-dtoverlays

when I follow this guide, I eventually hit a wall.

root@npi:~/seeed-linux-dtoverlays# sudo make install_imx6ull
mkdir -p /lib/firmware/
cp -v overlays/imx6ull/.dtbo /lib/firmware/
cp: cannot stat 'overlays/imx6ull/
.dtbo’: No such file or directory
make[1]: *** [Makefile:217: install_arch] Error 1
make: *** [Makefile:159: install_imx6ull] Error 2

Basically I need help with one of two things:

Is this PiTFT going to be usable on the NPi board? I imagine I can just run it as an SPI based LCD screen. If that is the case, why am I getting the error when I run the ‘sudo make install_imx6ull’ command for the SPI repo?

Obviously the output here is not consistent with the source code.

cp -v overlays/imx6ull/.dtbo /lib/firmware/

It should be cp -v overlays/imx6ull/*.dtbo /lib/firmware/

Hmm… I will have to follow the steps again found in the tutorial and see if I get a different result. I will post my finding in a short wile.

@Baozhu

So it appears that after the posting of this topic, the instructions on the page have changed.

I am unable to run this command: apt install -y make git device-tree-compiler linux-headers-$(uname -r) gcc
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package linux-headers-4.19.71-imx-r1
E: Couldn’t find any package by glob ‘linux-headers-4.19.71-imx-r1’
E: Couldn’t find any package by regex ‘linux-headers-4.19.71-imx-r1’

Not really sure what I am doing wrong here. Maybe I am missing a dependency?

So I tried to remove the rest of the -imx-r1 tags on the linux version to pick up just the files I think I might need. It doesn’t look like there is a host file yet for the device-tree-compiler for -imx-r1 yet.

root@npi:~/seeed-linux-dtoverlays# apt install -y make git **device-tree-compiler linux-headers-4.19.71**  gcc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'linux-headers-4.19.71-bone38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-armv7-rt-x38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-armv7-lpae-x38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-armv7-x38' for regex 'linux-headers-4.19.71'
Note, selecting 'linux-headers-4.19.71-bone-rt-r38' for regex 'linux-headers-4.19.71'
device-tree-compiler is already the newest version (1.4.7-3).
gcc is already the newest version (4:8.3.0-1).
gcc set to manually installed.
git is already the newest version (1:2.20.1-2+deb10u3).
make is already the newest version (4.2.1-1.2).
make set to manually installed.
The following NEW packages will be installed:
  linux-headers-4.19.71-armv7-lpae-x38 linux-headers-4.19.71-armv7-rt-x38
  linux-headers-4.19.71-armv7-x38 linux-headers-4.19.71-bone-rt-r38
  linux-headers-4.19.71-bone38
0 upgraded, 5 newly installed, 0 to remove and 11 not upgraded.
Need to get 54.9 MB of archives.
After this operation, 372 MB of additional disk space will be used.

It is still broken however, when I try to run the make command.

make[1]: *** /lib/modules/4.19.71-imx-r1/build: No such file or directory. Stop.
make: *** [Makefile:151: all_imx6ull] Error 2

It is specifically looking for the -imx-r1, but I don’t think it exists?

The first thing you need to do is make sure you have seeed’s software on your system.

sudo apt update
sudo apt install linux-headers-4.19.71-imx-r1

I can browse the linux-headers deb package online.
https://github.com/Seeed-Studio/seeed-linux-deb/blob/master/pool/main/l/linux-upstream/linux-headers-4.19.71-imx-r1_1stable_armhf.deb

@Baozhu You are a legend. That fixed me right up.

I am getting some WILD error/warnings when I run the make command that is recommended in the Wiki.

root@npi:~/seeed-linux-dtverlays# make all_imx6ull

cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:304: /root/seeed-linux-dtverlays/modules/jtsn-wm8960/wm8960.o] Error 1
make[1]: *** [Makefile:1519: _module_/root/seeed-linux-dtverlays/modules/jtsn-wm8960] Error 2
make: *** [Makefile:151: all_imx6ull] Error 2

I need to share with you the full output of my device, but the forum is limited to 30,000 somthing characters. Instead i uploaded it to a plaintext sharing website: https://pastelink.net/23u3b

I have a hypothesis that I am unable to process those make commands because my package is not upgrading…

root@npi:~/seeed-linux-dtoverlays# sudo apt-get update && apt-get upgrade
Hit:1 http://repos.rcn-ee.com/debian buster InRelease
Hit:2 https://seeed-studio.github.io/seeed-linux-deb buster InRelease
Hit:3 http://mirrors.tuna.tsinghua.edu.cn/debian buster InRelease
Hit:4 https://cloud.embedfire.com/mirrors/ebf-debian buster InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  linux-image-4.19.71-imx-r1
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 9285 kB of archives.
After this operation, 463 kB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 https://seeed-studio.github.io/seeed-linux-deb buster/main armhf linux-image-4.19.71-imx-r1 armhf 1stable [9285 kB]
Fetched 9285 kB in 3s (2734 kB/s)
(Reading database ... 164451 files and directories currently installed.)
Preparing to unpack .../linux-image-4.19.71-imx-r1_1stable_armhf.deb ...
Unpacking linux-image-4.19.71-imx-r1 (1stable) over (1stable) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-4.19.71-imx-r1_1stable_armhf.deb (--unpack):
 unable to make backup link of './boot/System.map-4.19.71-imx-r1' before installing new version: Operation not permitted
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-4.19.71-imx-r1_1stable_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I am not sure why it is failing to make a backup?

I just checked the permissions on the file and they are fine…

root@npi:~# ls -l /boot/
total 15112
-rwxr-xr-x 1 root root    1474 Oct  9 16:15  BOOTEX.LOG
-rwxr-xr-x 1 root root      38 May 19 06:47  ID.txt
-rwxr-xr-x 1 root root     515 May 19 06:47  SOC.sh
drwxr-xr-x 2 root root    2048 Oct  9 10:52 'System Volume Information'
-rwxr-xr-x 1 root root 2626973 May  7 01:45  System.map-4.19.71-imx-r1

I even made sure of this by using this command:

root@npi:/boot# chmod 777 System.map-4.19.71-imx-r1

I had no idea what was preventing me from modifying the files in /boot/ so I completely nuked my debian image and I am in the process of starting over.

So even with a fresh install and only minimal changes to the base image hosted on the wiki, I still cannot get this package to upgrade.

root@npi:~# sudo apt install linux-headers-4.19.71-imx-r1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  linux-headers-4.19.71-imx-r1
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 10.9 MB of archives.
After this operation, 73.8 MB of additional disk space will be used.
Get:1 https://seeed-studio.github.io/seeed-linux-deb buster/main armhf linux-headers-4.19.71-imx-r1 armhf 1stable [10.9 MB]
Fetched 10.9 MB in 4s (2599 kB/s)
Selecting previously unselected package linux-headers-4.19.71-imx-r1.
(Reading database ... 20450 files and directories currently installed.)
Preparing to unpack .../linux-headers-4.19.71-imx-r1_1stable_armhf.deb ...
Unpacking linux-headers-4.19.71-imx-r1 (1stable) ...
Setting up linux-headers-4.19.71-imx-r1 (1stable) ...
root@npi:~# sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  linux-image-4.19.71-imx-r1
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 9285 kB of archives.
After this operation, 463 kB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 https://seeed-studio.github.io/seeed-linux-deb buster/main armhf linux-image-4.19.71-imx-r1 armhf 1stable [9285 kB]
Fetched 9285 kB in 3s (2711 kB/s)
(Reading database ... 39788 files and directories currently installed.)
Preparing to unpack .../linux-image-4.19.71-imx-r1_1stable_armhf.deb ...
Unpacking linux-image-4.19.71-imx-r1 (1stable) over (1stable) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-4.19.71-imx-r1_1stable_armhf.deb (--unpack):
 unable to make backup link of './boot/System.map-4.19.71-imx-r1' before installing new version: Operation not permitted
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-4.19.71-imx-r1_1stable_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

So I decided to ignore the errors that I received when attempting to do the “sudo apt upgrade” for the linux-image-4.19.71-imx-r1 package.

If I do that, and clone the git repo and follow exactly the instructions detailed in the Wiki I am still met with errors that I basically cannot fix myself. It doesn’t appear as though anything I am doing will result in the make operation completing.

I again, uploaded my output to a website because of the forum limitation on characters:

Just delete the folders that are not available.It was not designed for this platform. @cdutko

If I do that, I am able to complete the make command, and install the packages.

I am still having trouble. For some reason, I still cannot enable the SPI.

I get an error when I run this command:

dmesg | grep spi

root@npi:~# insmod /lib/modules/4.19.71-imx-r1/extra/seeed/mcp25xxfd.ko
root@npi:~# dmesg | grep spi
[    1.519049] imx6ul-pinctrl 20e0000.iomuxc: pin MX6UL_PAD_UART2_RX_DATA already requested by 21e8000.serial; cannot claim for 2010000.ecspi
[    1.531731] imx6ul-pinctrl 20e0000.iomuxc: pin-38 (2010000.ecspi) status -22
[    1.538885] imx6ul-pinctrl 20e0000.iomuxc: could not request pin 38 (MX6UL_PAD_UART2_RX_DATA) from group ecspi3grp1  on device 20e0000.iomuxc
[    1.551654] spi_imx 2010000.ecspi: Error applying setting, reverse things back
[    1.558983] spi_imx: probe of 2010000.ecspi failed with error -22
root@npi:~# ifconfig -a
can0: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 28

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.26.136  netmask 255.255.254.0  broadcast 192.168.27.255
        inet6 fe80::84d0:73ff:fec0:c0de  prefixlen 64  scopeid 0x20<link>
        ether 86:d0:73:c0:c0:de  txqueuelen 1000  (Ethernet)
        RX packets 2480  bytes 293578 (286.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 211  bytes 18643 (18.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth2: flags=-28669<UP,BROADCAST,MULTICAST,DYNAMIC>  mtu 1500
        ether 7e:7d:b3:ef:c8:81  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 84  bytes 7004 (6.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 84  bytes 7004 (6.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sit0: flags=128<NOARP>  mtu 1480
        sit  txqueuelen 1000  (IPv6-in-IPv4)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

I am currently using the white UART TTL header as my main method of communication.

Is this error string suggesting that I cannot use both SPI and the UART TTL header? And I should select another UART Tx/Rx pair on the board instead?

Npi-i-mx6ull is the same as Jetson’s SPI. Only one channel.

Hmm… I am little confused now. I am not even using that CAN shield. I was just following that tutorial so I could use the SPI functionality. Is there a better avenue to explore using the SPI function?

This is a good example. You can also find examples of SPI on the RPI, which are independent of the CPU platform. @cdutko

@Baozhu I am having some issues with changing my console output.

I need to get off of the ttymxc0 serial port, so I can use the SPI functionality on this PCB.

I edited the config-4.19.71-imx-r1 file found in /boot/ to use the second tty serial port I created (ttymxc2).

CONFIG_CMDLINE="noinitrd console=ttymxc2,115200"
CONFIG_CMDLINE_FROM_BOOTLOADER=y

I’m assuming that there is some other file that I need to modify before the Kernel will switch it’s console to the other output?

Here is the output of my dmesg | grep tty:

root@npi:~# dmesg | grep tty
[    0.000000] Kernel command line: console=ttymxc0 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 vt.global_cursor_default=0 quiet
[    1.417912] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 20, base_baud = 5000000) is a IMX
[    1.418125] console [ttymxc0] enabled
[    1.420073] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 71, base_baud = 5000000) is a IMX
[    1.421393] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 72, base_baud = 5000000) is a IMX

I can pretty much confirm that my changes that I made in the config file are not being read on startup:

debug: [console=ttymxc0 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 vt.global_cursor_default=0 quiet] ...
debug: [bootz 0x80800000 0x88000000:47e277 0x83000000] ...
Kernel image @ 0x80800000 [ 0x000000 - 0x79be68 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8303cfff
Modify /soc/aips-bus@2200000/epdc@228c000:status disabled
ft_system_setup for mx6

Starting kernel ...

Before the kernel starts it has the wrong console port setup.

You can change the serial output by modifying this file. @cdutko

/boot/uEnv.txt

@Baozhu

I am having difficulty getting this to work.

This is the current settings in my uEnv.txt file

#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.19.71-imx-r1
#uuid=
dtb=imx6ull-seeed-npi.dtb


###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_O$
###Master Enable
enable_uboot_overlays=1
#overlay_start

###Change serial console
console=ttymxc2
extraargs=console=ttymxc2,115200

I have tried to put the /dev/ path before the name of the device too and it does not work.

I am not sure what I am doing wrong.

One other thing I noticed was that my ttymxc2 device is different than my ttymxc0 device. mxc0 is listed as a tty device and mxc2 is listed as ‘dialout’. Could this be the reason that it does not work?

root@npi:/dev# ls -l
total 0
crw-r--r-- 1 root root     10, 235 Oct 27 15:39 autofs
drwxr-xr-x 2 root root         680 Oct 27 15:39 block
drwxr-xr-x 3 root root          60 Jan  1  1970 bus
drwxr-xr-x 2 root root        2740 Oct 27 15:39 char
crw------- 1 root root      5,   1 Oct 27 15:39 console
crw------- 1 root root     10,  63 Oct 27 15:39 cpu_dma_latency
drwxr-xr-x 7 root root         140 Oct 27 15:39 disk
drwxr-xr-x 3 root root          80 Oct 27 15:39 dri
crw-rw---- 1 root video    29,   0 Oct 27 15:39 fb0
crw-rw---- 1 root video    29,   1 Oct 27 15:39 fb1
lrwxrwxrwx 1 root root          13 Oct 27 15:39 fd -> /proc/self/fd
crw-rw-rw- 1 root root      1,   7 Oct 27 15:39 full
crw-rw-rw- 1 root root     10, 229 Oct 27 15:39 fuse
crw-rw---- 1 root gpio    254,   0 Oct 27 15:39 gpiochip0
crw-rw---- 1 root gpio    254,   1 Oct 27 15:39 gpiochip1
crw-rw---- 1 root gpio    254,   2 Oct 27 15:39 gpiochip2
crw-rw---- 1 root gpio    254,   3 Oct 27 15:39 gpiochip3
crw-rw---- 1 root gpio    254,   4 Oct 27 15:39 gpiochip4
crw-rw---- 1 root gpio    254,   5 Oct 27 15:39 gpiochip5
crw------- 1 root root     10, 183 Oct 27 15:39 hwrng
crw------- 1 root root     89,   0 Oct 27 15:39 i2c-0
crw------- 1 root root     89,   1 Oct 27 15:39 i2c-1
crw------- 1 root root    250,   0 Oct 27 15:39 iio:device0
crw------- 1 root root    250,   1 Oct 27 15:39 iio:device1
lrwxrwxrwx 1 root root          12 Oct 27 15:39 initctl -> /run/initctl
drwxr-xr-x 3 root root         100 Oct 27 15:39 input
crw-r--r-- 1 root root      1,  11 Oct 27 15:39 kmsg
lrwxrwxrwx 1 root root          28 Oct 27 15:39 log -> /run/systemd/journal/dev-log
crw-rw---- 1 root disk     10, 237 Oct 27 15:39 loop-control
brw-rw---- 1 root disk      7,   0 Oct 27 15:39 loop0
brw-rw---- 1 root disk      7,   1 Oct 27 15:39 loop1
brw-rw---- 1 root disk      7,   2 Oct 27 15:39 loop2
brw-rw---- 1 root disk      7,   3 Oct 27 15:39 loop3
brw-rw---- 1 root disk      7,   4 Oct 27 15:39 loop4
brw-rw---- 1 root disk      7,   5 Oct 27 15:39 loop5
brw-rw---- 1 root disk      7,   6 Oct 27 15:39 loop6
brw-rw---- 1 root disk      7,   7 Oct 27 15:39 loop7
crw-r----- 1 root kmem      1,   1 Oct 27 15:39 mem
crw------- 1 root root     10,  60 Oct 27 15:39 memory_bandwidth
brw-rw---- 1 root disk    179,  24 Oct 27 15:39 mmcblk0
brw-rw---- 1 root disk    179,  25 Oct 27 15:39 mmcblk0p1
brw-rw---- 1 root disk    179,  26 Oct 27 15:39 mmcblk0p2
brw-rw---- 1 root disk    179,   0 Oct 27 15:39 mmcblk1
brw-rw---- 1 root disk    179,   8 Oct 27 15:39 mmcblk1boot0
brw-rw---- 1 root disk    179,  16 Oct 27 15:39 mmcblk1boot1
brw-rw---- 1 root disk    179,   1 Oct 27 15:39 mmcblk1p1
brw-rw---- 1 root disk    179,   2 Oct 27 15:39 mmcblk1p2
crw------- 1 root root    245,   0 Oct 27 15:39 mmcblk1rpmb
crw------- 1 root root     10,  57 Oct 27 15:39 mxc_asrc
crw------- 1 root root     10,  62 Oct 27 15:39 network_latency
crw------- 1 root root     10,  61 Oct 27 15:39 network_throughput
crw-rw-rw- 1 root root      1,   3 Oct 27 15:39 null
crw------- 1 root root    108,   0 Oct 27 15:39 ppp
crw------- 1 root root    252,   0 Oct 27 15:39 pps0
crw------- 1 root root    252,   1 Oct 27 15:39 pps1
crw-rw-rw- 1 root tty       5,   2 Oct 27 15:39 ptmx
crw------- 1 root root    251,   0 Oct 27 15:39 ptp0
crw------- 1 root root    251,   1 Oct 27 15:39 ptp1
drwxr-xr-x 2 root root           0 Oct 27 15:39 pts
crw------- 1 root root     10,  59 Oct 27 15:39 pxp_device
brw-rw---- 1 root disk      1,   0 Oct 27 15:39 ram0
brw-rw---- 1 root disk      1,   1 Oct 27 15:39 ram1
brw-rw---- 1 root disk      1,  10 Oct 27 15:39 ram10
brw-rw---- 1 root disk      1,  11 Oct 27 15:39 ram11
brw-rw---- 1 root disk      1,  12 Oct 27 15:39 ram12
brw-rw---- 1 root disk      1,  13 Oct 27 15:39 ram13
brw-rw---- 1 root disk      1,  14 Oct 27 15:39 ram14
brw-rw---- 1 root disk      1,  15 Oct 27 15:39 ram15
brw-rw---- 1 root disk      1,   2 Oct 27 15:39 ram2
brw-rw---- 1 root disk      1,   3 Oct 27 15:39 ram3
brw-rw---- 1 root disk      1,   4 Oct 27 15:39 ram4
brw-rw---- 1 root disk      1,   5 Oct 27 15:39 ram5
brw-rw---- 1 root disk      1,   6 Oct 27 15:39 ram6
brw-rw---- 1 root disk      1,   7 Oct 27 15:39 ram7
brw-rw---- 1 root disk      1,   8 Oct 27 15:39 ram8
brw-rw---- 1 root disk      1,   9 Oct 27 15:39 ram9
crw-rw-rw- 1 root root      1,   8 Oct 27 15:39 random
lrwxrwxrwx 1 root root           4 Oct 27 15:39 rtc -> rtc0
crw------- 1 root root    253,   0 Oct 27 15:39 rtc0
drwxrwxrwt 2 root root          40 Oct 27 15:39 shm
drwxr-xr-x 2 root root          80 Oct 27 15:39 snd
lrwxrwxrwx 1 root root          15 Oct 27 15:39 stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root          15 Oct 27 15:39 stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root          15 Oct 27 15:39 stdout -> /proc/self/fd/1
crw-rw-rw- 1 root tty       5,   0 Oct 27 15:39 tty
crw--w---- 1 root tty       4,   0 Oct 27 15:39 tty0
crw--w---- 1 root tty       4,   1 Oct 27 15:39 tty1
crw--w---- 1 root tty       4,  10 Oct 27 15:39 tty10
crw--w---- 1 root tty       4,  11 Oct 27 15:39 tty11
crw--w---- 1 root tty       4,  12 Oct 27 15:39 tty12
crw--w---- 1 root tty       4,  13 Oct 27 15:39 tty13
crw--w---- 1 root tty       4,  14 Oct 27 15:39 tty14
crw--w---- 1 root tty       4,  15 Oct 27 15:39 tty15
crw--w---- 1 root tty       4,  16 Oct 27 15:39 tty16
crw--w---- 1 root tty       4,  17 Oct 27 15:39 tty17
crw--w---- 1 root tty       4,  18 Oct 27 15:39 tty18
crw--w---- 1 root tty       4,  19 Oct 27 15:39 tty19
crw--w---- 1 root tty       4,   2 Oct 27 15:39 tty2
crw--w---- 1 root tty       4,  20 Oct 27 15:39 tty20
crw--w---- 1 root tty       4,  21 Oct 27 15:39 tty21
crw--w---- 1 root tty       4,  22 Oct 27 15:39 tty22
crw--w---- 1 root tty       4,  23 Oct 27 15:39 tty23
crw--w---- 1 root tty       4,  24 Oct 27 15:39 tty24
crw--w---- 1 root tty       4,  25 Oct 27 15:39 tty25
crw--w---- 1 root tty       4,  26 Oct 27 15:39 tty26
crw--w---- 1 root tty       4,  27 Oct 27 15:39 tty27
crw--w---- 1 root tty       4,  28 Oct 27 15:39 tty28
crw--w---- 1 root tty       4,  29 Oct 27 15:39 tty29
crw--w---- 1 root tty       4,   3 Oct 27 15:39 tty3
crw--w---- 1 root tty       4,  30 Oct 27 15:39 tty30
crw--w---- 1 root tty       4,  31 Oct 27 15:39 tty31
crw--w---- 1 root tty       4,  32 Oct 27 15:39 tty32
crw--w---- 1 root tty       4,  33 Oct 27 15:39 tty33
crw--w---- 1 root tty       4,  34 Oct 27 15:39 tty34
crw--w---- 1 root tty       4,  35 Oct 27 15:39 tty35
crw--w---- 1 root tty       4,  36 Oct 27 15:39 tty36
crw--w---- 1 root tty       4,  37 Oct 27 15:39 tty37
crw--w---- 1 root tty       4,  38 Oct 27 15:39 tty38
crw--w---- 1 root tty       4,  39 Oct 27 15:39 tty39
crw--w---- 1 root tty       4,   4 Oct 27 15:39 tty4
crw--w---- 1 root tty       4,  40 Oct 27 15:39 tty40
crw--w---- 1 root tty       4,  41 Oct 27 15:39 tty41
crw--w---- 1 root tty       4,  42 Oct 27 15:39 tty42
crw--w---- 1 root tty       4,  43 Oct 27 15:39 tty43
crw--w---- 1 root tty       4,  44 Oct 27 15:39 tty44
crw--w---- 1 root tty       4,  45 Oct 27 15:39 tty45
crw--w---- 1 root tty       4,  46 Oct 27 15:39 tty46
crw--w---- 1 root tty       4,  47 Oct 27 15:39 tty47
crw--w---- 1 root tty       4,  48 Oct 27 15:39 tty48
crw--w---- 1 root tty       4,  49 Oct 27 15:39 tty49
crw--w---- 1 root tty       4,   5 Oct 27 15:39 tty5
crw--w---- 1 root tty       4,  50 Oct 27 15:39 tty50
crw--w---- 1 root tty       4,  51 Oct 27 15:39 tty51
crw--w---- 1 root tty       4,  52 Oct 27 15:39 tty52
crw--w---- 1 root tty       4,  53 Oct 27 15:39 tty53
crw--w---- 1 root tty       4,  54 Oct 27 15:39 tty54
crw--w---- 1 root tty       4,  55 Oct 27 15:39 tty55
crw--w---- 1 root tty       4,  56 Oct 27 15:39 tty56
crw--w---- 1 root tty       4,  57 Oct 27 15:39 tty57
crw--w---- 1 root tty       4,  58 Oct 27 15:39 tty58
crw--w---- 1 root tty       4,  59 Oct 27 15:39 tty59
crw--w---- 1 root tty       4,   6 Oct 27 15:39 tty6
crw--w---- 1 root tty       4,  60 Oct 27 15:39 tty60
crw--w---- 1 root tty       4,  61 Oct 27 15:39 tty61
crw--w---- 1 root tty       4,  62 Oct 27 15:39 tty62
crw--w---- 1 root tty       4,  63 Oct 27 15:39 tty63
crw--w---- 1 root tty       4,   7 Oct 27 15:39 tty7
crw--w---- 1 root tty       4,   8 Oct 27 15:39 tty8
crw--w---- 1 root tty       4,   9 Oct 27 15:39 tty9
crw------- 1 root tty     207,  16 Oct 27 15:40 ttymxc0
crw-rw---- 1 root dialout 207,  17 Oct 27 15:39 ttymxc1
crw-rw---- 1 root dialout 207,  18 Oct 27 15:39 ttymxc2

Basically I don’t know why despite me setting all of the outputs for the console to ttymxc2 it still boots with the original console as its selection.

Here is the boot sequence output:

root@npi:/dev# reboot
root@npi:/dev# [FAILED] Failed unmounting /mnt/.psplash.
[  OK  ] Unmounted /boot.
[  OK  ] Reached target Unmount All Filesystems.
[  OK  ] Stopped target Swap.
[  OK  ] Stopped target Local File Systems (Pre).
[  OK  ] Stopped Create Static Device Nodes in /dev.
[  OK  ] Stopped Create System Users.
[  OK  ] Stopped Remount Root and Kernel File Systems.
[  OK  ] Reached target Shutdown.
[  OK  ] Reached target Final Step.
[  OK  ] Started Reboot.
[  OK  ] Reached target Reboot.
[  173.127823] watchdog: watchdog0: watchdog did not stop!
[  173.565458] imx2-wdt 20bc000.wdog: Device shutdown: Expect reboot!
[  173.571792] reboot: Restarting system


U-Boot 2019.04-g34fae56a-dirty (Apr 15 2020 - 09:35:49 +0800)

CPU:   Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 46C
Reset cause: POR
Model: Freescale i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
DRAM:  512 MiB
NAND:  ID read error
0 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

WARNING:init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc0 is current device
flash target is MMC:0
Net:
Error: ethernet@020b4000 address not set.

Error: ethernet@020b4000 address not set.

Error: ethernet@02188000 address not set.
eth-1: ethernet@020b4000
Error: ethernet@02188000 address not set.
, eth-1: ethernet@02188000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
switch to partitions #0, OK
mmc0 is current device
Checking for: /uEnv.txt ...
1865 bytes read in 8 ms (227.5 KiB/s)
Loaded environment from /uEnv.txt
Importing environment from mmc ...
Checking if uenvcmd is set ...
Checking if client_ip is set ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking if flash_firmware is set
Checking for: /boot/uEnv.txt ...
debug: [dtb=imx6ull-seeed-npi.dtb] ...
Using: dtb=imx6ull-seeed-npi.dtb ...
Checking if uname_r is set in /boot/uEnv.txt...
Running uname_boot ...
loading /vmlinuz-4.19.71-imx-r1 ...
debug: [enable_uboot_overlays=1] ...
debug: [uboot_base_dtb=] ...
loading /dtbs/4.19.71-imx-r1/imx6ull-seeed-npi.dtb ...
38567 bytes read in 12 ms (3.1 MiB/s)
uboot_overlays: [fdt_buffer=0x60000] ...
DTOVERLAY[debug]: param no:5  0x83000000  0x88000000 /uEnv.txt 0x80800000

DTOVERLAY[debug]: **MMC 0:1 /uEnv.txt file length:0x749

DTOVERLAY[debug]: ** /lib/firmware/imx-fire-i2c1-overlay.dtbo file length:0x2e2

loading overlay:/lib/firmware/imx-fire-i2c1-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-i2c2-overlay.dtbo file length:0x2a7

loading overlay:/lib/firmware/imx-fire-i2c2-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-74hc595-overlay.dtbo file length:0x5c7

loading overlay:/lib/firmware/imx-fire-74hc595-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-adc1-overlay.dtbo file length:0x3fb

loading overlay:/lib/firmware/imx-fire-adc1-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-can1-overlay.dtbo file length:0x293

loading overlay:/lib/firmware/imx-fire-can1-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-dht11-overlay.dtbo file length:0x30e

loading overlay:/lib/firmware/imx-fire-dht11-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-hdmi-overlay.dtbo file length:0x5d9

loading overlay:/lib/firmware/imx-fire-hdmi-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-key-overlay.dtbo file length:0x336

loading overlay:/lib/firmware/imx-fire-key-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-lcd5-overlay.dtbo file length:0x1918

loading overlay:/lib/firmware/imx-fire-lcd5-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-led-overlay.dtbo file length:0x615

loading overlay:/lib/firmware/imx-fire-led-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-sound-overlay.dtbo file length:0xd72

loading overlay:/lib/firmware/imx-fire-sound-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-uart2-overlay.dtbo file length:0x290

loading overlay:/lib/firmware/imx-fire-uart2-overlay.dtbo
DTOVERLAY[debug]: ** /lib/firmware/imx-fire-uart3-overlay.dtbo file length:0x290

loading overlay:/lib/firmware/imx-fire-uart3-overlay.dtbo
7978600 bytes read in 364 ms (20.9 MiB/s)
loading /initrd.img-4.19.71-imx-r1 ...
4711031 bytes read in 215 ms (20.9 MiB/s)
debug: [console=ttymxc0 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 vt.global_cursor_default=0 quiet] ...
debug: [bootz 0x80800000 0x88000000:47e277 0x83000000] ...
Kernel image @ 0x80800000 [ 0x000000 - 0x79be68 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8303cfff
Modify /soc/aips-bus@2200000/epdc@228c000:status disabled
ft_system_setup for mx6

Starting kernel ...