Skip to content

Commit 5a1ae24

Browse files
committed
[nrf fromlist] dts: nordic: nrf54h20: Change compatible property of EXMIF node
This is a follow-up to commit cdf45cb234077522b5cef2da084869af43d42dc1. Adjust the DTS node for the EXMIF peripheral so that it is possible to handle the peripheral with the generic MSPI driver for DW SSI based controllers and use all its data lines in communication. Also adjust the related board files accordingly. Signed-off-by: Andrzej Głąbek <[email protected]> (cherry picked from commit ad6bd27e4b1dddd5bdb045ae7204393a2e68d51c) Upstream PR: zephyrproject-rtos/zephyr#80042
1 parent 7959796 commit 5a1ae24

File tree

4 files changed

+32
-12
lines changed

4 files changed

+32
-12
lines changed

boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-pinctrl.dtsi

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,19 @@
7373
/omit-if-no-ref/ exmif_default: exmif_default {
7474
group1 {
7575
psels = <NRF_PSEL(EXMIF_CK, 6, 0)>,
76+
/* These two cannot be used until nrf-regtool
77+
* is updated.
78+
* <NRF_PSEL(EXMIF_CS0, 6, 3)>,
79+
* <NRF_PSEL(EXMIF_RWDS, 6, 2)>,
80+
*/
7681
<NRF_PSEL(EXMIF_DQ0, 6, 7)>,
77-
<NRF_PSEL(EXMIF_DQ1, 6, 5)>;
82+
<NRF_PSEL(EXMIF_DQ1, 6, 5)>,
83+
<NRF_PSEL(EXMIF_DQ2, 6, 10)>,
84+
<NRF_PSEL(EXMIF_DQ3, 6, 9)>,
85+
<NRF_PSEL(EXMIF_DQ4, 6, 11)>,
86+
<NRF_PSEL(EXMIF_DQ5, 6, 8)>,
87+
<NRF_PSEL(EXMIF_DQ6, 6, 6)>,
88+
<NRF_PSEL(EXMIF_DQ7, 6, 4)>;
7889
nordic,drive-mode = <NRF_DRIVE_H0H1>;
7990
};
8091
};

boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,15 +271,18 @@ ipc0: &cpuapp_cpurad_ipc {
271271
};
272272

273273
&exmif {
274-
cs-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;
275274
pinctrl-0 = <&exmif_default>;
276275
pinctrl-names = "default";
277276
status = "okay";
277+
/* Hardware control of CS0 cannot be used until nrf-regtool is updated.
278+
* Use GPIO instead for now.
279+
*/
280+
ce-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;
281+
278282
mx25uw63: mx25uw6345g@0 {
279-
compatible = "jedec,spi-nor";
280-
status = "disabled";
283+
compatible = "jedec,mspi-nor";
284+
status = "okay";
281285
reg = <0>;
282-
spi-max-frequency = <DT_FREQ_M(48)>;
283286
jedec-id = [c2 84 37];
284287
sfdp-bfp = [
285288
e5 20 8a ff ff ff ff 03 00 ff 00 ff 00 ff 00 ff
@@ -292,6 +295,15 @@ ipc0: &cpuapp_cpurad_ipc {
292295
has-dpd;
293296
t-enter-dpd = <10000>;
294297
t-exit-dpd = <30000>;
298+
reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
299+
300+
mspi-max-frequency = <DT_FREQ_M(50)>;
301+
mspi-io-mode = "MSPI_IO_MODE_OCTAL";
302+
mspi-data-rate = "MSPI_DATA_RATE_SINGLE";
303+
mspi-hardware-ce-num = <1>;
304+
mspi-cpp-mode = "MSPI_CPP_MODE_0";
305+
mspi-endian = "MSPI_BIG_ENDIAN";
306+
mspi-ce-polarity = "MSPI_CE_ACTIVE_LOW";
295307
};
296308
};
297309

dts/bindings/spi/nordic,nrf-exmif.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,4 @@ description: Nordic External Memory Interface (EXMIF)
55

66
compatible: "nordic,nrf-exmif"
77

8-
include: snps,designware-spi.yaml
9-
10-
properties:
11-
reg:
12-
required: true
8+
include: snps,designware-ssi.yaml

dts/common/nordic/nrf54h20.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -506,15 +506,16 @@
506506
};
507507

508508
exmif: spi@95000 {
509-
compatible = "nordic,nrf-exmif";
509+
compatible = "nordic,nrf-exmif", "snps,designware-ssi";
510510
#address-cells = <1>;
511511
#size-cells = <0>;
512512
reg = <0x95000 0x500 0x95500 0xb00>;
513513
reg-names = "wrapper", "core";
514514
interrupts = <149 NRF_DEFAULT_IRQ_PRIORITY>;
515515
clock-frequency = <DT_FREQ_M(400)>;
516516
fifo-depth = <32>;
517-
max-xfer-size = <16>;
517+
tx-fifo-threshold = <8>;
518+
rx-fifo-threshold = <24>;
518519
status = "disabled";
519520
};
520521

0 commit comments

Comments
 (0)