29. XSPI I/O manager (XSPIM)
29.1 XSPIM introduction
The XSPI I/O manager is a low-level interface, enabling an efficient XSPI pin assignment with a full I/O matrix (before alternate function map), and multiplex of single/dual/quad/octal/16-bit SPI interfaces over the same bus.
29.2 XSPIM main features
- • Supports up to two single/dual/quad/octal/16-bit SPI interfaces
- • Supports up to two ports for pin assignment
- • Supports high-speed interfaces
- • Manages up to three XSPIs
29.3 XSPIM implementation
Table 202 describes the XSPIM implementation.
Table 202. XSPIM implementation
| XSPI feature | Available on the devices |
|---|---|
| Supports up to two single/dual/quad interfaces | X |
| Fully I/O multiplexing capability | X |
| Supports time-multiplexed mode | X |
| Supports high-speed interface | X |
| Chip select selection if XSPI provides dual chip select | X |
| Supports 16-bit data interface and dual-octal mode | X |
| Supports up to three XSPIs | X |
29.4 XSPIM functional description
29.4.1 XSPIM block diagram
The block diagram of the XSPI I/O manager is shown in Figure 216 .
Figure 216. XSPIM block diagram
![Figure 216. XSPIM block diagram. The diagram shows the internal architecture of the XSPI I/O manager. At the top, an 'AHB interface' and 'Control register' are connected to an 'AHB' bus. Below this, an 'Arbiter' block receives 'REQ' signals from three XSPI controllers (XSPI1, XSPI2, XSPI3) and provides 'ACK' signals back to them. The 'Arbiter' also connects to 'Static muxing' and 'Dynamic muxing' blocks. These muxing blocks lead to an 'I/O matrix' which is divided into 'Port 1' and 'Port 2'. The 'I/O matrix' is connected to two 'PHY' blocks via a 'High speed interface'. The 'PHY' blocks are connected to external pins: XSPIM_P1_CLK, XSPIM_P1_NCLK, XSPIM_P1_DQS0,1, XSPIM_P1_NCS1,2, XSPIM_P1_IO[15:0] for Port 1, and XSPIM_P2_CLK, XSPIM_P2_NCLK, XSPIM_P2_DQS0, XSPIM_P2_NCS1,2, XSPIM_P2_IO[7:0] for Port 2.](/RM0486-STM32N6x5-x7/711e80f7c45c2ab74912654f89086a39_img.jpg)
29.4.2 XSPIM input/output pins
Table 203. XSPIM input/output pins
| Pin name (1) | Signal type | Description |
|---|---|---|
| XSPIM_Px_NCLK | Output | XSPI inverted clock to support 1.8 V HyperBus protocol. The inversion must be activated only in this case, setting bit INVCLK in the advanced I/O configuration section. |
| XSPIM_Px_CLK | XSPI clock | |
| XSPIM_Px_IO n (n = 0 to 15) | Input/output | XSPI data pins |
| XSPIM_Px_NCS1,2 | Output | Chip select for the memory |
| XSPIM_Px_DQS0,1 | Input/output | Data strobe/write mask signals from/to the memory |
1. x = 1 to 2.
29.4.3 XSPIM matrix
The XSPI I/O manager matrix allows the user to set a premapping of functions:
- • XSPI1 mapped to Port 1, with XSPI2 mapped to Port 2 (direct mode)
- • XSPI1 mapped to Port 2, with XSPI2 mapped to Port 1 (swapped mode)
- • XSPI1 and XSPI2 both mapped to Port 1, with arbitration (multiplexed mode), and XSPI3 mapped to Port 2
- • XSPI1 and XSPI2 both mapped to Port 2, with arbitration (multiplexed mode), and XSPI3 mapped to Port 1
Note: There is no possibility to use mixed combinations of signals (like NCS of XSPI1 with data of XSPI2).
When several I/O pins have the same configuration and are enabled at the same time, the result can be unpredictable.
In the default out-of-reset configuration, all the XSPI1 and XSPI2 signals are mapped, respectively, on Port 1 and on Port 2.
The configuration can be changed only when all XSPIs are disabled.
29.4.4 XSPIM multiplexed mode
When this mode is set, the XSPIs are time-multiplexed over the same bus. They get the ownership of the bus (in turn) through a request/acknowledge protocol with REQ/ACK signals.
The time-multiplexing is enabled by setting the MUXEN bit in the configuration register XSPIM_CR.
The fairness counter (MAXTRAN) of each XSPI can be used to manage the maximum duration for which a given XSPI takes the bus: this feature ensures the maximum bus access latency for the other XSPI(s). When one XSPI releases the bus, a round-robin arbitration phase occurs: when another XSPI requests the bus, it gets it.
When the multiplexed mode is enabled, either the fairness counter or the refresh timeout counter of both XSPI interfaces must be activated.
Each XSPI delivers two NCS signals (NCS1, NCS2). In multiplexed modes, the active NCS signal is the one of the XSPI owning the bus. Only XSPI_n_IOs, XSPI_n_DQS and XSPI_n_CLK / XSPI_n_NCLK are multiplexed.
When the multiplexed mode is used, only clock mode 0 is supported on the XSPIs.
Due to arbitration and bus sharing, the auto polling interval time of the XSPI, when used, can be increased.
Minimum switching duration
The minimum number of cycles needed to switch from an XSPI to another can be configured. This guarantees a latency between the falling edge of the REQ signal of the active XSPI (the active one releases the bus), and the rising edge of the ACK signal to the requesting XSPI (the bus is granted to the requesting one).
The duration is defined by the REQ2ACK_TIME field in the XSPIM_CR register.
29.5 Use cases description
The following table summarizes the use cases corresponding to IO manager modes.
Table 204. Use cases
| IO manager mode | MUXEN | Mode | Reference |
|---|---|---|---|
| Direct (XSPI1 to Port1, XSPI2 to Port2, XSPI3 not used) | 0 | 0 | Section 29.5.1 Section 29.5.2 |
| Swapped (XSPI1 to Port2, XSPI2 to Port1, XSPI3 not used) | 0 | 1 | Section 29.5.4 |
| Multiplexed to Port1 (XSPI1 and XSPI2 to Port1, XSPI3 to Port2) | 1 | 0 | Section 29.5.5 |
| Multiplexed to Port2 (XSPI1 and XSPI2 to Port2, XSPI3 to Port1). | 1 | 1 | Section 29.5.6 |
| XSPI1 and 2 drive a single external memory connected to Port1 or Port2, and XSPI3 drives one external memory connected to the other port. | 1 | 0 or 1, depending upon the port connected to the memory. | Section 29.5.7 |
| XSPI1 or 2 drives two external memories connected to Port1 or Port2, and XSPI3 is not used. | 0 | 0 or 1, depending upon the port connected to the memories. The selected XSPI instance hits the corresponding memory thanks to the NCS selection. | Section 29.5.8 |
29.5.1 XSPIs direct octal mode
This is the baseline mode: each XSPI independently drives the corresponding port and high-speed interface. There is no multiplexing.
The configuration selection signal selects the signals used for each high speed interface. These signals come from the XSPI_CR and XSPI_CALxxx register outputs.
Alternate function signals can be routed on NCS2 pins (they are not used for the XSPI bus), nclk clocks are requested in case of 1.8 V HyperBus memory type.
This mode is selected by default through bits XSPIM_CR[1:0].
Figure 217. XSPI direct octal mode

