\n

SPIM

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x8 byte (0x0)
mem_usage : registers
protection :

address_offset : 0x10 Bytes (0x0)
size : 0x20 byte (0x0)
mem_usage : registers
protection :

Registers

SPIM_CTL0 (CTL0)

SPIM_RX0 (RX0)

SPIM_RX1 (RX1)

SPIM_RX2 (RX2)

SPIM_RX3 (RX3)

SPIM_TX0 (TX0)

SPIM_TX1 (TX1)

SPIM_TX2 (TX2)

SPIM_TX3 (TX3)

SPIM_CTL1 (CTL1)


SPIM_CTL0 (CTL0)

Control and Status Register 0
address_offset : 0x0 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_CTL0 SPIM_CTL0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RXDMAEN TXDMAEN IEN IF DWIDTH BURSTNUM QDIODIR SUSPITV BITMODE

RXDMAEN : RX DMA Enable Control Bit If set RXDMAEN to high, SPI interface will receive the data from slave automatically. Note: Only support master mode. Note2: Before setting RXDMAEN, user must set PDMA register correctly first.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMA Disabled

#1 : 1

DMA Enable

End of enumeration elements list.

TXDMAEN : TX DMA Enable Control Bit If set TXDMAEN to high, SPI interface will transfer the data to slave automatically. Note: Only support master mode. Note2: Before setting RXDMAEN, user must set PDMA register correctly first.
bits : 1 - 1 (1 bit)
access : read-write

Enumeration:

#0 : 0

DMA Disabled

#1 : 1

DMA Enable

End of enumeration elements list.

IEN : Interrupt Enable Control
bits : 6 - 6 (1 bit)
access : read-write

Enumeration:

#0 : 0

SPIM Interrupt Disabled

#1 : 1

SPIM Interrupt Enabled

End of enumeration elements list.

IF : Interrupt Flag Write Operation:
bits : 7 - 7 (1 bit)
access : read-write

Enumeration:

#0 : 0

No effect. The transfer has not finished yet

#1 : 1

Write 1 to clear. The transfer has done

End of enumeration elements list.

DWIDTH : Transmit/Receive Bit Length This field specifies how many bits are transmitted/received in one transmit/receive transaction. Note: Only 8-, 16-, 24-, and 32-bit are allowed. Other bit length will result in incorrect transfer.
bits : 8 - 12 (5 bit)
access : read-write

Enumeration:

0x7 : 7

8 bits

0xf : 15

16 bits

0x17 : 23

24 bits

0x1f : 31

32 bits

End of enumeration elements list.

BURSTNUM : Transmit/Receive Burst Number This field specifies how many transmit/receive transactions should be executed continuously in one transfer.
bits : 13 - 14 (2 bit)
access : read-write

Enumeration:

#00 : 0

Only one transmit/receive transaction will be executed in one transfer

#01 : 1

Two successive transmit/receive transactions will be executed in one transfer

#10 : 2

Three successive transmit/receive transactions will be executed in one transfer

#11 : 3

Four successive transmit/receive transactions will be executed in one transfer

End of enumeration elements list.

QDIODIR : SPI Interface Direction Select For Quad/Dual Mode
bits : 15 - 15 (1 bit)
access : read-write

Enumeration:

#0 : 0

Interface signals are input

#1 : 1

Interface signals are output

End of enumeration elements list.

SUSPITV : Suspend Interval
bits : 16 - 19 (4 bit)
access : read-write

Enumeration:

0x0 : 0

2 HCLK clock cycles

0x1 : 1

3 HCLK clock cycles

0xe : 14

16 HCLK clock cycles

0xf : 15

17 HCLK clock cycles

End of enumeration elements list.

BITMODE : SPI Interface Bit Mode Note. SPIM_MOSI is Data 0 pin for Quad Mode. SPIM_MISO is Data 1 pin for Quad Mode.
bits : 20 - 21 (2 bit)
access : read-write

Enumeration:

#00 : 0

Standard mode

#01 : 1

Dual mode

#10 : 2

Quad mode

#11 : 3

Reserved

End of enumeration elements list.


SPIM_RX0 (RX0)

Data Receive Register 0
address_offset : 0x10 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0

