All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] arm64: dts: renesas: rcar-gen3: Enable HyperFlash support
@ 2022-03-29 12:20 ` Geert Uytterhoeven
  0 siblings, 0 replies; 26+ messages in thread
From: Geert Uytterhoeven @ 2022-03-29 12:20 UTC (permalink / raw)
  To: Magnus Damm
  Cc: Marek Vasut, linux-renesas-soc, linux-arm-kernel, Geert Uytterhoeven

	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@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

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2022-04-11 13:24 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-29 12:20 [PATCH 0/5] arm64: dts: renesas: rcar-gen3: Enable HyperFlash support Geert Uytterhoeven
2022-03-29 12:20 ` Geert Uytterhoeven
2022-03-29 12:20 ` [PATCH 1/5] arm64: dts: renesas: rcar-gen3: Add RPC device nodes Geert Uytterhoeven
2022-03-29 12:20   ` Geert Uytterhoeven
2022-04-07  7:03   ` Wolfram Sang
2022-04-07  7:03     ` Wolfram Sang
2022-03-29 12:20 ` [PATCH 2/5] arm64: dts: renesas: draak: Add RPC HyperFlash device node Geert Uytterhoeven
2022-03-29 12:20   ` Geert Uytterhoeven
2022-04-07  6:56   ` Wolfram Sang
2022-04-07  6:56     ` Wolfram Sang
2022-04-07  7:01   ` Wolfram Sang
2022-04-07  7:01     ` Wolfram Sang
2022-04-07  7:04   ` Wolfram Sang
2022-04-07  7:04     ` Wolfram Sang
2022-03-29 12:20 ` [PATCH 3/5] arm64: dts: renesas: ebisu: " Geert Uytterhoeven
2022-03-29 12:20   ` Geert Uytterhoeven
2022-04-07  7:04   ` Wolfram Sang
2022-04-07  7:04     ` Wolfram Sang
2022-03-29 12:20 ` [PATCH 4/5] arm64: dts: renesas: salvator-common: " Geert Uytterhoeven
2022-03-29 12:20   ` Geert Uytterhoeven
2022-04-07  7:08   ` Wolfram Sang
2022-04-07  7:08     ` Wolfram Sang
2022-04-11 13:23     ` Geert Uytterhoeven
2022-04-11 13:23       ` Geert Uytterhoeven
2022-03-29 12:20 ` [PATCH 5/5] arm64: dts: renesas: ulcb: " Geert Uytterhoeven
2022-03-29 12:20   ` Geert Uytterhoeven

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.