From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8FDC5C433F5 for ; Tue, 29 Mar 2022 12:20:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236241AbiC2MVw (ORCPT ); Tue, 29 Mar 2022 08:21:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236234AbiC2MVv (ORCPT ); Tue, 29 Mar 2022 08:21:51 -0400 Received: from michel.telenet-ops.be (michel.telenet-ops.be [IPv6:2a02:1800:110:4::f00:18]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0734340C7 for ; Tue, 29 Mar 2022 05:20:07 -0700 (PDT) Received: from ramsan.of.borg ([IPv6:2a02:1810:ac12:ed40:d553:ff0a:6830:6bde]) by michel.telenet-ops.be with bizsmtp id CCL72700F49QC4406CL7PD; Tue, 29 Mar 2022 14:20:07 +0200 Received: from rox.of.borg ([192.168.97.57]) by ramsan.of.borg with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1nZApS-007GW3-VM; Tue, 29 Mar 2022 14:20:06 +0200 Received: from geert by rox.of.borg with local (Exim 4.93) (envelope-from ) id 1nZApS-00CDdQ-HH; Tue, 29 Mar 2022 14:20:06 +0200 From: Geert Uytterhoeven To: Magnus Damm Cc: Marek Vasut , linux-renesas-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven Subject: [PATCH 0/5] arm64: dts: renesas: rcar-gen3: Enable HyperFlash support Date: Tue, 29 Mar 2022 14:20:00 +0200 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8133BC433F5 for ; Tue, 29 Mar 2022 12:22:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=841tdDvwZKx3b2C9vLxKDl2qjIarvcmYZcjB3LTNrIQ=; b=jVH4rzS5wkzm3h Wz9iy5x2t4LBDjQFcGuceQ56eQCTqDyWz2Qw+ZdZyQwMfLunDoAufN2FNMpNk0/mv44k5SUw/tA4u oE7+dTZpzyWuR0SsXG9k1VVMgwgWy45tZ4RZcxahCxhXzCKQeJbDWcXQwsUBI5/gQdN5gqlRCoUb/ 9PHC/HZQzGsayYomlTB8/T6MNxwvucLpoyEEHv0UZzguwCRatABELRmE4qiGrtKDrOwG8WDfcUN/B L9R6C7h9wXWPMleozbABdObpg1Drsaw06Yy30IK2bMDvBaxlX9LMmnEXprTJgdZxNnLegP79ahbLo avD8yvPBcp5teqpJqI2w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nZAqE-00C9Lr-Dg; Tue, 29 Mar 2022 12:20:54 +0000 Received: from michel.telenet-ops.be ([2a02:1800:110:4::f00:18]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nZApX-00C98Y-1k for linux-arm-kernel@lists.infradead.org; Tue, 29 Mar 2022 12:20:14 +0000 Received: from ramsan.of.borg ([IPv6:2a02:1810:ac12:ed40:d553:ff0a:6830:6bde]) by michel.telenet-ops.be with bizsmtp id CCL72700F49QC4406CL7PD; Tue, 29 Mar 2022 14:20:07 +0200 Received: from rox.of.borg ([192.168.97.57]) by ramsan.of.borg with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1nZApS-007GW3-VM; Tue, 29 Mar 2022 14:20:06 +0200 Received: from geert by rox.of.borg with local (Exim 4.93) (envelope-from ) id 1nZApS-00CDdQ-HH; Tue, 29 Mar 2022 14:20:06 +0200 From: Geert Uytterhoeven To: Magnus Damm Cc: Marek Vasut , linux-renesas-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Geert Uytterhoeven Subject: [PATCH 0/5] arm64: dts: renesas: rcar-gen3: Enable HyperFlash support Date: Tue, 29 Mar 2022 14:20:00 +0200 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220329_052011_291765_B7C45385 X-CRM114-Status: GOOD ( 22.81 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel