Armadilloフォーラム

SC16IS7xxのDevice Treeが正常に動作しない

fukuda

2023年9月4日 18時50分

お世話になっております。

Armadillo-X2にて、UARTのポートを3つ使用する必要があり、UART拡張のため"SC16IS741AIPW"(I2C-UART変換IC)を使用したいと考えております。

●発生している現象
ドライバ「SC16IS7xx」を有効化し、Device Treeにて設定を実施、Armadillo-X2に適用すると起動せずロールバックする。
異常発生時のコンソール出力 ※以下の内容が3回繰り返され、ロールバックする

U-Boot SPL 2020.04-at16 (Jun 23 2023 - 06:04:56 +0000)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 4000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from BOOTROM
image offset 0x0, pagesize 0x200, ivt offset 0x0
NOTICE:  BL31: v2.4(release):2020.04-at10-0-ge26bfd065
NOTICE:  BL31: Built : 07:19:45, Mar 23 2023
 
 
U-Boot 2020.04-at16 (Jun 23 2023 - 06:04:56 +0000)
 
CPU:   i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 44C
Model: Atmark-Techno Armadillo X2 Series
DRAM:    Hold key pressed for tests: t (fast) / T (slow)
2 GiB
WDT:   Started with servicing (10s timeout)
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
 
 BuildInfo:
  - ATF e26bfd0
  - U-Boot 2020.04-at16
 
reset cause: normal reboot
switch to partitions #0, OK
mmc2(part 0) is current device
flash target is MMC:2
Net:   
Warning: ethernet@30be0000 using MAC address from ROM
eth0: ethernet@30be0000 [PRIME]
Fastboot: Normal
Saving Environment to MMC... Writing to MMC(2)... OK
Normal Boot
Hit any key to stop autoboot:  2  1  0 
switch to partitions #0, OK
mmc2(part 0) is current device
23234568 bytes read in 504 ms (44 MiB/s)
Booting from mmc ...
78505 bytes read in 3 ms (25 MiB/s)
Loading fdt boot/armadillo.dtb
45 bytes read in 1 ms (43.9 KiB/s)
2273 bytes read in 1 ms (2.2 MiB/s)
Applying fdt overlay: armadillo_iotg_g4-at-dtweb.dtbo
failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND
ERROR: Did not find a cmdline Flattened Device Tree
 
Starting kernel ...

●接続経路
※全ての信号線は TXS0108EPWR(レベル変換IC)を介して 1.8V <-> 3.3Vにしています
・I2C通信:I2C5(CON11 19番/27番)
・割り込み信号線:CON11 24番
・リセット信号線:CON11 25番

●使用したDeviceTree
添付します
at-dtwebを使ってピンの割当を行った後、手動で追加しています(99行目あたり)

●懸念点
今回使用している SC16IS741AIPWおよびTXS0108EPWR の電源のON/OFFについてはArmadilloから制御している状態です。
そのため、電源投入直後は各ICへの電源供給が行われておりません。

●その他
・ドライバだけを適用し、DeviceTreeを変更しない場合は正常に起動します
・i2cdetectで確認すると、I2Cとして正常に認識されています

armadillo:~# i2cdetect -y 4
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- 4d -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

解決策が有りましたらご教授いただきたく思います。
よろしくお願いします。

コメント