The diagram illustrates the XSPI direct octal mode architecture. On the left, an XSPI I/O manager block contains Control registers connected to an AHB bus, an Arbiter , and an I/O matrix with Port selection . The I/O matrix is divided into P1 and P2 sections, with Static and dynamic mixing indicated. Three XSPI ports are shown: XSPI1 (connected to P1), XSPI2 (connected to P2), and XSPI3 (not used) . Below the I/O matrix, Configuration signals selection and Configuration signals are provided to a High speed interface block. The High speed interface block contains High speed interface 1 and High speed interface 2 . Alternate functions signals are also input to this block. On the right, two Octal memory blocks are shown. Octal memory 1 is connected to High speed interface 1 via signals: XSPIM_P1_CLK (clk), XSPIM_P1_NCLK (nclk), XSPIM_P1_DQS0 (Data strobe), XSPIM_P1_NCS1 (nCS), XSPIM_P1_NCS2 , XSPIM_P1_IO[7:0] (Data[7:0]), and XSPIM_P1_IO[15:8] . Octal memory 2 is connected to High speed interface 2 via signals: XSPIM_P2_CLK (clk), XSPIM_P2_NCLK (nclk), XSPIM_P2_DQS0 (Data strobe), XSPIM_P2_NCS1 (nCS), XSPIM_P2_NCS2 , and XSPIM_P2_IO[7:0] (Data[7:0]).
29.5.2 XSPI direct 16-bit mode
This is the baseline mode, completely similar to XSPI octal direct mode, where each XSPI directly drives the corresponding port (XSPI1 connected to Port 1, XSPI2 connected to Port 2). Two DQS (1 per byte) are needed for each 16-bit port, when available.
Figure 218. XSPI direct 16-bit mode

