[PATCH 0/5] arm64: dts: renesas: rcar-gen3: Enable HyperFlash support

Geert Uytterhoeven geert+renesas at glider.be
Tue Mar 29 05:20:00 PDT 2022


	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 two issues are handled by patches for TF-A[1] and U-Boot[2].

This patch series takes care of the third issue, by adding device nodes
for the RPC-IF interfaces and the HyperFlash devices to the various DTS
files.  The "status" properties of the RPC-IF device nodes are left
"disabled", and are to be updated by U-Boot when unlocked.

HyperFlash operation has been tested on a variety of SoCs (R-Car H3
ES1.1 & ES2.0, M3-W ES1.0, M3-N ES1.0, E3 ES1.0, and D3 ES1.1) and
boards (Salvator-XS, ULCB, Ebisu-4D, and Draak).

For testing, this series and its Linux dependencies (HF fix[3], clk[4],
pinctrl[5]) can be found at[6].

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+renesas@glider.be

[2] "[PATCH u-boot 0/3] renesas: Fix RPC-IF enablement"
    https://lore.kernel.org/r/cover.1648544792.git.geert+renesas@glider.be

[3] "[PATCH v3] memory: renesas-rpc-if: Fix HF/OSPI data transfer in
     Manual mode"
    https://lore.kernel.org/r/ad6ef2af754c8163f825d3a199d64f910d63f802.1648545212.git.geert+renesas@glider.be

[4] "[PATCH 0/2] clk: renesas: r8a7799[05]: Add RPC clocks"
    https://lore.kernel.org/r/cover.1648546700.git.geert+renesas@glider.be

[5] "[PATCH 0/2] pinctrl: renesas: r8a7799[05]: Add RPC pins, groups,
     and functions"
    https://lore.kernel.org/r/cover.1648547080.git.geert+renesas@glider.be

[6] https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git/log/?h=topic/rcar3-rpc-hf-v1

Geert Uytterhoeven (5):
  arm64: dts: renesas: rcar-gen3: Add RPC device nodes
  arm64: dts: renesas: draak: Add RPC HyperFlash device node
  arm64: dts: renesas: ebisu: Add RPC HyperFlash device node
  arm64: dts: renesas: salvator-common: Add RPC HyperFlash device node
  arm64: dts: renesas: ulcb: Add RPC HyperFlash device node

 arch/arm64/boot/dts/renesas/draak.dtsi        | 58 +++++++++++++++++++
 arch/arm64/boot/dts/renesas/ebisu.dtsi        | 58 +++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a77951.dtsi     | 16 +++++
 arch/arm64/boot/dts/renesas/r8a77960.dtsi     | 16 +++++
 arch/arm64/boot/dts/renesas/r8a77961.dtsi     | 16 +++++
 arch/arm64/boot/dts/renesas/r8a77965.dtsi     | 16 +++++
 arch/arm64/boot/dts/renesas/r8a77990.dtsi     | 16 +++++
 arch/arm64/boot/dts/renesas/r8a77995.dtsi     | 16 +++++
 .../boot/dts/renesas/salvator-common.dtsi     | 49 ++++++++++++++++
 arch/arm64/boot/dts/renesas/ulcb.dtsi         | 49 ++++++++++++++++
 10 files changed, 310 insertions(+)

-- 
2.25.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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



More information about the linux-arm-kernel mailing list