I’m writing a kernel driver that needs to control the PRUs’ state using rproc_boot(…)/rproc_shutdown(…) from linux/remoteproc.h. The functions take a struct rproc *
as argument. I tried using rproc_get_by_phandle(...)
to get the reference to the PRUs. The problem is that the phandles are actually different from one installation to the other. E.g. after flashing a fresh image, the PRU phandles could be 0xF4 and 0xF5. The next time, after flashing the image, the phandles are 0xF6 and 0xF7. They seem, however, to remain the same, if I don’t flash a new image.
-
Why are the phandles different between one image and the other?
-
Is there a way to fix them, such that I reliable get pointers to the PRUs with
rproc_get_by_phandle()
? -
Is there another, better way to reliably get
struct rproc *
s to the PRUs?
Thanks,
Kai