The diagram illustrates the internal architecture of the XSPI I/O manager (XSPIM) and its connection to external devices in direct 16-bit mode. The XSPIM is connected to an AHB bus and contains control registers, an arbiter, and an I/O matrix with ports P1 and P2. It also includes static and dynamic muxing. Three XSPI interfaces are shown: XSPI1, XSPI2, and XSPI3 (which is not used). The I/O matrix is connected to two high-speed interfaces, High speed interface 1 and High speed interface 2, which are further connected to external memories. High speed interface 1 is connected to 16-bit memory 1, and High speed interface 2 is connected to Octal memory 2. The connections between the high-speed interfaces and the memories are labeled with specific signal names: XSPIM_P1_CLK, XSPIM_P1_NCLK, XSPIM_P1_DQS0, XSPIM_P1_DQS1, XSPIM_P1_NCS1, XSPIM_P1_NCS2, and XSPIM_P1_IO[15:0] for memory 1; and XSPIM_P2_CLK, XSPIM_P2_NCLK, XSPIM_P2_DQS0, XSPIM_P2_NCS1, XSPIM_P2_NCS2, and XSPIM_P2_IO[7:0] for memory 2. The memories themselves have pins for clk, nclk, Data strobe, nCS, and Data (Data[15:0] for memory 1 and Data[7:0] for memory 2). Configuration signals and configuration signals selection are also shown connecting to the high-speed interfaces.
29.5.3 XSPI dual-octal mode
This mode is equivalent to XSPI direct mode, but, for simplicity, only one XSPI interface is represented. Two external octal memories are accessed in parallel, similarly to the dual-quad mode implemented with octal interfaces.
Figure 219. XSPI dual-octal mode

The diagram illustrates the XSPI dual-octal mode configuration. On the left, an 'XSPI' block is connected to an 'XSPI I/O manager' block. The 'XSPI I/O manager' contains 'Control registers' connected to an 'AHB' bus, an 'Arbiter', 'Static and dynamic muxing', and an 'I/O matrix' with 'Port selection' for 'P1' and 'P2'. 'Configuration signals' are sent from the 'XSPI' block to a 'High speed interface' block. The 'High speed interface' block is connected to 'Alternate functions signals' and has pins labeled XSPIM_P1_CLK, XSPIM_P1_NCLK, XSPIM_P1_DQS0, XSPIM_P1_NCS1, XSPIM_P1_NCS2, XSPIM_P1_IO[7:0], XSPIM_P1_DQS1, and XSPIM_P1_IO[15:8]. These pins connect to a 'Multichip package (MCP)' which contains two 'Octal memory' blocks, 'Octal memory 1' and 'Octal memory 2'. Each memory block has pins for 'clk', 'nclk', 'Data strobe', 'nCS', and 'Data[7:0]'. The connections are as follows: XSPIM_P1_CLK to Octal memory 1 clk, XSPIM_P1_NCLK to Octal memory 1 nclk, XSPIM_P1_DQS0 to Octal memory 1 Data strobe, XSPIM_P1_NCS1 to Octal memory 1 nCS, XSPIM_P1_NCS2 to Octal memory 2 nCS, XSPIM_P1_IO[7:0] to Octal memory 1 Data[7:0], XSPIM_P1_DQS1 to Octal memory 2 Data strobe, and XSPIM_P1_IO[15:8] to Octal memory 2 Data[7:0].
29.5.4 XSPI swapped mode
This mode is similar to XSPI direct mode, but the ports are swapped, to help I/O mapping. The mode is selected by bits XSPIM_CR[1:0].
If XSPIM.CR[0] or XSPIM.CR[1] is toggled in application, XSPI.DCR2 or XSPI.CCR must be written, so that the calibration of the high speed interface is launched according to the new XSPI using it.
Note: In swapped mode, the XSPI2 can be configured in 16-bit mode, and the XSPI1 can be configured in octal mode, to connect an external 16-bit memory on Port 1, and to connect in a concurrent way an octal external memory connected to Port 2 of the I/O manager.
Figure 220. XSPI swapped (octal) mode

