Hello Pontus,
On Tue, Dec 20, 2022 at 08:29:28PM +0100, Pontus Åström wrote:
Now everything compiles successfully but I get a runtime setup error where the driver complains about an unavailable IO resource:
[init -> eth0_drv] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [init -> eth0_drv] clocksource: dde_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 3526361616960 ns [init -> eth0_drv] sched_clock: 64 bits at 1000kHz, resolution 1000ns, wraps every 2199023255500ns [init -> eth0_drv] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [init -> eth0_drv] clocksource: Switched to clocksource dde_counter [init -> eth0_drv] mdio_bus: Fixed MDIO Bus: probed [init -> eth0_drv] Error: memory-mapped I/O resource 0x30be0000 (size=0x10000) unavailable
What might be the cause of this error?
Probably the problem can be found within the devices ROM delivered to the platform driver. Formerly, the old driver expected an I/O memory area of size 0x4000, but the updated FEC driver that uses the original device-tree information of the Linux kernel expects an I/O memory area of size 0x10000. Moreover, the new driver needs additional informations related to its clocks that is also incorporated into the devices information consumed by the platform driver. You can see the changes when looking at file changes of `board/imx8q_evk/devices` within the following commit:
https://github.com/genodelabs/genode-imx/commit/a7bdd5cbdce98371e22fc3ff1330...
To circumvent similar problems in the future, you can incorporate the mentioned devices file as boot ROM within your scenario, and provide it to the platform driver. Then you automatically profit from further updates of the devices descriptions and its interplay with our provided drivers.
Best regards Stefan