Hi,
with the R-Car3, the pinmux/drvctrl is done at 3 places:
1. ARM trusted firmware / IPL:
https://github.com/renesas-rcar/meta-renesas/blob/jethro/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware/0001-add-bl2-bl31-R-Car-support.patch#L8428
2. U-Boot:
https://github.com/renesas-rcar/u-boot/blob/v2015.04/rcar-3.2.x/board/renesas/salvator-x/salvator-x.c#L116
3. Linux kernel
https://git.kernel.org/cgit/linux/kernel/git/geert/renesas-drivers.git/tree/drivers/pinctrl/sh-pfc/pfc-r8a7795.c?h=topic/gen3-latest
Now, the issue we see is that (of course?) this is not necessarily
consistent.
Therefore: What's supposed to be the correct place to do this (once)?
Any opinions?
The example is the RAVB ethernet: We found that on the Salvator-X the
kernel's ethernet doesn't work without being initialized by U-Boot. I.e.
without running U-Boot doing the drvctrl [1] ethernet fails in the Linux
kernel.
Best regards
Dirk
[1]
https://github.com/renesas-rcar/u-boot/blob/v2015.04/rcar-3.2.x/board/renesas/salvator-x/salvator-x.c#L152