The diagram illustrates the internal architecture of the XSPI I/O manager and its connection to external components. On the left, three XSPI controllers (XSPI1, XSPI2, and XSPI3, which is not used) are connected to the XSPI I/O manager. The manager contains control registers, an arbiter, and an I/O matrix with static and dynamic muxing. The arbiter selects between XSPI1 and XSPI2 for Port 1. The I/O matrix routes signals to two high-speed interfaces. Port 1 connects to Octal memory 1, and Port 2 connects to Octal memory 2. The signals for Port 1 include XSPIM_P1_CLK, XSPIM_P1_NCLK, XSPIM_P1_DQS0, XSPIM_P1_DQS1, XSPIM_P1_NCS1, XSPIM_P1_NCS2, XSPIM_P1_IO[7:0], and XSPIM_P1_IO[15:8]. The signals for Port 2 include XSPIM_P2_CLK, XSPIM_P2_NCLK, XSPIM_P2_DQS0, XSPIM_P2_NCS1, XSPIM_P2_NCS2, and XSPIM_P2_IO[7:0]. The high-speed interfaces provide configuration signals to the memories. The diagram also shows alternate function signals and the AHB bus connection to the control registers. The identifier MS55957V2 is present in the bottom right corner.
29.5.5 Two XSPIs multiplexed mode to Port 1 accessing two external memories, and the third XSPI accessing Port 2
If only one output port is used to access two memories, alternate function signals can be routed to pins corresponding to the other port. This mode is selected by bits XSPIM_CR[1:0].
The arbiter in the IO manager selects XSPI1 or XSPI2 to own the octal-SPI bus according to the existing transfer requests and status of the two MAXTRAN fairness counters.
The external memories can be on separate chips, or embedded in a single multichip package. In this case, each memory requests a dedicated Chip select, selected according to the CSSEL control of the XSPI currently owning the bus.
The configuration signals of the high speed interface toggle when the corresponding XSPI is selected, because the timing characteristics of the two memories can be different.
Figure 221. XSPI multiplexed mode to Port1
![Block diagram of XSPI multiplexed mode to Port1. It shows the XSPI I/O manager connected to an AHB bus, control registers, an arbiter, and three XSPI units (XSPI1, XSPI2, XSPI3). The XSPI units are connected to an I/O matrix with static and dynamic muxing. The I/O matrix is connected to two high-speed interfaces (High speed interface 1 and High speed interface 2) and a general High speed interface. The high-speed interfaces are connected to external memory packages (Octal memory 1, 2, and 3) via various pins like XSPIM_P1_CLK, XSPIM_P1_NCLK, XSPIM_P1_DQS0, XSPIM_P1_DQS1, XSPIM_P1_NCS1, XSPIM_P1_NCS2, XSPIM_P1_IO[7:0], and XSPIM_P1_IO[15:8]. Configuration signals are also shown.](/RM0486-STM32N6x5-x7/da34ba8b78d617804f8d4a44cfc0a71c_img.jpg)
The diagram illustrates the internal architecture of the XSPI I/O manager (XSPIM) in multiplexed mode for Port 1. On the left, three XSPI units (XSPI1, XSPI2, XSPI3) are connected to an internal I/O matrix. This matrix features 'Static and dynamic muxing' and is connected to an 'Arbiter' and 'Control registers'. The 'Control registers' are interfaced with an 'AHB' bus. 'Port selection' signals from the control registers are sent to the I/O matrix. The I/O matrix is connected to 'High speed interface 1' and 'High speed interface 2'. 'Alternate functions signals' are also connected to these interfaces. A general 'High speed interface' block is shown at the bottom, receiving 'Configuration signals selection' and 'Configuration signals' from the XSPI units. On the right, the high-speed interfaces connect to external memory packages. Port 1 (High speed interface 1) connects to two 'Octal memory' packages (labeled 'Octal memory 1' and 'Octal memory 2') which are part of 'Two separate memory packages or multi-chip package (MCP)'. The pins for Port 1 are XSPIM_P1_CLK, XSPIM_P1_NCLK, XSPIM_P1_DQS0, XSPIM_P1_DQS1, XSPIM_P1_NCS1, XSPIM_P1_NCS2, XSPIM_P1_IO[7:0], and XSPIM_P1_IO[15:8]. Port 2 (High speed interface 2) connects to 'Octal memory 3'. The pins for Port 2 are XSPIM_P2_CLK, XSPIM_P2_NCLK, XSPIM_P2_DQS0, XSPIM_P2_NCS1, XSPIM_P2_NCS2, and XSPIM_P2_IO[7:0]. Each memory package has pins for clk, nclk, Data strobe, nCS, and Data[7:0]. The identifier 'MS55960V2' is present in the bottom right corner of the diagram.
29.5.6 Two XSPIs multiplexed mode to Port 2 accessing two external memories, and the third XSPI accessing Port 1
This is similar to XSPI multiplexed mode to Port 1, but the target is Port 2. This mode is selected by bits XSPIM_CR[2:1].
Figure 222. XSPI multiplexed (octal and dual-octal) mode to Port 2
![Figure 222: XSPI multiplexed (octal and dual-octal) mode to Port 2. This block diagram illustrates the internal architecture of the XSPI I/O manager and its connection to external memory. On the left, three XSPI controllers (XSPI1, XSPI2, XSPI3) are connected to a central 'XSPI I/O manager' block. The manager contains 'Control registers' connected to an 'AHB' bus, an 'Arbiter', and an 'I/O matrix' with 'Static and dynamic muxing'. The I/O matrix is divided into two ports: P1 and P2. Port 1 is connected to 'High speed interface 1' and leads to 'Octal memory 3'. Port 2 is connected to 'High speed interface 2' and leads to a group of 'Two-memory packages or multi-chip package (MCP)' containing 'Octal memory 1' and 'Octal memory 2'. 'Configuration signals selection' and 'Configuration signals' are shown entering the high-speed interfaces from the XSPI controllers. A vertical line labeled 'Alternate functions signals' is also shown. The signal names for Port 1 include XSPIM_P1_CLK, XSPIM_P1_NCLK, XSPIM_P1_DQS0, XSPIM_P1_DQS1, XSPIM_P1_NCS1, XSPIM_P1_NCS2, XSPIM_P1_IO[7:0], and XSPIM_P1_IO[15:8]. The signal names for Port 2 include XSPIM_P2_CLK, XSPIM_P2_NCLK, XSPIM_P2_DQS0, XSPIM_P2_NCS1, XSPIM_P2_NCS2, and XSPIM_P2_IO[7:0]. The memory chips show pins for clk, nclk, Data strobe, nCS, and Data[7:0]. A reference code 'MS55962V2' is in the bottom right corner.](/RM0486-STM32N6x5-x7/d52b7e27bd8942a969bcf94e0f44d064_img.jpg)
Note: It is possible to connect a 16-bit memory on Port 1, whereas Port 2 uses multiplexing mode on two octal memories.
29.5.7 XSPI1 and XSPI2 drive a single external memory
This is similar to XSPIs multiplexed mode to Port 1, but in this case only one external memory is present. Both CSSEL controls must target the same NCS (NCS1 in Figure 223).
Figure 223. XSPI1 and XSPI2 drive a single external memory (octal mode)

