
GR716-DS-UM, May 2019, Version 1.29
434
www.cobham.com/gaisler
GR716
44
SPI Controller
The GR716 microcontroller comprises two separate SPI controller (SPICTRL) units. Each SPI con-
troller unit controls its own external pins and has a unique AMBA address described in chapter 2.11.
Each SPI controller unit control and status registers are located on the APB bus in the address range
from 0x80390000 to 0x803AFFFF. See SPICTRL units connections in the next drawing. The figure
shows memory locations and functions used for SPICTRL configuration and control.
The primary clock gating unit
GRCLKGATE
described in section 26 is used to enable/disable SPI
controller units. The unit
GRCLKGATE
can also be used to perform reset of individual SPI control-
ler units. Software must enable clock and release reset described in section 26 before SPI configura-
tion and transmission can start.
External IO selection per SPI controller unit is made in the system IO and LVDS configuration regis-
ter (
GRGPREG
) in the address range from 0x8000D000 to 0x8000D03F and 0x80007030. See sec-
tion 7.1 for further information.
Each
SPICTRLx
unit controls its own external pins and has a unique AMBA address described in
chapter 2.11. SPICTRL unit 0 and 1 has identical configuration and status registers. Configuration and
status registers are described in this section 44.3
System can be configured to protect and restrict access to individual SPICTRL unit in the
MEM-
PROT
unit. See section 47 for more information.
44.1
Overview
The core provides a link between the AMBA APB bus and the Serial Peripheral Interface (SPI) bus
and can be dynamically configured to function either as a SPI master or a slave. The SPI bus parame-
ters are highly configurable via registers. Core features also include configurable word length, bit
Figure 72.
GR716 SPICTRLx bus and pin
GPIO0
LEON3FT
Processor
APB
(0x80000000-
0x800FFFFF)
SPICTRL1
IOMUX
GPIO63
Main AHB
(0x00000000-
0xFFFFFFFF)
Select Outputs
Enable SPICTRLx clocks
(0x8000D000 -
0x8000D03F)
(0x80006000 -
0x8000600F)
GRGPREG
Select LVDS
(0x80007030)
LVDSMUX
MEMPROT
Memory Protection
(0x8001A000 -
0x8001AFFF)
Bridge
TX0
RX2
Bridge
GRCLKGATE
Bridge
SPICTRL0