[PATCH v3 6/6] riscv: dts: microchip: add the mpfs' system controller qspi & associated flash
Conor Dooley
conor at kernel.org
Wed Oct 25 05:22:03 PDT 2023
On Fri, Oct 20, 2023 at 02:18:44PM +0100, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley at microchip.com>
>
> The system controller's flash can be accessed via an MSS-exposed QSPI
> controller sitting, which sits between the mailbox's control & data
> registers. On Icicle, it has an MT25QL01GBBB8ESF connected to it.
>
> The system controller and MSS both have separate QSPI controllers, both
> of which can access the flash, although the system controller takes
> priority.
> Unfortunately, on engineering sample silicon, such as that on Icicle
> kits, the MSS' QSPI controller cannot write to the flash due to a bug.
> As a workaround, a QSPI controller can be implemented in the FPGA
> fabric and the IO routing modified to connect it to the flash in place
> of the "hard" controller in the MSS.
>
> Signed-off-by: Conor Dooley <conor.dooley at microchip.com>
> ---
> .../boot/dts/microchip/mpfs-icicle-kit.dts | 21 +++++++++++++++++++
> arch/riscv/boot/dts/microchip/mpfs.dtsi | 17 +++++++++++++++
> 2 files changed, 38 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts b/arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts
> index 90b261114763..2dae3f8f33f6 100644
> --- a/arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts
> +++ b/arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts
> @@ -199,6 +199,27 @@ &syscontroller {
> status = "okay";
> };
>
> +&syscontroller_qspi {
> + /*
> + * The flash *is* there, but Icicle kits that have engineering sample
> + * silicon (write?) access to this flash to non-functional. The system
> + * controller itself can actually access it, but the MSS cannot write
> + * an image there. Instantiating a coreQSPI in the fabric & connecting
> + * it to the flash instead should work though. Pre-production or later
> + * silicon does not have this issue.
> + */
> + status = "disabled";
> +
> + sys_ctrl_flash: flash at 0 { // MT25QL01GBBB8ESF-0SIT
> + compatible = "jedec,spi-nor";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + spi-max-frequency = <20000000>;
> + spi-rx-bus-width = <1>;
> + reg = <0>;
> + };
> +};
Hmm, I think I will drop this part of the patch, and instead add the
flash for the sev-kit (which does work correctly) to avoid any confusion
as to why this is not supported on the current icicle kit boards.
Cheers,
Conor.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20231025/4cf4c536/attachment.sig>
More information about the linux-riscv
mailing list