Hi all, 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: 1. 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, 2. While U-Boot receives the RPC-IF enablement from TF-A, it does not propagate it to Linux yet, 3. The DTS files that are part of Linux do not have RPC HyperFlash support yet. The first issue in TF-A is handled by [1]. This patch series takes care of the first and second issue in U-Boot, by renaming the RPC-IF device node, and by propagating the enablement from TF-A, if present, to Linux. The third patch updates the RPC-IF compatible values to match the actual DT bindings, but this is not critical for operation, and can be postponed (e.g. by syncing DTS with Linux v5.19). Patches to enable RPC-IF support in Linux are available at [2]. Thanks for your comments! [1] "[PATCH TF-A] fix(plat/rcar3): Fix RPC-IF device node name" https://lore.kernel.org/r/3685623bed84674039adb61e723288d359ab0a50.1648544199.git.geert+rene...@glider.be [2] "[PATCH 0/5] arm64: dts: renesas: rcar-gen3: Enable HyperFlash support" https://lore.kernel.org/r/cover.1648548339.git.geert+rene...@glider.be Geert Uytterhoeven (3): ARM: dts: rmobile: Fix RPC-IF device node names ARM: renesas: Propagate RPC-IF enablement to subsequent software [RFC] renesas: Fix RPC-IF compatible values arch/arm/dts/r7s72100-gr-peach-u-boot.dts | 4 +- arch/arm/dts/r8a774c0-u-boot.dtsi | 4 +- arch/arm/dts/r8a77950-u-boot.dtsi | 4 +- arch/arm/dts/r8a77960-u-boot.dtsi | 4 +- arch/arm/dts/r8a77965-u-boot.dtsi | 4 +- arch/arm/dts/r8a77970-u-boot.dtsi | 4 +- arch/arm/dts/r8a77980-u-boot.dtsi | 4 +- arch/arm/dts/r8a77990-u-boot.dtsi | 4 +- arch/arm/dts/r8a77995-u-boot.dtsi | 4 +- arch/arm/dts/r8a779a0-u-boot.dtsi | 2 +- board/renesas/rcar-common/common.c | 46 ++++++++++++++++++++++- drivers/mtd/renesas_rpc_hf.c | 3 +- drivers/spi/renesas_rpc_spi.c | 9 +---- 13 files changed, 67 insertions(+), 29 deletions(-) -- 2.25.1 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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