SPIM_RX0 SPIM_RX0 read-only 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RX

RX : Data Receive Register The Data Receive Registers hold the received data of the last executed transfer. Number of valid RX registers is specified in SPIM_CTL0[BURSTNUM]. If BURSTNUM > 0, received data are held in the most significant RX register first. Number of valid-bit is specified in SPIM_CTL0[DWIDTH]. If DWIDTH is 16, 24, or 32, received data are held in the least significant byte of RX register first. In a byte, received data are held in the most significant bit of RX register first.
bits : 0 - 31 (32 bit)
access : read-only


SPIM_RX1 (RX1)

Data Receive Register 1
address_offset : 0x14 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_RX1 SPIM_RX1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SPIM_RX2 (RX2)

Data Receive Register 2
address_offset : 0x18 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_RX2 SPIM_RX2 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SPIM_RX3 (RX3)

Data Receive Register 3
address_offset : 0x1C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_RX3 SPIM_RX3 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SPIM_TX0 (TX0)

Data Transmit Register 0
address_offset : 0x20 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_TX0 SPIM_TX0 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TX

TX : Data Transmit Register The Data Transmit Registers hold the data to be transmitted in next transfer. Number of valid TX registers is specified in SPIM_CTL0[BURSTNUM]. If BURSTNUM > 0, data are transmitted in the most significant TX register first. Number of valid-bit is specified in SPIM_CTL0[DWIDTH]. If DWIDTH is 16, 24, or 32, data are transmitted in the least significant byte of TX register first. In a byte, data are transmitted in the most significant bit of TX register first.
bits : 0 - 31 (32 bit)
access : read-write


SPIM_TX1 (TX1)

Data Transmit Register 1
address_offset : 0x24 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_TX1 SPIM_TX1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SPIM_TX2 (TX2)

Data Transmit Register 2
address_offset : 0x28 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_TX2 SPIM_TX2 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SPIM_TX3 (TX3)

Data Transmit Register 3
address_offset : 0x2C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_TX3 SPIM_TX3 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SPIM_CTL1 (CTL1)

Control Register 1
address_offset : 0x4 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

SPIM_CTL1 SPIM_CTL1 read-write 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SPIMEN SS SSACTPOL DLYSEL DIVIDER

SPIMEN : Go and Busy Status Write Operation: Note: All registers should be set before writing 1 to the SPIMEN bit. When a transfer is in progress, you should not write to any register of this peripheral.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

#0 : 0

No effect. The transfer has done

#1 : 1

Start the transfer. This bit remains set during the transfer and is automatically cleared after transfer finished. The transfer has not finished yet

End of enumeration elements list.

SS : Slave Select Active Enable Control Note: This interface can only drive one device/slave at a given time. Therefore, the slave selects of the selected device must be set to its active level before starting any read or write transfer.
bits : 4 - 4 (1 bit)
access : read-write

Enumeration:

#0 : 0

SPIM_SS is in active level

#1 : 1

SPIM_SS is in inactive level

End of enumeration elements list.

SSACTPOL : Slave Select Active Level It defines the active level of device/slave select signal (SPIM_SS).
bits : 5 - 5 (1 bit)
access : read-write

Enumeration:

#0 : 0

The SPIM_SS slave select signal is Active Low

#1 : 1

The SPIM_SS slave select signal is Active High

End of enumeration elements list.

DLYSEL : RX Sample Clock Source Delay Chain Select
bits : 12 - 14 (3 bit)
access : read-write

Enumeration:

#000 : 0

Not Delay

#001 : 1

Select sample clock through 2 Delay Cell

#010 : 2

Select sample clock through 4 Delay Cell

#011 : 3

Select sample clock through 6 Delay Cell

#111 : 7

Select sample clock through 14 Delay Cell

End of enumeration elements list.

DIVIDER : Clock Divider Register The value in this field is the frequency divider of the system clock to generate the serial clock on the output SPIM_CLK pin. The desired frequency is obtained according to the following equation: Note: When set DIVIDER to zero, the frequency of SPIM_CLK will be equal to the frequency of SYS_CLK.
bits : 16 - 31 (16 bit)
access : read-write



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.