I2C probléma Yocto 5 alatt Recomputer R1035 el

Fórumok

Jelenleg egy Recomputer R1035 alatt kicseréltem a CM4 et CM5 re és ehhez is elkezdtem egy működőképes konfigurációt összerakni Yocto 5 alatt, viszont még az RTC valamiért nem működik, amiben szeretnék egy kis segítséget kérni. Arra prróbálok rájönni, hogy az I2C n található PFC8563 as RTC t miként lehetne életre kelteni. Amikor megpróbálom kiolvasni a regiszter értékét, ott valamiért nem ad vissza értelmes doglokat. Míg ez a CM4 alatt gyönyörűen működik. További infók a jelenlegi renszeremről alább megtalálhatóak. Merre lenne érdemes tovább nyomozni? 
 

uname -a
Linux CE-CHANGEME 6.6.63-v8-16k #1 SMP PREEMPT Tue Sep  2 17:09:48 UTC 2025 aarch64 GNU/Linux

lsmod | grep -E '(rtc_pcf8563|i2c_dev)'
rtc_pcf8563            49152  0
i2c_dev                49152  0

ls /dev/i2c*
/dev/i2c-1  /dev/i2c-10  /dev/i2c-13  /dev/i2c-14

dmesg | grep -i rtc
[    0.000000] Kernel command line: reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe cgroup_disable=memory numa_policy=interleave  numa=fake=8 system_heap.max_order=0 smsc95xx.macaddr=2C:CF:67:C1:96:48 vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000  dwc_otg.lpm_enable=0 console=ttyAMA10,115200 rootfstype=ext4 rootwait root=/dev/mmcblk0p3  net.ifnames=0 loglevel=3 cgroup_enable=memory swapaccount=1 rpi_rtc.disable=1
[    0.254891] rpi-rtc soc:rpi_rtc: registered as rtc0
[    0.256274] rpi-rtc soc:rpi_rtc: setting system clock to 1970-01-01T02:06:17 UTC (7577)
[  135.442093] rtc-pcf8563 1-0051: pcf8563_write_block_data: err=-121 addr=0e, data=03
[  135.442099] rtc-pcf8563 1-0051: pcf8563_probe: write error
[  135.442183] rtc-pcf8563: probe of 1-0051 failed with error -5
[  135.448712] rtc-pcf8563 10-0051: pcf8563_write_block_data: err=-121 addr=0e, data=03
[  135.448722] rtc-pcf8563 10-0051: pcf8563_probe: write error
[  135.460632] rtc-pcf8563: probe of 10-0051 failed with error -5

i2cdump -y 10 0x51
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX

cat /uboot/config.txt
dtoverlay=disable-rtc
dtoverlay=dwc2,dr_mode=host
dtoverlay=i2c-rtc,pcf8563
dtoverlay=recomputer-r1035-rtc
dtoverlay=vc4-kms-v3d
dtparam=i2c1=on
dtparam=i2c_arm=on
dtparam=spi=on
enable_uart=1
gpu_mem=128

Hozzászólások

Szerkesztve: 2025. 09. 04., cs – 22:16

Bár pinout-ra majdnem azonos a két modul, a carrier board-oknál van eltérés és a cm-nek nincs is onboard setup-ja, ami alapján automatikusan el tudja dönteni. Így nem marad más, mint megmondani neki, szóval próbáld meg ezt:

device_tree=bcm2712-rpi-cm5-cm4io.dtb

vagy cm5 lite esetében:

device_tree=bcm2712-rpi-cm5l-cm4io.dtb

// Happy debugging, suckers
#define true (rand() > 10)