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: 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.
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].
Thanks for your comments!
[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; }
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?
Thanks!
Thanks for your comments!
[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
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
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
Hi Geert,
Thank you for the patch!
TF-A project uses Gerrit for code reviews. Please refer to the "Contributor's Guide" [1], in particular section "6.3. Submitting Changes".
Could you please post your patch to review.trustedfirmware.org, adding the Renesas platform maintainers as reviewers?
I will trigger a CI run on your patch (in this case, given the nature of the change, this is mainly just for commit message compliance) and I'll provide the "maintainer" review.
Best regards, Sandrine
[1] https://trustedfirmware-a.readthedocs.io/en/latest/process/contributing.html
On 8/24/22 11:54, Geert Uytterhoeven via TF-A wrote:
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
Hi Sandrine,
[dropped Jorge Ramirez-Ortiz, aas his address bounces, while he is still listed as first Renesas maintainer]
On Thu, Sep 1, 2022 at 9:57 AM Sandrine Bailleux sandrine.bailleux@arm.com wrote:
TF-A project uses Gerrit for code reviews. Please refer to the "Contributor's Guide" [1], in particular section "6.3. Submitting Changes".
Could you please post your patch to review.trustedfirmware.org, adding the Renesas platform maintainers as reviewers?
Thank you, I have done so. If anything is still missing, please let me know.
Thanks!
I will trigger a CI run on your patch (in this case, given the nature of the change, this is mainly just for commit message compliance) and I'll provide the "maintainer" review.
[1] https://trustedfirmware-a.readthedocs.io/en/latest/process/contributing.html
On 8/24/22 11:54, Geert Uytterhoeven via TF-A wrote:
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
Hi Sandrine,
On Tue, Sep 20, 2022 at 12:04 PM Geert Uytterhoeven geert@linux-m68k.org wrote:
On Thu, Sep 1, 2022 at 9:57 AM Sandrine Bailleux sandrine.bailleux@arm.com wrote:
TF-A project uses Gerrit for code reviews. Please refer to the "Contributor's Guide" [1], in particular section "6.3. Submitting Changes".
Could you please post your patch to review.trustedfirmware.org, adding the Renesas platform maintainers as reviewers?
Thank you, I have done so. If anything is still missing, please let me know.
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/16792 seems to be stuck because the CI tries to build for the unsupported "versal_net" plaform, hence fails.
What's the next step? Thanks!
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
Hi Geert,
Thanks for the nudge!
I've rebased your patch on top of the integration branch (which has the versal_net platform support patches), reran the CI and as I expected, it passed.
The patch has been merged now.
Regards, Sandrine
On 10/3/22 08:58, Geert Uytterhoeven wrote:
Hi Sandrine,
On Tue, Sep 20, 2022 at 12:04 PM Geert Uytterhoeven geert@linux-m68k.org wrote:
On Thu, Sep 1, 2022 at 9:57 AM Sandrine Bailleux sandrine.bailleux@arm.com wrote:
TF-A project uses Gerrit for code reviews. Please refer to the "Contributor's Guide" [1], in particular section "6.3. Submitting Changes".
Could you please post your patch to review.trustedfirmware.org, adding the Renesas platform maintainers as reviewers?
Thank you, I have done so. If anything is still missing, please let me know.
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/16792 seems to be stuck because the CI tries to build for the unsupported "versal_net" plaform, hence fails.
What's the next step? Thanks!
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
tf-a@lists.trustedfirmware.org