CC the other Renesas rcar-gen3 platform port maintainer
On Wed, Aug 24, 2022 at 10:04 AM Geert Uytterhoeven geert@linux-m68k.org wrote:
On Wed, Jun 15, 2022 at 4:33 PM Geert Uytterhoeven geert@linux-m68k.org wrote:
On Tue, Mar 29, 2022 at 2:17 PM Geert Uytterhoeven geert+renesas@glider.be wrote:
According to the Generic Names Recommendation in the Devicetree Specification Release v0.3, and the DT Bindings for the Renesas Reduced Pin Count Interface, the node name for a Renesas RPC-IF device should be "spi". The node name matters, as the node is enabled by passing a DT fragment from TF-A to subsequent software.
Fix this by renaming the device nodes from "rpc" to "spi".
Fixes: 12c75c8886a0ee69 ("feat(plat/rcar3): emit RPC status to DT fragment if RPC unlocked") Signed-off-by: Geert Uytterhoeven geert+renesas@glider.be
Background:
On Renesas R-Car Gen3 platforms, the SPI Multi I/O Bus Controllers (RPC-IF) provide access to HyperFlash or QSPI storage. On production systems, they are typically locked by the TF-A firmware, unless TF-A is built with RCAR_RPC_HYPERFLASH_LOCKED=0. When unlocked, TF-A communicates this to subsequent software by passing a DT fragment that sets the "status" property of the RPC-IF device node to "okay".
Unfortunately there are several issues preventing this from working all the way to Linux:
- TF-A (and U-Boot on the receiving side) uses a device node name that does not conform to the DT specification nor the DT bindings for RPC-IF,
- While U-Boot receives the RPC-IF enablement from TF-A, it does not propagate it to Linux yet,
- The DTS files that are part of Linux do not have RPC HyperFlash support yet.
This patch takes care of the first issue in TF-A.
The related patches for U-Boot are [1]. Patches to enable RPC-IF support in Linux are available at [2].
The patches to enable RPC HyperFlash support in Linux are now in v5.19-rc1. What needs to be done to accept the TF-A counterpart?
The Linux counterpart is now in v5.19. Can you please apply this patch to TF-A? Thanks!
[1] "[PATCH u-boot 0/3] renesas: Fix RPC-IF enablement" https://lore.kernel.org/r/cover.1648544792.git.geert+renesas@glider.be [2] "[PATCH 0/5] arm64: dts: renesas: rcar-gen3: Enable HyperFlash support" https://lore.kernel.org/r/cover.1648548339.git.geert+renesas@glider.be
plat/renesas/rcar/bl2_plat_setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plat/renesas/rcar/bl2_plat_setup.c b/plat/renesas/rcar/bl2_plat_setup.c index bbfa16927d6c2384..f85db8d650c6b1a5 100644 --- a/plat/renesas/rcar/bl2_plat_setup.c +++ b/plat/renesas/rcar/bl2_plat_setup.c @@ -574,7 +574,7 @@ static void bl2_add_rpc_node(void) goto err; }
node = ret = fdt_add_subnode(fdt, node, "rpc@ee200000");
node = ret = fdt_add_subnode(fdt, node, "spi@ee200000"); if (ret < 0) { goto err; }
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds