Its wiki describes that this device has SPI.
Basically I found some discussion.
dtc -@ -I dts -O dtb -o rk3399-nanopc-t4-spi.dtbo rk3399-nanopc-t4-spi.dts
This command can compile dtbo.
But it seems to make the device unbootable.
U-Boot 2020.07-1 (Jan 20 2023 - 06:36:19 +0000) Manjaro Linux ARM
SoC: Rockchip rk3399
Reset cause: POR
Model: FriendlyElec NanoPC-T4
DRAM: 3.9 GiB
PMIC: RK808
MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Model: FriendlyElec NanoPC-T4
Net:
Error: ethernet@fe300000 address not set.
No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0(part 0) is current device
** Invalid partition 1 **
Card did not respond to voltage select!
Device 0: Vendor: 0x1cc1 Rev: ZTA10613 Prod: ZTA22T0KA222130ECE
Type: Hard Disk
Capacity: 1953514.3 MB = 1907.7 GB (4000797360 x 512)
... is now current device
Scanning nvme 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
277 bytes read in 2 ms (134.8 KiB/s)
Ignoring unknown command: FDTOVERLAYS
Ignoring unknown command: APPEND
1: Manjaro ARM
Retrieving file: /Image
24824320 bytes read in 46 ms (514.7 MiB/s)
Retrieving file: /dtbs/rockchip/rk3399-nanopc-t4.dtb
79600 bytes read in 2 ms (38 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 00000000f1efd000, end 00000000f1f136ef ... OK
DT may have a problem with the DTS provided by the PO, but I am not particularly clear about the syntax of DTS, can you use this DTS test to test DTB coverage on NanoPC-T4.
And it seems that the DTB in the mainline kernel has disabled UART4, and there should be no need for additional UART4 disable in the DTB.
U-Boot TPL 2020.07-1 (Jan 20 2023 - 06:36:19)
Channel 0: LPDDR3, 933MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR3, 933MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
256B stride
Trying to boot from BOOTROM
Returning to boot ROM...
U-Boot SPL 2020.07-1 (Jan 20 2023 - 06:36:19 +0000)
Trying to boot from MMC2
U-Boot 2020.07-1 (Jan 20 2023 - 06:36:19 +0000) Manjaro Linux ARM
SoC: Rockchip rk3399
Reset cause: POR
Model: FriendlyElec NanoPC-T4
DRAM: 3.9 GiB
PMIC: RK808
MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Model: FriendlyElec NanoPC-T4
Net:
Error: ethernet@fe300000 address not set.
No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0(part 0) is current device
** Invalid partition 1 **
Card did not respond to voltage select!
Device 0: Vendor: 0x1cc1 Rev: ZTA10613 Prod: ZTA22T0KA222130ECE
Type: Hard Disk
Capacity: 1953514.3 MB = 1907.7 GB (4000797360 x 512)
... is now current device
Scanning nvme 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
297 bytes read in 2 ms (144.5 KiB/s)
Ignoring unknown command: FDTOVERLAYS
Ignoring unknown command: APPEND
1: Manjaro ARM
Retrieving file: /Image
24824320 bytes read in 46 ms (514.7 MiB/s)
Retrieving file: /dtbs/rockchip/rk3399-nanopc-t4.dtb
79600 bytes read in 3 ms (25.3 MiB/s)
## Flattened Device Tree blob at 01f00000
Booting using the fdt blob at 0x1f00000
Loading Device Tree to 00000000f1efd000, end 00000000f1f136ef ... OK
Starting kernel ...
But I added the FDTOVERLAYS option in Uboot’s compilation configuration.
Why is this so?
This is a very old patch which was working fine for us until it stopped applying or compiling and now that it compiles but creates other issue with the devices.
I think you have to patch uboot dts for spi as well as kernel dts. Currently I have too many things in my hand to look into so I doubt I will get to test it anytime soon. Sorry about that.