Hilscher netX microcontroller driver
V0.0.5.0
Documentation of the netX driver package
|
spi_xpic_app (spi_xpic_app) More...
#include <netx90_app.h>
Data Fields | |
union { | |
__IOM uint32_t spi_cr0 | |
struct { | |
__IOM uint32_t datasize: 4 | |
__IOM uint32_t bf_align0: 2 | |
__IOM uint32_t SPO: 1 | |
__IOM uint32_t SPH: 1 | |
__IOM uint32_t sck_muladd: 12 | |
__IOM uint32_t bf_align1: 4 | |
__IOM uint32_t format: 2 | |
__IOM uint32_t bf_align2: 1 | |
__IOM uint32_t filter_in: 1 | |
__IOM uint32_t slave_sig_early: 1 | |
__IOM uint32_t bf_align3: 2 | |
__IOM uint32_t netx100_comp: 1 | |
} spi_cr0_b | |
}; | |
union { | |
__IOM uint32_t spi_cr1 | |
struct { | |
__IOM uint32_t LBM: 1 | |
__IOM uint32_t SSE: 1 | |
__IOM uint32_t MS: 1 | |
__IOM uint32_t SOD: 1 | |
__IOM uint32_t bf_align0: 4 | |
__IOM uint32_t fss: 3 | |
__IOM uint32_t fss_static: 1 | |
__IOM uint32_t bf_align1: 4 | |
__IOM uint32_t tx_fifo_wm: 4 | |
__IOM uint32_t tx_fifo_clr: 1 | |
__IOM uint32_t bf_align2: 3 | |
__IOM uint32_t rx_fifo_wm: 4 | |
__IOM uint32_t rx_fifo_clr: 1 | |
__IOM uint32_t bf_align3: 3 | |
} spi_cr1_b | |
}; | |
union { | |
__IOM uint32_t spi_dr | |
struct { | |
__IOM uint32_t data: 17 | |
__IOM uint32_t bf_align0: 15 | |
} spi_dr_b | |
}; | |
union { | |
__IM uint32_t spi_sr | |
struct { | |
__IM uint32_t TFE: 1 | |
__IM uint32_t TNF: 1 | |
__IM uint32_t RNE: 1 | |
__IM uint32_t RFF: 1 | |
__IM uint32_t BSY: 1 | |
__IM uint32_t bf_align0: 11 | |
__IM uint32_t tx_fifo_level: 5 | |
__IM uint32_t bf_align1: 1 | |
__IM uint32_t tx_fifo_err_ovfl: 1 | |
__IM uint32_t tx_fifo_err_undr: 1 | |
__IM uint32_t rx_fifo_level: 5 | |
__IM uint32_t bf_align2: 1 | |
__IM uint32_t rx_fifo_err_ovfl: 1 | |
__IM uint32_t rx_fifo_err_undr: 1 | |
} spi_sr_b | |
}; | |
__IM uint32_t | RESERVED |
union { | |
__IOM uint32_t spi_imsc | |
struct { | |
__IOM uint32_t RORIM: 1 | |
__IOM uint32_t RTIM: 1 | |
__IOM uint32_t RXIM: 1 | |
__IOM uint32_t TXIM: 1 | |
__IOM uint32_t rxneim: 1 | |
__IOM uint32_t rxfim: 1 | |
__IOM uint32_t txeim: 1 | |
__IOM uint32_t bf_align0: 25 | |
} spi_imsc_b | |
}; | |
union { | |
__IM uint32_t spi_ris | |
struct { | |
__IM uint32_t RORRIS: 1 | |
__IM uint32_t RTRIS: 1 | |
__IM uint32_t RXRIS: 1 | |
__IM uint32_t TXRIS: 1 | |
__IM uint32_t rxneris: 1 | |
__IM uint32_t rxfris: 1 | |
__IM uint32_t txeris: 1 | |
__IM uint32_t bf_align0: 25 | |
} spi_ris_b | |
}; | |
union { | |
__IM uint32_t spi_mis | |
struct { | |
__IM uint32_t RORMIS: 1 | |
__IM uint32_t RTMIS: 1 | |
__IM uint32_t RXMIS: 1 | |
__IM uint32_t TXMIS: 1 | |
__IM uint32_t rxnemis: 1 | |
__IM uint32_t rxfmis: 1 | |
__IM uint32_t txemis: 1 | |
__IM uint32_t bf_align0: 25 | |
} spi_mis_b | |
}; | |
union { | |
__IOM uint32_t spi_icr | |
struct { | |
__IOM uint32_t RORIC: 1 | |
__IOM uint32_t RTIC: 1 | |
__IOM uint32_t RXIC: 1 | |
__IOM uint32_t TXIC: 1 | |
__IOM uint32_t rxneic: 1 | |
__IOM uint32_t rxfic: 1 | |
__IOM uint32_t txeic: 1 | |
__IOM uint32_t bf_align0: 25 | |
} spi_icr_b | |
}; | |
__IM uint32_t | RESERVED1 |
union { | |
__IOM uint32_t spi_dmacr | |
struct { | |
__IOM uint32_t RXDMAE: 1 | |
__IOM uint32_t TXDMAE: 1 | |
__IOM uint32_t bf_align0: 30 | |
} spi_dmacr_b | |
}; | |
__IM uint32_t | RESERVED2 |
union { | |
__IOM uint32_t spi_data_register | |
struct { | |
__IOM uint32_t data_byte_0: 8 | |
__IOM uint32_t data_byte_1: 8 | |
__IOM uint32_t dr_valid0: 1 | |
__IOM uint32_t dr_valid1: 1 | |
__IOM uint32_t bf_align0: 14 | |
} spi_data_register_b | |
}; | |
union { | |
__IM uint32_t spi_status_register | |
struct { | |
__IM uint32_t SR_in_fuel_val: 9 | |
__IM uint32_t SR_out_fuel_val: 9 | |
__IM uint32_t SR_in_fuel: 1 | |
__IM uint32_t SR_in_recdata: 1 | |
__IM uint32_t SR_in_full: 1 | |
__IM uint32_t SR_out_fuel: 1 | |
__IM uint32_t SR_out_fw: 1 | |
__IM uint32_t SR_out_empty: 1 | |
__IM uint32_t SR_out_full: 1 | |
__IM uint32_t SR_selected: 1 | |
__IM uint32_t bf_align0: 6 | |
} spi_status_register_b | |
}; | |
union { | |
__IOM uint32_t spi_control_register | |
struct { | |
__IOM uint32_t CR_softreset: 1 | |
__IOM uint32_t CR_speed: 4 | |
__IOM uint32_t bf_align0: 1 | |
__IOM uint32_t CR_read: 1 | |
__IOM uint32_t CR_write: 1 | |
__IOM uint32_t CR_ss: 3 | |
__IOM uint32_t CS_mode: 1 | |
__IOM uint32_t bf_align1: 8 | |
__IOM uint32_t CR_clr_infifo: 1 | |
__IOM uint32_t CR_clr_outfifo: 1 | |
__IOM uint32_t CR_burstdelay: 3 | |
__IOM uint32_t CR_burst: 3 | |
__IOM uint32_t CR_ncpha: 1 | |
__IOM uint32_t CR_cpol: 1 | |
__IOM uint32_t CR_ms: 1 | |
__IOM uint32_t CR_en: 1 | |
} spi_control_register_b | |
}; | |
union { | |
__IOM uint32_t spi_interrupt_control_register | |
struct { | |
__IOM uint32_t IR_in_fuel: 9 | |
__IOM uint32_t IR_out_fuel: 9 | |
__IOM uint32_t IR_in_fuel_en: 1 | |
__IOM uint32_t IR_in_recdata_en: 1 | |
__IOM uint32_t IR_in_full_en: 1 | |
__IOM uint32_t IR_out_fuel_en: 1 | |
__IOM uint32_t IR_out_fw_en: 1 | |
__IOM uint32_t IR_out_empty_en: 1 | |
__IOM uint32_t IR_out_full_en: 1 | |
__IOM uint32_t bf_align0: 7 | |
} spi_interrupt_control_register_b | |
}; | |
spi_xpic_app (spi_xpic_app)
Definition at line 32647 of file netx90_app.h.
union { ... } |
< (@ 0xFF900380) spi_xpic_app Structure
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
union { ... } |
__IOM uint32_t spi_xpic_app_Type::bf_align0 |
[5..4] bitField alignment value for aeabi compatibility
[7..4] bitField alignment value for aeabi compatibility
[31..17] bitField alignment value for aeabi compatibility
[31..7] bitField alignment value for aeabi compatibility
[31..2] bitField alignment value for aeabi compatibility
[31..18] bitField alignment value for aeabi compatibility
[5..5] bitField alignment value for aeabi compatibility
[31..25] bitField alignment value for aeabi compatibility
Definition at line 32659 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::bf_align0 |
[15..5] bitField alignment value for aeabi compatibility
[31..7] bitField alignment value for aeabi compatibility
[31..26] bitField alignment value for aeabi compatibility
Definition at line 32789 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::bf_align1 |
[23..20] bitField alignment value for aeabi compatibility
[15..12] bitField alignment value for aeabi compatibility
[19..12] bitField alignment value for aeabi compatibility
Definition at line 32676 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::bf_align1 |
[21..21] bitField alignment value for aeabi compatibility
Definition at line 32792 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::bf_align2 |
[26..26] bitField alignment value for aeabi compatibility
[23..21] bitField alignment value for aeabi compatibility
Definition at line 32679 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::bf_align2 |
[29..29] bitField alignment value for aeabi compatibility
Definition at line 32797 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::bf_align3 |
[30..29] bitField alignment value for aeabi compatibility
[31..29] bitField alignment value for aeabi compatibility
Definition at line 32697 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::BSY |
[4..4] Device busy (1 if data is currently transmitted/received or the transmit FIFO is not empty)
Definition at line 32787 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_burst |
[27..25] netx100/netx500 only, obsolete in later versions: burst length = 2^CR_burst
Definition at line 33025 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_burstdelay |
[24..22] netx100/netx500 only, obsolete in later versions: delay between transmission of 2 data bytes (0 to 7 SCK cycles)
Definition at line 33023 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_clr_infifo |
[20..20] Clear input FIFO
Definition at line 33021 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_clr_outfifo |
[21..21] Clear output FIFO
Definition at line 33022 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_cpol |
[29..29] 1: falling edge of SCK is primary 0: rising edge of SCK is primary
Definition at line 33032 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_en |
[31..31] 1: enable 0: disable SPI interface
Definition at line 33035 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_ms |
[30..30] 1: master mode 0:slave mode
Definition at line 33034 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_ncpha |
[28..28] SPI clock phase mode (Note: meaning of this bit is inverted to functionality of bit spi_cr0.SPH): { | 0: change data on secondary SCK edge data is active on primary SCK edge 1: change data on primary SCK edge data is active on secondary SCK edge }
Definition at line 33027 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_read |
[6..6] netx100/netx500 only, in later versions always '1': 1: enable SPI interface read data
Definition at line 33012 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_softreset |
[0..0] write only: no function in netx100/netx500; later versions: clears IRQs and FIFOs
Definition at line 33000 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_speed |
[4..1] Clock divider for SPI clock (2 - 2^16) If SPI clock rate is changed using spi_cr0.sck_muladd, this value will not be updated and may be incorrect There are 16 different SPI clocks frequencies to choose: 0000: 0.025 MHz (Note: Not compatible to netx100/500. '0000' freezes SCK in netx100/500.) 0001: 0.05 MHz 0010: 0.1 MHz 0011: 0.2 MHz 0100: 0.5 MHz 0101: 1 MHz 0110: 1.25 MHz 0111: 2 MHz 1000: 2.5 MHz 1001: 3.3333 MHz 1010: 5 MHz 1011: 10 MHz 1100: 12.5 MHz 1101: 16.6666 MHz 1110: 25 MHz 1111: 50 MHz
Definition at line 33002 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_ss |
[10..8] External slave select
Definition at line 33016 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CR_write |
[7..7] netx100/netx500 only, in later versions always '1': 1: enable SPI interface write data
Definition at line 33014 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::CS_mode |
[11..11] 1: chip select is generated automatically by the internal state machine 0: chip select is directly controlled by software (see bits CR_ss).
Definition at line 33017 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::data |
[16..0] Transmit data: Only lowest bits according to spi_cr0.datasize will be sent. Receive data will be delivered on the lowest bits, unused bits (above spi_cr0.datasize) will be '0'. In slave mode transmit data is requested from the FIFO when the last bit of the currently transferred word is set to the MISO signal. If no next transmit data can be read from the FIFO until the current word's last bit was transferred, a FIFO underrun will occur in case chip-select does not go inactive at the next detected SCK edge.
Definition at line 32762 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::data_byte_0 |
[7..0] Data byte 0
Definition at line 32952 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::data_byte_1 |
[15..8] Obsolete, don't use
Definition at line 32953 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::datasize |
[3..0] DSS: data size select (transfer size = datasize + 1 bits): { | 0000...0010: reserved 0011: 4 bit 0100: 5 bit ... 0111: 8 bit ... 1111: 16 bit } Note: 16 bit TX-data-loss bug of netX50/netX5 is fixed since netX10.
Definition at line 32655 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::dr_valid0 |
[16..16] Valid bit for data_byte_0 This bit shows if data_byte_0 is valid and must be set during a FIFO write access.
Definition at line 32954 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::dr_valid1 |
[17..17] Obsolete, always 0
Definition at line 32956 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::filter_in |
[27..27] Receive data is sampled every 10ns (100MHz system clock). If this bit is set, the stored receive value will be the result of a majority decision of the three sampling points around a SPI-clock edge (if two or more '1s! were sampled a '1' will be stored, else a '0' will be stored. In slave mode chip-select and SCK edges will also be detected by oversampling if this bit is set: An edge will be detected if the majority-result of 3 subsequent sampled values toggles. Input filtering should be used for sck_mulad
Definition at line 32680 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::format |
[25..24] Frame format: 00: Motorola SPI frame format 01..11: reserved
Definition at line 32677 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::fss |
[10..8] Frame or slave select. There are up to 3 external SPI chip-select signals. In master mode, the fss bits define the states of the chip-select signals. The inversion for low-active chip-selects (e.g. for Motorola SPI frame format) is done automatically depending on the value programmed to the 'format' bits. Example: To use the netX IO CS1 as chip-select, program '010' here, regardless whether the external chip-select is low or high active. In slave mode, the fss bits are a mask to select which netX input sho
Definition at line 32720 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::fss_static |
[11..11] SPI static chip-select: { | 0: SPI chip-select will be toggled automatically before and after each transferred word according to fss and datasize. 1: SPI chip-select will be set statically according to the fss bits. }
Definition at line 32729 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_in_fuel |
[8..0] Adjustable watermark level of input FIFO
Definition at line 33048 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_in_fuel_en |
[18..18] IRQ enable for irq_spi(0) (equals spi_imsc.RXIM in netx50 and later versions)
Definition at line 33050 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_in_full_en |
[20..20] IRQ enable for irq_spi(2) (equals spi_imsc.txfim in netx50 and later versions)
Definition at line 33054 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_in_recdata_en |
[19..19] IRQ enable for irq_spi(1) (equals spi_imsc.txneim in netx50 and later versions)
Definition at line 33052 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_out_empty_en |
[23..23] IRQ enable for irq_spi(5) (equals spi_imsc.rxeim in netx50 and later versions)
Definition at line 33060 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_out_fuel |
[17..9] Adjustable watermark level of output FIFO
Definition at line 33049 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_out_fuel_en |
[21..21] IRQ enable for irq_spi(3) (equals spi_imsc.TXIM in netx50 and later versions)
Definition at line 33056 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_out_full_en |
[24..24] IRQ enable for irq_spi(6), netx100/netx500 only, always '0' in later versions
Definition at line 33062 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::IR_out_fw_en |
[22..22] IRQ enable for irq_spi(4), netx100/netx500 only, always '0' in later versions
Definition at line 33058 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::LBM |
[0..0] Loop back mode: 0: Internal loop back disabled 1: Internal loop back enabled, spi_cr0.filter_in must be set for loopback function
Definition at line 32710 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::MS |
[2..2] Mode select: 0: Module is configured as master 1: Module is configured as slave
Definition at line 32714 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::netx100_comp |
[31..31] Use netx100/500-compatible SPI mode: 0: start transfer after writing data 1: start transfer after setting CR_write or CR_read
Definition at line 32698 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RESERVED |
Definition at line 32802 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RESERVED1 |
Definition at line 32911 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RESERVED2 |
Definition at line 32936 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RFF |
[3..3] Receive FIFO is full (1 if full)
Definition at line 32786 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RNE |
[2..2] Receive FIFO is not empty (0 if empty)
Definition at line 32785 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::RORIC |
[0..0] Clear receive FIFO overrun interrupt Writing '1' here will clear the receive FIFO
Definition at line 32898 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::RORIM |
[0..0] Receive FIFO overrun interrupt mask
Definition at line 32819 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RORMIS |
[0..0] Masked receive FIFO overrun interrupt state
Definition at line 32875 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RORRIS |
[0..0] Unmasked receive FIFO overrun interrupt state 1: receive FIFO overrun error occurred 0: no receive FIFO overrun error occurred
Definition at line 32840 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::RTIC |
[1..1] Clear receive FIFO overrun interrupt
Definition at line 32900 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::RTIM |
[1..1] Receive timeout interrupt mask
Definition at line 32820 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RTMIS |
[1..1] Masked receive timeout interrupt state
Definition at line 32876 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RTRIS |
[1..1] Unmasked receive timeout interrupt state Timeout period are 32 SPI clock periods depending on adr_spi_cr0.sck_muladd 1: receive FIFO is not empty and not read out in the passed timeout period 0: receive FIFO is empty or read during the last timeout period
Definition at line 32843 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::rx_fifo_clr |
[28..28] Writing '1' to this bit will clear the receive FIFOs.
Definition at line 32742 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::rx_fifo_err_ovfl |
[30..30] Receive FIFO overflow error occurred, data is lost
Definition at line 32798 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::rx_fifo_err_undr |
[31..31] Receive FIFO underrun error occurred, data is lost
Definition at line 32799 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::rx_fifo_level |
[28..24] Receive FIFO level (number of received words to read out are left in FIFO)
Definition at line 32795 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::rx_fifo_wm |
[27..24] Receive FIFO watermark for IRQ generation
Definition at line 32741 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::RXDMAE |
[0..0] Enable DMA for SPI receive data. A single request will be generated if the receive FIFO is not empty and spi_cr1.SSE (module enable) is set. Burst request to the DMA controller will be generated if the receive FIFO contains at least 4 words (set DMA burst size to 4). If this bit is reset or the module is disabled, the DMA request signals will also be reset. Note: set dmac_chctrl.SBSize = 1 (i.e. burst size: 4) in the DMA controller.
Definition at line 32917 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::rxfic |
[5..5] Clear receive FIFO full interrupt (for netx100/500 compliance)
Definition at line 32905 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::rxfim |
[5..5] Receive FIFO full interrupt mask (for netx100/500 compliance)
Definition at line 32825 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::rxfmis |
[5..5] Masked receive FIFO full interrupt state (for netx100/500 compliance)
Definition at line 32881 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::rxfris |
[5..5] Unmasked receive FIFO full interrupt state (for netx100/500 compliance) 1: receive FIFO is full 0: receive FIFO is not full
Definition at line 32857 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::RXIC |
[2..2] PL022 extension: clear receive FIFO interrupt
Definition at line 32901 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::RXIM |
[2..2] Receive FIFO interrupt mask
Definition at line 32821 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RXMIS |
[2..2] Masked receive FIFO interrupt state
Definition at line 32877 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::rxneic |
[4..4] Clear receive FIFO not empty interrupt (for netx100/500 compliance)
Definition at line 32903 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::rxneim |
[4..4] Receive FIFO not empty interrupt mask (for netx100/500 compliance)
Definition at line 32823 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::rxnemis |
[4..4] Masked receive FIFO not empty interrupt state (for netx100/500 compliance)
Definition at line 32879 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::rxneris |
[4..4] Unmasked receive FIFO not empty interrupt state (for netx100/500 compliance) 1: receive FIFO is not empty 0: receive FIFO is empty
Definition at line 32854 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::RXRIS |
[2..2] Unmasked receive FIFO interrupt state 1: receive FIFO is higher than spi_cr1.rx_fifo_wm 0: receive FIFO is equals or is below spi_cr1.rx_fifo_wm
Definition at line 32848 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::sck_muladd |
[19..8] Serial clock rate multiply add value for master SCK generation. The SPI clock frequency is: f_spi_sck = (sck_muladd 100)/4096 [MHz]. Default value 0x800 equals 50MHz SPI clock rate. All serial clock rates are derived from 100MHz netX system clock. Hence, all serial clock phases are multiples of 10ns. This leads to non-constant serial clock phases when a clock rate is programmed which cannot be generated by 100MHz/(2*n) without remainder. E.g. programming 0x4CC here will lead to a mean clock-rate of 30MHz
Definition at line 32667 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::slave_sig_early |
[28..28] Generate MISO in slave mode 1 SCK clock edge earlier than defined in the SPI specification. This is to compensate pad or sampling delays on fast data rates. However, hold timing problems could come up as MISO is generated very fast after the sampling SPI clock edge. If filter_in is enabled, it takes at least 3 system clocks to generate MISO after SCK. If filter_in is disabled, it takes at least 2 system clocks to generate MISO after SCK.
Definition at line 32689 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::SOD |
[3..3] Slave mode output disable (to connect multiple slaves to one master): 0: MISO can be driven in slave mode 1: MISO is not driven in slave mode
Definition at line 32716 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::SPH |
[7..7] Serial clock phase (netx500: CR_ncpha): 1: sample data at second clock edge, data is generated half a clock phase before sampling 0: sample data at first clock edge, data is generated half a clock phase before sampling
Definition at line 32663 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::spi_control_register |
(@ 0x00000038) netx100/500 compliant SPI control register (CR)
Definition at line 32997 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_control_register_b |
__IOM uint32_t spi_xpic_app_Type::spi_cr0 |
(@ 0x00000000) SPI control register 0 Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500.
Definition at line 32650 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_cr0_b |
__IOM uint32_t spi_xpic_app_Type::spi_cr1 |
(@ 0x00000004) SPI control register 1 Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500.
Definition at line 32705 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_cr1_b |
__IOM uint32_t spi_xpic_app_Type::spi_data_register |
(@ 0x00000030) netx100/500 compliant SPI data register (DR) Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500. 2 data bytes with valid bits. During a write access data_byte_1 and dr_valid1 must not be used. dr_valid0 must be set. In netx50 and later versions both FIFOs (receive and transmit) have a depth of 16, fill values are fixed to 4. To keep software compatible, not more than 8 bytes should be in netx100/500 FIFOs.
Definition at line 32939 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_data_register_b |
__IOM uint32_t spi_xpic_app_Type::spi_dmacr |
(@ 0x00000028) SPI DMA control register
Definition at line 32914 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_dmacr_b |
__IOM uint32_t spi_xpic_app_Type::spi_dr |
(@ 0x00000008) SPI data register Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500. The SPI module has 2 FIFOs: One for transmit data and one for receive data. Read access: Received data byte is delivered from receive FIFO. Write access: Transmit data byte is written to send FIFO. Both FIFOs (receive and transmit) have a depth of 16. SPI master mode: MISO input data will be stored in the receive FIFO; transmit FIFO generates MOSI output data.
Definition at line 32748 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_dr_b |
__IOM uint32_t spi_xpic_app_Type::spi_icr |
(@ 0x00000020) SPI interrupt clear register Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500. An interrupt is cleared by writing '1' to the according bit. Note: Both FIFOs (receive and transmit) have a depth of 16.
Definition at line 32890 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_icr_b |
__IOM uint32_t spi_xpic_app_Type::spi_imsc |
(@ 0x00000014) SPI Interrupt Mask Set and Clear register: Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500. IRQ mask is an AND-mask: only raw interrupts with mask bit set can generate a module IRQ. When writing this register, the corresponding interrupt is cleared similar to writing the register spi_icr. Note: The functionality of this register is similar to the corresponding SQI register sqi_irq_mask. However, in contrast to this reg
Definition at line 32805 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_imsc_b |
__IOM uint32_t spi_xpic_app_Type::spi_interrupt_control_register |
(@ 0x0000003C) netx100/500 compliant SPI interrupt control register (IR) In netx50 and later versions both FIFOs (receive and transmit) have a depth of 16, fill values are fixed to 4. To keep software compatible, not more than 8 bytes should be in netx100/500 FIFOs.
Definition at line 33040 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_interrupt_control_register_b |
__IM uint32_t spi_xpic_app_Type::spi_mis |
(@ 0x0000001C) SPI interrupt status register Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500. Note: Both FIFOs (receive and transmit) have a depth of 16.
Definition at line 32868 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_mis_b |
__IM uint32_t spi_xpic_app_Type::spi_ris |
(@ 0x00000018) SPI interrupt state before masking register (raw interrupt) Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500. Note: Both FIFOs (receive and transmit) have a depth of 16.
Definition at line 32832 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_ris_b |
__IM uint32_t spi_xpic_app_Type::spi_sr |
(@ 0x0000000C) SPI status register Registers 0x30..0x3C can be used instead of registers 0x00...0x24 to keep netx50 software compliant to netx100/500. Note: Both FIFOs (receive and transmit) have a depth of 16.
Definition at line 32776 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_sr_b |
__IM uint32_t spi_xpic_app_Type::spi_status_register |
(@ 0x00000034) netx100/500 compliant SPI status register (SR): Shows the actual status of the SPI interface. Bits 24..18 show occurred interrupts; writing ones into these bits clears the interrupts. Writing into other bits has no effect. In netx50 and later versions both FIFOs (receive and transmit) have a depth of 16, fill values are fixed to 4. To keep software compatible, not more than 8 bytes should be in netx100/500 FIFOs.
Definition at line 32962 of file netx90_app.h.
struct { ... } spi_xpic_app_Type::spi_status_register_b |
__IOM uint32_t spi_xpic_app_Type::SPO |
[6..6] Serial clock polarity (netx500: CR_cpol): 0: idle: clock is low, first edge is rising 1: idle: clock is high, first edge is falling
Definition at line 32660 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_in_fuel |
[18..18] Adjustable fill value of input FIFO reached (equals spi_ris.RXRIS in netx50 and later versions)
Definition at line 32976 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_in_fuel_val |
[8..0] Input FIFO fill value (number of bytes)
Definition at line 32974 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_in_full |
[20..20] Input FIFO is full (equals spi_ris.rxfris in netx50 and later versions)
Definition at line 32980 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_in_recdata |
[19..19] Valid data bytes in input FIFO (equals spi_ris.rxneris in netx50 and later versions)
Definition at line 32978 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_out_empty |
[23..23] Output FIFO is empty in slave mode (equals spi_ris.txeris in netx50 and later versions)
Definition at line 32987 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_out_fuel |
[21..21] Adjustable fill value of output FIFO reached (equals spi_ris.TXRIS in netx50 and later versions)
Definition at line 32982 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_out_fuel_val |
[17..9] Output FIFO fill value (number of bytes)
Definition at line 32975 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_out_full |
[24..24] Output FIFO is full. This is only with netx100/500 an IRQ.
Definition at line 32989 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_out_fw |
[22..22] netX is writing data too fast into output FIFO. Available as an IRQ only on netx100/500 (equals spi_sr.tx_fifo_err_ovfl in netx50 and later versions).
Definition at line 32984 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::SR_selected |
[25..25] External master has access to SPI interface
Definition at line 32991 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::SSE |
[1..1] SPI enable: 0: Module disabled 1: Module enabled
Definition at line 32713 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::TFE |
[0..0] Transmit FIFO is empty (1 if empty)
Definition at line 32783 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::TNF |
[1..1] Transmit FIFO is not full (0 if full)
Definition at line 32784 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::tx_fifo_clr |
[20..20] Writing '1' to this bit will clear the transmit FIFOs. Note: There must be at least 1 system clock idle after clear before writing new data to the FIFO. This is guaranteed by the netX internal bus structure and needs not being considered by software.
Definition at line 32735 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::tx_fifo_err_ovfl |
[22..22] Transmit FIFO overflow error occurred, data is lost
Definition at line 32793 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::tx_fifo_err_undr |
[23..23] Transmit FIFO underrun error occurred, data is lost
Definition at line 32794 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::tx_fifo_level |
[20..16] Transmit FIFO level (number of words to transmit are left in FIFO)
Definition at line 32790 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::tx_fifo_wm |
[19..16] Transmit FIFO watermark for IRQ generation
Definition at line 32734 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::TXDMAE |
[1..1] Enable DMA for SPI transmit data. A single request will be generated if the transmit FIFO is not full and spi_cr1.SSE (module enable) is set. Burst requests to the DMA controller will be generated if at least 4 words are writable to the transmit FIFO (set DMA burst size to 4). If this bit is reset or the module is disabled, the DMA request signals will also be reset. Note: set dmac_chctrl.SBSize = 1 (i.e. burst size: 4) in the DMA controller.
Definition at line 32925 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::txeic |
[6..6] Clear transmit FIFO empty interrupt (for netx100/500 compliance)
Definition at line 32906 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::txeim |
[6..6] Transmit FIFO empty interrupt mask (for netx100/500 compliance)
Definition at line 32826 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::txemis |
[6..6] Masked transmit FIFO empty interrupt state (for netx100/500 compliance)
Definition at line 32883 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::txeris |
[6..6] Unmasked transmit FIFO empty interrupt state (for netx100/500 compliance) 1: transmit FIFO is empty 0: transmit FIFO is not empty
Definition at line 32860 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::TXIC |
[3..3] PL022 extension: clear transmit FIFO interrupt
Definition at line 32902 of file netx90_app.h.
__IOM uint32_t spi_xpic_app_Type::TXIM |
[3..3] Transmit FIFO interrupt mask
Definition at line 32822 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::TXMIS |
[3..3] Masked transmit FIFO interrupt state
Definition at line 32878 of file netx90_app.h.
__IM uint32_t spi_xpic_app_Type::TXRIS |
[3..3] Unmasked transmit FIFO interrupt state 1: transmit FIFO level is below spi_cr1.tx_fifo_wm 0: transmit FIFO equals or is higher than spi_cr1.tx_fifo_wm
Definition at line 32851 of file netx90_app.h.