[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