Hello

I am trying to add am335x support to the pico TCP/IP stack and currently working on the following file:
projects/global-components/components/Ethdriver/include/plat/am335x/plat/eth_devices.h.

Current contents of this file (I am creating it step by step, thus it might be incomplete):

#pragma once

#define HARDWARE_ETHERNET_COMPONENT

#define HARDWARE_ETHERNET_INTERFACES                                                \
    consumes Dummy EthDriver;                                                                                     \
    emits Dummy dummy_source;

#define HARDWARE_ETHERNET_COMPOSITION                                            \
    connection seL4DTBHardware ethernet_conn(from dummy_source, to EthDriver);

#define HARDWARE_ETHERNET_CONFIG                                                  \
    EthDriver.dtb = dtb({ "path" : "/ocp/ethernet@4a100000" });                     \
    EthDriver.generate_interrupts = 1;


I test the implementation by using the picoserver CAmkES application. However, on boot I receive the following error:

ELF-loader started on CPU: ARM Ltd. Cortex-A8 r3p2
  paddr=[82000000..8262e037]
No DTB found!
Looking for DTB in CPIO archive...
Found dtb at 820c1b84
Loaded dtb from 820c1b84
   paddr=[80034000..8003cfff]
ELF-loading image 'kernel'
  paddr=[80000000..80033fff]
  vaddr=[f0000000..f0033fff]
  virt_entry=f0000000
ELF-loading image 'capdl-loader'
  paddr=[8003d000..8059afff]
  vaddr=[10000..56dfff]
  virt_entry=1e4dc
ELF loader relocated, continuing boot...
Enabling MMU and paging
Jumping to kernel-image entry point...

Bootstrapping kernel
Booting all finished, dropped to user space
create_object@main.c:726  device frame/untyped, paddr = 0x48040000, size = 12 bits

create_object@main.c:726  device frame/untyped, paddr = 0x48042000, size = 12 bits

create_object@main.c:726  device frame/untyped, paddr = 0x4a100000, size = 12 bits

create_object@main.c:726  device frame/untyped, paddr = 0x4a101200, size = 12 bits

create_object@main.c:730 [Cond failed: err != seL4_NoError]
        Failed to find device frame/untyped at paddr = 0x4a101200

seL4 root server abort()ed
Debug halt syscall from user thread 0xffefd600 "rootserver"
halting...
Kernel entry via Unknown syscall, word: 65


The am335x.dtb contains the following line in ethernet@4a100000:
reg = <0x4a100000 0x00000800 0x4a101200 0x00000100>;


I did find related posts (http://sel4.systems/pipermail/devel/2016-June/000850.html,  http://sel4.systems/pipermail/devel/2018-July/002031.html and http://sel4.systems/pipermail/devel/2015-October/000530.html) but didn't help me that much.

If I am correct the hardware block isn't enabled but I don't know exactly how to do this.
Could anyone help me out here or give me some hints?

Best Regards,

Kap Benjamin