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