The diagram illustrates the internal architecture of the XSPI I/O manager (XSPIM) and its connection to external memories. On the left, the XSPIM is connected to an AHB bus and contains control registers, an arbiter, and an I/O matrix with static and dynamic muxing. Three XSPI controllers (XSPI1, XSPI2, XSPI3) are shown. XSPI1 and XSPI2 are connected to the I/O matrix and their signals are routed through 'High speed interface 1' and 'High speed interface 2' to a common 'High speed interface'. XSPI3 is connected to the I/O matrix and its signals are routed through the common 'High speed interface'. The common 'High speed interface' connects to two external memories: 'Octal memory 1' and 'Octal memory 2'. The signals for Octal memory 1 are: XSPIM_P1_CLK (clk), XSPIM_P1_NCLK (nclk), XSPIM_P1_DQS0 (Data strobe), XSPIM_P1_DQS1, XSPIM_P1_NCS1 (nCS), XSPIM_P1_NCS2, XSPIM_P1_IO[7:0] (Data[7:0]), and XSPIM_P1_IO[15:8]. The signals for Octal memory 2 are: XSPIM_P2_CLK (clk), XSPIM_P2_NCLK (nclk), XSPIM_P2_DQS0 (Data strobe), XSPIM_P2_NCS1 (nCS), XSPIM_P2_NCS2, and XSPIM_P2_IO[7:0] (Data[7:0]). Configuration signals and configuration signals selection are also shown. The diagram is labeled MS55964V2.
This use case is valid even when Port 2 is used instead of Port 1, and also possible with XSPI1 and XSPI2 interfacing a 16-bit memory (connecting XSPIM_P1_DQS1 to the memory).
29.5.8 A single XSPI drives two external memories
This is a subset of direct mode and corresponds to semi-dynamic switching. There are two target memories, but the arbiter is not used. The software must set the XSPI1 chip selector (bit 24 of the XSPI_CR register) each time the target memory changes.
The baseline use case boots on flash (memory1) and then switches to SRAM (memory2) for the rest of the application.
Figure 224. Single XSPI driving two external memories

