summaryrefslogtreecommitdiff
path: root/arch/riscv/boot/dts/microchip/mpfs.dtsi
diff options
context:
space:
mode:
authorConor Dooley <conor.dooley@microchip.com>2023-10-20 16:18:44 +0300
committerConor Dooley <conor.dooley@microchip.com>2023-12-06 15:27:39 +0300
commit0678df8271820bcf8fb4f877129f05d68a237de4 (patch)
tree1e8f8b7afd4a9f92a010d1c897e12e8863bd427d /arch/riscv/boot/dts/microchip/mpfs.dtsi
parent637cb4b61b01c40058a51b5638210757a59ad3a9 (diff)
downloadlinux-0678df8271820bcf8fb4f877129f05d68a237de4.tar.xz
riscv: dts: microchip: add the mpfs' system controller qspi & associated flash
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@microchip.com>
Diffstat (limited to 'arch/riscv/boot/dts/microchip/mpfs.dtsi')
-rw-r--r--arch/riscv/boot/dts/microchip/mpfs.dtsi17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/riscv/boot/dts/microchip/mpfs.dtsi b/arch/riscv/boot/dts/microchip/mpfs.dtsi
index a6faf24f1dba..7ebce6dde6e4 100644
--- a/arch/riscv/boot/dts/microchip/mpfs.dtsi
+++ b/arch/riscv/boot/dts/microchip/mpfs.dtsi
@@ -193,6 +193,12 @@
mboxes = <&mbox 0>;
};
+ scbclk: mssclkclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <80000000>;
+ };
+
soc {
#address-cells = <2>;
#size-cells = <2>;
@@ -523,5 +529,16 @@
#mbox-cells = <1>;
status = "disabled";
};
+
+ syscontroller_qspi: spi@37020100 {
+ compatible = "microchip,mpfs-qspi", "microchip,coreqspi-rtl-v2";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x0 0x37020100 0x0 0x100>;
+ interrupt-parent = <&plic>;
+ interrupts = <110>;
+ clocks = <&scbclk>;
+ status = "disabled";
+ };
};
};