Re: [PATCH net-next v2 2/8] dt-bindings: remoteproc: k3-r5f: Add rpmsg-eth subnode

Andrew Lunn
2025-09-03T14:07:08Z

> >> mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
> >> memory-region = <&main_r5fss0_core0_dma_memory_region>,
> >> <&main_r5fss0_core0_memory_region>;
> >> + rpmsg-eth-region = <&main_r5fss0_core0_memory_region_shm>;
> >
> > You already have here memory-region, so use that one.
> >
>
> There is a problem with using memory-region. If I add
> `main_r5fss0_core0_memory_region_shm` to memory region, to get this
> phandle from driver I would have to use
>
> of_parse_phandle(np, "memory-region", 2)
>
> Where 2 is the index for this region. But the problem is how would the
> driver know this index. This index can vary for different vendors and
> their rproc device.
>
> If some other vendor tries to use this driver but their memory-region
> has 3 existing entries. so this this entry will be the 4th one.

Just adding to this, there is nothing really TI specific in this
system. We want the design so that any vendor can use it, just by
adding the needed nodes to their rpmsg node, indicating there is a
compatible implementation on the other end, and an indication of where
the shared memory is.

Logically, it is a different shared memory. memory-region above is for
the rpmsg mechanism itself. A second shared memory is used for the
Ethernet drivers where it can place Ethernet frames. The Ethernet
frames themselves are not transported over rpmsg. The rpmsg is just
used for the control path, not the data path.

Andrew