The diagram illustrates the internal architecture of the XSPI I/O manager and its connection to two external memories. On the left, an XSPI1 block is connected to the XSPI I/O manager via XSPI1 bus signals (ACK1, REQ1, CS1, CSSEL1). The XSPI I/O manager contains an AHB interface connected to an AHB bus, a Control register , an Arbiter , Static muxing , Dynamic muxing , and an I/O matrix . The Arbiter receives configuration signals and controls the Static muxing and Dynamic muxing blocks. The Static muxing block connects to the I/O matrix . The I/O matrix is connected to two High speed interface blocks, labeled High speed interface 1 and High speed interface 2 . These interfaces are connected to a Multipack package (MCP) containing two Octal memory blocks, Octal memory 1 and Octal memory 2 . The connections between the interfaces and the memories are as follows:
- XSPIM_P1_CLK connects to clk on both memories.
- XSPIM_P1_NCLK connects to nclk on both memories.
- XSPIM_P1_DQS0 connects to Data strobe on both memories.
- XSPIM_P1_NCS1 connects to nCS on Octal memory 1 .
- XSPIM_P1_NCS2 connects to nCS on Octal memory 2 .
- XSPIM_P1_IO[7:0] connects to Data[7:0] on Octal memory 1 .
- XSPIM_P1_IO[15:8] connects to Data[7:0] on Octal memory 2 .
This use case shows a configuration using XSPI1 on Port 1. It is also valid if the instance is XSPI2 instead of XSPI1, but with MODE = 1. The use case is also valid when Port 2 is used instead of Port 1, by configuring MODE bit according to the instance (XSPI1 or XSPI2) driving the two external memories.
29.6 XSPIM registers
29.6.1 XSPIM control register (XSPIM_CR)
Address offset: 0x0000
Reset value: 0x0000 0000
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | REQ2ACK_TIME[7:0] | |||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | CSSEL_OVR_O2 | CSSEL_OVR_O1 | CSSEL_OVR_EN | Res. | Res. | MODE | MUXEN |
| rw | rw | rw | rw | rw | |||||||||||
Bits 31:24 Reserved, must be kept at reset value.
Bits 23:16 REQ2ACK_TIME[7:0] : REQ to ACK time
In Multiplexed mode (MUXEN = 1), this field defines the time between two transactions.
The value is the number of XSPI clock cycles - 1
Bits 15:7 Reserved, must be kept at reset value.
Bit 6 CSSEL_OVR_O2 : Chip select selector override setting for XSPI2
0: XSPI2 can only use NCS1 (accesses using NCS2 are ignored)
1: XSPI2 can only use NCS2 (accesses using NCS1 are ignored)
Bit 5 CSSEL_OVR_O1 : Chip select selector override setting for XSPI1
0: XSPI1 can only use NCS1 (accesses using NCS2 are ignored)
1: XSPI1 can only use NCS2 (accesses using NCS1 are ignored)
Bit 4 CSSEL_OVR_EN : Chip select selector override enable
0: CSSEL_OVR_O1 and CSSEL_OVR_O2 bit values are ignored, the chip select signals from OCTOSPIs or XSPIs are transmitted unconditionally
1: CSSEL_OVR_O1 and CSSEL_OVR_O2 bit values are taken into account
Bits 3:2 Reserved, must be kept at reset value.
Bit 1 MODE : XSPI multiplexing mode
0: if MUXEN = 0 direct mode, if MUXEN = 1 arbitration mode to output Port 1
1: if MUXEN = 0 swapped mode, if MUXEN = 1 arbitration mode to output Port 2
Bit 0 MUXEN : Multiplexed mode enable
This bit enables the multiplexing of the two XSPIs.
0: No multiplexing, hence no arbitration
1: XSPI1 and XSPI2 are multiplexed over the same bus
29.6.2 XSPIM register map
Table 205. XSPIM register map and reset values
| Offset | Register name | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x0000 | XSPIM_CR | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | REQ2ACK_TIME[7:0] | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | Res. | 0 | 0 | 0 | Res. | Res. | MODE | MUXEN | |||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
Refer to Section 2.3: Memory organization for the register boundary addresses.