Skip to content

Commit 2af818a

Browse files
committed
[nrf fromlist] dts: nordic: Change compatible property for EXMIF node
This is a follow-up to commit cdf45cb234077522b5cef2da084869af43d42dc1. Adjust the DTS node for the nRF 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. Upstream PR #: 80042 Signed-off-by: Andrzej Głąbek <[email protected]>
1 parent 7e52d66 commit 2af818a

File tree

7 files changed

+61
-21
lines changed

7 files changed

+61
-21
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
@@ -262,15 +262,18 @@ ipc0: &cpuapp_cpurad_ipc {
262262
};
263263

264264
&exmif {
265-
cs-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;
266265
pinctrl-0 = <&exmif_default>;
267266
pinctrl-names = "default";
268267
status = "okay";
268+
/* Hardware control of CS0 cannot be used until nrf-regtool is updated.
269+
* Use GPIO instead for now.
270+
*/
271+
ce-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;
272+
269273
mx25uw63: mx25uw6345g@0 {
270-
compatible = "jedec,spi-nor";
271-
status = "disabled";
274+
compatible = "jedec,mspi-nor";
275+
status = "okay";
272276
reg = <0>;
273-
spi-max-frequency = <DT_FREQ_M(48)>;
274277
jedec-id = [c2 84 37];
275278
sfdp-bfp = [
276279
e5 20 8a ff ff ff ff 03 00 ff 00 ff 00 ff 00 ff
@@ -283,6 +286,15 @@ ipc0: &cpuapp_cpurad_ipc {
283286
has-dpd;
284287
t-enter-dpd = <10000>;
285288
t-exit-dpd = <30000>;
289+
reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
290+
291+
mspi-max-frequency = <DT_FREQ_M(50)>;
292+
mspi-io-mode = "MSPI_IO_MODE_OCTAL";
293+
mspi-data-rate = "MSPI_DATA_RATE_SINGLE";
294+
mspi-hardware-ce-num = <1>;
295+
mspi-cpp-mode = "MSPI_CPP_MODE_0";
296+
mspi-endian = "MSPI_BIG_ENDIAN";
297+
mspi-ce-polarity = "MSPI_CE_ACTIVE_LOW";
286298
};
287299
};
288300

boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280-pinctrl.dtsi

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,19 @@
5454
/omit-if-no-ref/ exmif_default: exmif_default {
5555
group1 {
5656
psels = <NRF_PSEL(EXMIF_CK, 6, 0)>,
57+
/* These two cannot be used until nrf-regtool
58+
* is updated.
59+
* <NRF_PSEL(EXMIF_CS0, 6, 3)>,
60+
* <NRF_PSEL(EXMIF_RWDS, 6, 2)>,
61+
*/
5762
<NRF_PSEL(EXMIF_DQ0, 6, 7)>,
58-
<NRF_PSEL(EXMIF_DQ1, 6, 5)>;
63+
<NRF_PSEL(EXMIF_DQ1, 6, 5)>,
64+
<NRF_PSEL(EXMIF_DQ2, 6, 10)>,
65+
<NRF_PSEL(EXMIF_DQ3, 6, 9)>,
66+
<NRF_PSEL(EXMIF_DQ4, 6, 11)>,
67+
<NRF_PSEL(EXMIF_DQ5, 6, 8)>,
68+
<NRF_PSEL(EXMIF_DQ6, 6, 6)>,
69+
<NRF_PSEL(EXMIF_DQ7, 6, 4)>;
5970
nordic,drive-mode = <NRF_DRIVE_H0H1>;
6071
};
6172
};

boards/nordic/nrf9280pdk/nrf9280pdk_nrf9280_cpuapp.dts

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

255255
&exmif {
256-
cs-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;
257256
pinctrl-0 = <&exmif_default>;
258257
pinctrl-names = "default";
259258
status = "okay";
259+
/* Hardware control of CS0 cannot be used until nrf-regtool is updated.
260+
* Use GPIO instead for now.
261+
*/
262+
ce-gpios = <&gpio6 3 GPIO_ACTIVE_LOW>;
263+
260264
mx25uw63: mx25uw6345g@0 {
261-
compatible = "jedec,spi-nor";
262-
status = "disabled";
265+
compatible = "jedec,mspi-nor";
266+
status = "okay";
263267
reg = <0>;
264-
spi-max-frequency = <DT_FREQ_M(48)>;
265268
jedec-id = [c2 84 37];
266269
sfdp-bfp = [
267270
e5 20 8a ff ff ff ff 03 00 ff 00 ff 00 ff 00 ff
@@ -274,6 +277,15 @@ ipc0: &cpuapp_cpurad_ipc {
274277
has-dpd;
275278
t-enter-dpd = <10000>;
276279
t-exit-dpd = <30000>;
280+
reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>;
281+
282+
mspi-max-frequency = <DT_FREQ_M(50)>;
283+
mspi-io-mode = "MSPI_IO_MODE_OCTAL";
284+
mspi-data-rate = "MSPI_DATA_RATE_SINGLE";
285+
mspi-hardware-ce-num = <1>;
286+
mspi-cpp-mode = "MSPI_CPP_MODE_0";
287+
mspi-endian = "MSPI_BIG_ENDIAN";
288+
mspi-ce-polarity = "MSPI_CE_ACTIVE_LOW";
277289
};
278290
};
279291

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: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -497,16 +497,15 @@
497497
status = "disabled";
498498
};
499499

500-
exmif: spi@95000 {
501-
compatible = "nordic,nrf-exmif";
500+
exmif: exmif@95000 {
501+
compatible = "nordic,nrf-exmif", "snps,designware-ssi";
502502
#address-cells = <1>;
503503
#size-cells = <0>;
504504
reg = <0x95000 0x500 0x95500 0xb00>;
505505
reg-names = "wrapper", "core";
506506
interrupts = <149 NRF_DEFAULT_IRQ_PRIORITY>;
507507
clock-frequency = <DT_FREQ_M(400)>;
508508
fifo-depth = <32>;
509-
max-xfer-size = <16>;
510509
status = "disabled";
511510
};
512511

dts/common/nordic/nrf9280.dtsi

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,16 +360,15 @@
360360
status = "disabled";
361361
};
362362

363-
exmif: spi@95000 {
364-
compatible = "nordic,nrf-exmif";
363+
exmif: exmif@95000 {
364+
compatible = "nordic,nrf-exmif", "snps,designware-ssi";
365365
#address-cells = <1>;
366366
#size-cells = <0>;
367367
reg = <0x95000 0x500 0x95500 0xb00>;
368368
reg-names = "wrapper", "core";
369369
interrupts = <149 NRF_DEFAULT_IRQ_PRIORITY>;
370370
clock-frequency = <DT_FREQ_M(400)>;
371371
fifo-depth = <32>;
372-
max-xfer-size = <16>;
373372
status = "disabled";
374373
};
375374

0 commit comments

Comments
 (0)