Stratix® 10 Hard Processor System Technical Reference Manual
                    
                        ID
                        683222
                    
                
                
                    Date
                    12/23/2024
                
                
                    Public
                
            
                
                    
                    
                        1. Stratix® 10 Hard Processor System Technical Reference Manual Revision History
                    
                
                    
                        2. Introduction to the Hard Processor System
                    
                    
                
                    
                        3. Cortex-A53 MPCore Processor
                    
                    
                
                    
                        4. Cache Coherency Unit
                    
                    
                
                    
                        5. System Memory Management Unit
                    
                    
                
                    
                        6. System Interconnect
                    
                    
                
                    
                        7. HPS-FPGA Bridges
                    
                    
                
                    
                        8. DMA Controller
                    
                    
                
                    
                        9. On-Chip RAM
                    
                    
                
                    
                        10. Error Checking and Correction Controller
                    
                    
                
                    
                        11. Clock Manager
                    
                    
                
                    
                        12. Reset Manager
                    
                    
                
                    
                        13. System Manager
                    
                    
                
                    
                        14. Hard Processor System I/O Pin Multiplexing
                    
                    
                
                    
                        15. NAND Flash Controller
                    
                    
                
                    
                        16. SD/MMC Controller
                    
                    
                
                    
                        17. Ethernet Media Access Controller
                    
                    
                
                    
                        18. USB 2.0 OTG Controller
                    
                    
                
                    
                        19. SPI Controller
                    
                    
                
                    
                        20. I2C Controller
                    
                    
                
                    
                        21. UART Controller
                    
                    
                
                    
                        22. General-Purpose I/O Interface
                    
                    
                
                    
                        23. Timers
                    
                    
                
                    
                        24. Watchdog Timers
                    
                    
                
                    
                        25. CoreSight Debug and Trace
                    
                    
                
                    
                        A. Booting and Configuration
                    
                    
                
                    
                        B. Accessing the Secure Device Manager Quad SPI Flash Controller through HPS
                    
                    
                
                    
                        C. Operational Status of the HPS to the FPGA Logic
                    
                    
                
            
        
                                    
                                    
                                        
                                        
                                            2.2.1. HPS Block Diagram
                                        
                                        
                                    
                                        
                                        
                                            2.2.2. Cortex-A53 MPCore Processor
                                        
                                        
                                    
                                        
                                        
                                            2.2.3. Cache Coherency Unit
                                        
                                        
                                    
                                        
                                        
                                            2.2.4. System Memory Management Unit
                                        
                                        
                                    
                                        
                                            2.2.5. HPS Interfaces
                                        
                                        
                                        
                                    
                                        
                                            2.2.6. System Interconnect
                                        
                                        
                                        
                                    
                                        
                                            2.2.7. On-Chip RAM
                                        
                                        
                                        
                                    
                                        
                                            2.2.8. Flash Memory Controllers
                                        
                                        
                                        
                                    
                                        
                                            2.2.9. System Modules
                                        
                                        
                                        
                                    
                                        
                                            2.2.10. Interface Peripherals
                                        
                                        
                                        
                                    
                                        
                                        
                                            2.2.11. CoreSight* Debug and Trace
                                        
                                        
                                    
                                        
                                        
                                            2.2.12. Hard Processor System I/O Pin Multiplexing
                                        
                                        
                                    
                                
                            
                                    
                                    
                                        
                                            3.5.1. Exception Levels
                                        
                                        
                                        
                                    
                                        
                                            3.5.2. Virtualization
                                        
                                        
                                        
                                    
                                        
                                            3.5.3. Memory Management Unit
                                        
                                        
                                        
                                    
                                        
                                            3.5.4. Level 1 Caches
                                        
                                        
                                        
                                    
                                        
                                        
                                            3.5.5. Level 2 Memory System
                                        
                                        
                                    
                                        
                                            3.5.6. Snoop Control Unit
                                        
                                        
                                        
                                    
                                        
                                        
                                            3.5.7. Cryptographic Extensions
                                        
                                        
                                    
                                        
                                            3.5.8. NEON Multimedia Processing Engine
                                        
                                        
                                        
                                    
                                        
                                        
                                            3.5.9. Floating Point Unit
                                        
                                        
                                    
                                        
                                        
                                            3.5.10. ACE Bus Interface
                                        
                                        
                                    
                                        
                                        
                                            3.5.11. Abort Handling
                                        
                                        
                                    
                                        
                                            3.5.12. Cache Protection
                                        
                                        
                                        
                                    
                                        
                                            3.5.13. Generic Interrupt Controller
                                        
                                        
                                        
                                    
                                        
                                            3.5.14. Generic Timers
                                        
                                        
                                        
                                    
                                        
                                            3.5.15. Debug Modules
                                        
                                        
                                        
                                    
                                        
                                        
                                            3.5.16. Cache Coherency Unit
                                        
                                        
                                    
                                        
                                        
                                            3.5.17. Clock Sources
                                        
                                        
                                    
                                
                            
                                    
                                    
                                        
                                        
                                            5.4.1. Translation Stages
                                        
                                        
                                    
                                        
                                            5.4.2. Exception Levels
                                        
                                        
                                        
                                    
                                        
                                        
                                            5.4.3. Translation Regimes
                                        
                                        
                                    
                                        
                                            5.4.4. Translation Buffer Unit
                                        
                                        
                                        
                                    
                                        
                                            5.4.5. Translation Control Unit
                                        
                                        
                                        
                                    
                                        
                                        
                                            5.4.6. Security State Determination
                                        
                                        
                                    
                                        
                                        
                                            5.4.7. Stream ID
                                        
                                        
                                    
                                        
                                        
                                            5.4.8. Quality of Service Arbitration
                                        
                                        
                                    
                                        
                                        
                                            5.4.9. System Memory Management Unit Interrupts
                                        
                                        
                                    
                                        
                                        
                                            5.4.10. System Memory Management Unit Reset
                                        
                                        
                                    
                                        
                                        
                                            5.4.11. System Memory Management Unit Clocks
                                        
                                        
                                    
                                
                            
                                    
                                    
                                        
                                            6.2.1. Stratix 10 System Interconnect Address Spaces
                                        
                                        
                                        
                                    
                                        
                                        
                                            6.2.2. Secure Transaction Protection
                                        
                                        
                                    
                                        
                                            6.2.3. Stratix 10 HPS System Interconnect Master Properties
                                        
                                        
                                        
                                    
                                        
                                        
                                            6.2.4. Stratix 10 HPS System Interconnect Slave Properties
                                        
                                        
                                    
                                        
                                            6.2.5. System Interconnect Clocks
                                        
                                        
                                        
                                    
                                        
                                        
                                            6.2.6. Stratix 10 HPS System Interconnect Resets
                                        
                                        
                                    
                                        
                                        
                                            6.2.7. Functional Description of the Rate Adapters
                                        
                                        
                                    
                                        
                                            6.2.8. Functional Description of the Firewalls
                                        
                                        
                                        
                                    
                                        
                                            6.2.9. Functional Description of the SDRAM L3 Interconnect
                                        
                                        
                                        
                                    
                                        
                                        
                                            6.2.10. Functional Description of the Arbitration Logic
                                        
                                        
                                    
                                        
                                            6.2.11. Functional Description of the Observation Network
                                        
                                        
                                        
                                    
                                
                            
                        
                        
                            
                            
                                7.1. Features of the HPS-FPGA Bridges
                            
                        
                            
                            
                                7.2. HPS-FPGA Bridges Block Diagram and System Integration
                            
                        
                            
                                7.3. FPGA-to-HPS Bridge
                            
                            
                        
                            
                                7.4. HPS-to-FPGA Bridge
                            
                            
                        
                            
                            
                                7.5. Lightweight HPS-to-FPGA Bridge
                            
                        
                            
                                7.6. Clocks and Resets
                            
                            
                        
                            
                            
                                7.7. Data Width Sizing
                            
                        
                            
                            
                                7.8. Ready Latency Support
                            
                        
                            
                            
                                7.9. HPS-FPGA Bridges Address Map and Register Definitions
                            
                        
                    
                
                        
                        
                            
                            
                                15.1. NAND Flash Controller Features
                            
                        
                            
                                15.2. NAND Flash Controller Block Diagram and System Integration
                            
                            
                        
                            
                            
                                15.3. NAND Flash Controller Signal Descriptions
                            
                        
                            
                                15.4. Functional Description of the NAND Flash Controller
                            
                            
                        
                            
                                15.5. NAND Flash Controller Programming Model
                            
                            
                        
                            
                            
                                15.6. NAND Flash Controller Address Map and Register Definitions
                            
                        
                    
                
                                                
                                                
                                                    
                                                    
                                                        15.5.1.1. NAND Flash Controller Optimization Sequence
                                                    
                                                    
                                                
                                                    
                                                    
                                                        15.5.1.2. Device Initialization Sequence
                                                    
                                                    
                                                
                                                    
                                                    
                                                        15.5.1.3. Device Operation Control
                                                    
                                                    
                                                
                                                    
                                                    
                                                        15.5.1.4. ECC Enabling
                                                    
                                                    
                                                
                                                    
                                                    
                                                        15.5.1.5. NAND Flash Controller Performance Registers
                                                    
                                                    
                                                
                                                    
                                                        15.5.1.6. Interrupt and DMA Enabling
                                                    
                                                    
                                                    
                                                
                                                    
                                                    
                                                        15.5.1.7. Timing Registers
                                                    
                                                    
                                                
                                                    
                                                    
                                                        15.5.1.8. Registers to Ignore
                                                    
                                                    
                                                
                                            
                                        
                        
                        
                            
                                16.1. Features of the SD/MMC Controller
                            
                            
                        
                            
                                16.2. SD/MMC Controller Block Diagram and System Integration
                            
                            
                        
                            
                            
                                16.3. SD/MMC Controller Signal Description
                            
                        
                            
                                16.4. Functional Description of the SD/MMC Controller
                            
                            
                        
                            
                                16.5. SD/MMC Controller Programming Model
                            
                            
                        
                            
                            
                                16.6. SD/MMC Controller Address Map and Register Definitions
                            
                        
                    
                
                                                            
                                                            
                                                                
                                                                
                                                                    16.4.2.5.1. Internal DMA Controller Descriptors
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.2.5.2. Internal DMA Controller Descriptor Address
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.2.5.3. Internal DMA Controller Descriptor Fields
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.2.5.4. Host Bus Burst Access
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.2.5.5. Host Data Buffer Alignment
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.2.5.6. Buffer Size Calculations
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.2.5.7. Internal DMA Controller Interrupts
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.2.5.8. Internal DMA Controller Functional State Machine†
                                                                
                                                                
                                                            
                                                        
                                                    
                                                            
                                                            
                                                                
                                                                
                                                                    16.4.3.1.1. Load Command Parameters
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.2. Send Command and Receive Response
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.3. Send Response to BIU
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.4. Driving P-bit to the CMD Pin
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.5. Polling the CCS
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.6. CCS Detection and Interrupt to Host Processor
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.7. CCS Timeout
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.8. Send CCSD Command
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    16.4.3.1.9. I/O transmission delay (NACIO Timeout)
                                                                
                                                                
                                                            
                                                        
                                                    
                                    
                                    
                                        
                                            16.5.1. Software and Hardware Restrictions†
                                        
                                        
                                        
                                    
                                        
                                        
                                            16.5.2. Initialization
                                        
                                        
                                    
                                        
                                        
                                            16.5.3. Controller/DMA/FIFO Buffer Reset Usage
                                        
                                        
                                    
                                        
                                            16.5.4. Non-Data Transfer Commands
                                        
                                        
                                        
                                    
                                        
                                            16.5.5. Data Transfer Commands
                                        
                                        
                                        
                                    
                                        
                                            16.5.6. Transfer Stop and Abort Commands
                                        
                                        
                                        
                                    
                                        
                                            16.5.7. Internal DMA Controller Operations
                                        
                                        
                                        
                                    
                                        
                                            16.5.8. Commands for SDIO Card Devices
                                        
                                        
                                        
                                    
                                        
                                            16.5.9. CE-ATA Data Transfer Commands
                                        
                                        
                                        
                                    
                                        
                                            16.5.10. Card Read Threshold
                                        
                                        
                                        
                                    
                                        
                                        
                                            16.5.11. Interrupt and Error Handling
                                        
                                        
                                    
                                        
                                            16.5.12. Booting Operation for eMMC and MMC
                                        
                                        
                                        
                                    
                                
                            
                                                
                                                
                                                    
                                                    
                                                        16.5.12.1. Boot Operation by Holding Down the CMD Line
                                                    
                                                    
                                                
                                                    
                                                    
                                                        16.5.12.2. Boot Operation for eMMC Card Device
                                                    
                                                    
                                                
                                                    
                                                        16.5.12.3. Boot Operation for Removable MMC4.3, MMC4.4 and MMC4.41 Cards
                                                    
                                                    
                                                    
                                                
                                                    
                                                    
                                                        16.5.12.4. Alternative Boot Operation
                                                    
                                                    
                                                
                                                    
                                                    
                                                        16.5.12.5. Alternative Boot Operation for eMMC Card Devices
                                                    
                                                    
                                                
                                                    
                                                        16.5.12.6. Alternative Boot Operation for MMC4.3 Cards
                                                    
                                                    
                                                    
                                                
                                            
                                        
                        
                        
                            
                                17.1. Features of the Ethernet MAC
                            
                            
                        
                            
                            
                                17.2. EMAC Block Diagram and System Integration
                            
                        
                            
                            
                                17.3. Distributed Virtual Memory Support
                            
                        
                            
                                17.4. EMAC Controller Signal Description
                            
                            
                        
                            
                                17.5. EMAC Internal Interfaces
                            
                            
                        
                            
                                17.6. Functional Description of the EMAC
                            
                            
                        
                            
                                17.7. Ethernet MAC Programming Model
                            
                            
                        
                            
                            
                                17.8. Ethernet MAC Address Map and Register Definitions
                            
                        
                    
                
                                    
                                    
                                        
                                        
                                            17.6.1. Transmit and Receive Data FIFO Buffers
                                        
                                        
                                    
                                        
                                            17.6.2. DMA Controller
                                        
                                        
                                        
                                    
                                        
                                            17.6.3. Descriptor Overview
                                        
                                        
                                        
                                    
                                        
                                            17.6.4. IEEE 1588-2002 Timestamps
                                        
                                        
                                        
                                    
                                        
                                            17.6.5. IEEE 1588-2008 Advanced Timestamps
                                        
                                        
                                        
                                    
                                        
                                            17.6.6. IEEE 802.3az Energy Efficient Ethernet
                                        
                                        
                                        
                                    
                                        
                                        
                                            17.6.7. Checksum Offload
                                        
                                        
                                    
                                        
                                            17.6.8. Frame Filtering
                                        
                                        
                                        
                                    
                                        
                                            17.6.9. Clocks and Resets
                                        
                                        
                                        
                                    
                                        
                                        
                                            17.6.10. Interrupts
                                        
                                        
                                    
                                
                            
                                                            
                                                            
                                                                
                                                                
                                                                    17.6.8.1.1. Unicast Destination Address Filter
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    17.6.8.1.2. Multicast Destination Address Filter
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    17.6.8.1.3. Hash or Perfect Address Filter
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    17.6.8.1.4. Broadcast Address Filter
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    17.6.8.1.5. Unicast Source Address Filter
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    17.6.8.1.6. Inverse Filtering Operation (Invert the Filter Match Result at Final Output)
                                                                
                                                                
                                                            
                                                                
                                                                
                                                                    17.6.8.1.7. Destination and Source Address Filtering Summary
                                                                
                                                                
                                                            
                                                        
                                                    
                                    
                                    
                                        
                                        
                                            17.7.1. System Level EMAC Configuration Registers
                                        
                                        
                                    
                                        
                                        
                                            17.7.2. EMAC FPGA Interface Initialization
                                        
                                        
                                    
                                        
                                        
                                            17.7.3. EMAC HPS Interface Initialization
                                        
                                        
                                    
                                        
                                        
                                            17.7.4. DMA Initialization
                                        
                                        
                                    
                                        
                                        
                                            17.7.5. EMAC Initialization and Configuration
                                        
                                        
                                    
                                        
                                        
                                            17.7.6. Performing Normal Receive and Transmit Operation
                                        
                                        
                                    
                                        
                                        
                                            17.7.7. Stopping and Starting Transmission
                                        
                                        
                                    
                                        
                                            17.7.8. Programming Guidelines for Energy Efficient Ethernet
                                        
                                        
                                        
                                    
                                        
                                            17.7.9. Programming Guidelines for Flexible Pulse-Per-Second (PPS) Output
                                        
                                        
                                        
                                    
                                
                            
                        
                        
                            
                                18.1. Features of the USB OTG Controller
                            
                            
                        
                            
                            
                                18.2. Block Diagram and System Integration
                            
                        
                            
                            
                                18.3. Distributed Virtual Memory Support
                            
                        
                            
                            
                                18.4. USB 2.0 ULPI PHY Signal Description
                            
                        
                            
                                18.5. Functional Description of the USB OTG Controller
                            
                            
                        
                            
                                18.6. USB OTG Controller Programming Model
                            
                            
                        
                            
                            
                                18.7. USB 2.0 OTG Controller Address Map and Register Definitions
                            
                        
                    
                
                                    
                                    
                                        
                                        
                                            24.4.1. Setting the Timeout Period Values
                                        
                                        
                                    
                                        
                                        
                                            24.4.2. Selecting the Output Response Mode
                                        
                                        
                                    
                                        
                                        
                                            24.4.3. Enabling and Initially Starting a Watchdog Timers
                                        
                                        
                                    
                                        
                                        
                                            24.4.4. Reloading a Watchdog Counter
                                        
                                        
                                    
                                        
                                        
                                            24.4.5. Pausing a Watchdog Timers
                                        
                                        
                                    
                                        
                                        
                                            24.4.6. Disabling and Stopping a Watchdog Timers
                                        
                                        
                                    
                                        
                                        
                                            24.4.7. Watchdog Timers State Machine
                                        
                                        
                                    
                                
                            
                        
                        
                            
                            
                                25.1. Features of CoreSight Debug and Trace
                            
                        
                            
                            
                                25.2. Arm* CoreSight Documentation
                            
                        
                            
                            
                                25.3. CoreSight Debug and Trace Block Diagram and System Integration
                            
                        
                            
                                25.4. Functional Description of CoreSight Debug and Trace
                            
                            
                        
                            
                                25.5. CoreSight Debug and Trace Programming Model
                            
                            
                        
                            
                            
                                25.6. CoreSight Debug and Trace Address Map and Register Definitions
                            
                        
                    
                
                                    
                                    
                                        
                                            25.4.1. Debug Access Port
                                        
                                        
                                        
                                    
                                        
                                        
                                            25.4.2. CoreSight SoC-400 Timestamp Generator
                                        
                                        
                                    
                                        
                                        
                                            25.4.3. System Trace Macrocell
                                        
                                        
                                    
                                        
                                        
                                            25.4.4. Trace Funnel
                                        
                                        
                                    
                                        
                                            25.4.5. CoreSight Trace Memory Controller
                                        
                                        
                                        
                                    
                                        
                                        
                                            25.4.6. AMBA Trace Bus Replicator
                                        
                                        
                                    
                                        
                                        
                                            25.4.7. Trace Port Interface Unit
                                        
                                        
                                    
                                        
                                        
                                            25.4.8. NoC Trace Ports
                                        
                                        
                                    
                                        
                                            25.4.9. Embedded Cross Trigger System
                                        
                                        
                                        
                                    
                                        
                                        
                                            25.4.10. Embedded Trace Macrocell
                                        
                                        
                                    
                                        
                                        
                                            25.4.11. HPS Debug APB Interface
                                        
                                        
                                    
                                        
                                            25.4.12. FPGA Interface
                                        
                                        
                                        
                                    
                                        
                                        
                                            25.4.13. Debug Clocks
                                        
                                        
                                    
                                        
                                        
                                            25.4.14. Debug Resets
                                        
                                        
                                    
                                
                            
                        
                        
                            
                            
                                B.1. Features of the Quad SPI Flash Controller
                            
                        
                            
                                B.2. Taking Ownership of Quad SPI Controller
                            
                            
                        
                            
                            
                                B.3. Quad SPI Flash Controller Block Diagram and System Integration
                            
                        
                            
                            
                                B.4. Quad SPI Flash Controller Signal Description
                            
                        
                            
                                B.5. Functional Description of the Quad SPI Flash Controller
                            
                            
                        
                            
                                B.6. Quad SPI Flash Controller Programming Model
                            
                            
                        
                            
                            
                                B.7. Accessing the SDM Quad SPI Flash Controller Through HPS Address Map and Register Definitions
                            
                        
                    
                
                                    
                                    
                                        
                                        
                                            B.5.1. Overview
                                        
                                        
                                    
                                        
                                            B.5.2. Data Slave Interface
                                        
                                        
                                        
                                    
                                        
                                        
                                            B.5.3. SPI Legacy Mode
                                        
                                        
                                    
                                        
                                            B.5.4. Register Slave Interface
                                        
                                        
                                        
                                    
                                        
                                        
                                            B.5.5. Local Memory Buffer
                                        
                                        
                                    
                                        
                                        
                                            B.5.6. Arbitration between Direct/Indirect Access Controller and STIG
                                        
                                        
                                    
                                        
                                        
                                            B.5.7. Configuring the Flash Device
                                        
                                        
                                    
                                        
                                        
                                            B.5.8. XIP Mode
                                        
                                        
                                    
                                        
                                        
                                            B.5.9. Write Protection
                                        
                                        
                                    
                                        
                                        
                                            B.5.10. Data Slave Sequential Access Detection
                                        
                                        
                                    
                                        
                                        
                                            B.5.11. Clocks
                                        
                                        
                                    
                                        
                                        
                                            B.5.12. Resets
                                        
                                        
                                    
                                        
                                        
                                            B.5.13. Interrupts
                                        
                                        
                                    
                                
                            16.4.3.2.3. Auto-Stop
 The controller internally generates an SD/SDIO STOP command and is loaded in the command path when the send_auto_stop bit in the cmd register is set to 1. The AUTO_STOP command helps to send an exact number of data bytes using a stream read or write for the MMC, and a multiple‑block read or write for SD memory transfer for SD cards. The software must set the send_auto_stop bit according to the following details: †  
  
 
  The following list describes conditions for the AUTO_STOP command:†
- Stream-read for MMC with byte count greater than zero—The controller generates an internal STOP command and loads it into the command path so that the end bit of the STOP command is sent when the last byte of data is read from the card and no extra data byte is received. If the byte count is less than six (48 bits), a few extra data bytes are received from the card before the end bit of the STOP command is sent.†
- Stream-write for MMC with byte count greater than zero—The controller generates an internal STOP command and loads it into the command path so that the end bit of the STOP command is sent when the last byte of data is transmitted on the card bus and no extra data byte is transmitted. If the byte count is less than six (48 bits), the data path transmits the data last to meet these condition.†
- Multiple‑block read memory for SD card with byte count greater than zero—If the block size is less than four (single‑bit data bus), 16 (4‑bit data bus), or 32 (8‑bit data bus), the AUTO_STOP command is loaded in the command path after all the bytes are read. Otherwise, the STOP command is loaded in the command path so that the end bit of the STOP command is sent after the last data block is received.†
- Multiple‑block write memory for SD card with byte count greater than zero—If the block size is less than three (single‑bit data bus), 12 (4‑bit data bus), or 24 (8‑bit data bus), the AUTO_STOP command is loaded in the command path after all data blocks are transmitted. Otherwise, the STOP command is loaded in the command path so that the end bit of the STOP command is sent after the end bit of the CRC status is received.†
- Precaution for host software during auto‑stop—When an AUTO_STOP command is issued, the host software must not issue a new command to the controller until the AUTO_STOP command is sent by the controller and the data transfer is complete. If the host issues a new command during a data transfer with the AUTO_STOP command in progress, an AUTO_STOP command might be sent after the new command is sent and its response is received. This can delay sending the STOP command, which transfers extra data bytes. For a stream write, extra data bytes are erroneous data that can corrupt the card data. If the host wants to terminate the data transfer before the data transfer is complete, it can issue an SD/SDIO STOP or STOP_TRANSMISSION (CMD12) command, in which case the controller does not generate an AUTO_STOP command.†
Auto-Stop Generation for MMC Cards
| Transfer Type | Byte Count | send_auto_stop bit set | Comments | 
|---|---|---|---|
| Stream read | 0 | No | Open-ended stream | 
| Stream read | >0 | Yes | Auto-stop after all bytes transfer | 
| Stream write | 0 | No | Open-ended stream | 
| Stream write | >0 | Yes | Auto-stop after all bytes transfer | 
| Single-block read | >0 | No | Byte count = 0 is illegal | 
| Single-block write | >0 | No | Byte count = 0 is illegal | 
| Multiple-block read | 0 | No | Open-ended multiple block | 
| Multiple-block read | >0 | Yes 39 † | Pre-defined multiple block | 
| Multiple-block write | 0 | No | Open-ended multiple block | 
| Multiple-block write | >0 | Yes 39 † | Pre-defined multiple block | 
Auto-Stop Generation for SD Cards
| Transfer Type | Byte Count | send_auto_stop bit set | Comments | 
|---|---|---|---|
| Single-block read | >0 | No | Byte count = 0 is illegal | 
| Single-block write | >0 | No | Byte count = 0 illegal | 
| Multiple-block read | 0 | No | Open-ended multiple block | 
| Multiple-block read | >0 | Yes | Auto-stop after all bytes transfer | 
| Multiple-block write | 0 | No | Open-ended multiple block | 
| Multiple-block write | >0 | Yes | Auto-stop after all bytes transfer | 
Auto-Stop Generation for SDIO Cards
| Transfer Type | Byte Count | send_auto_stop bit set | Comments | 
|---|---|---|---|
| Single-block read | >0 | No | Byte count = 0 is illegal | 
| Single-block write | >0 | No | Byte count = 0 illegal | 
| Multiple-block read | 0 | No | Open-ended multiple block | 
| Multiple-block read | >0 | No | Pre-defined multiple block | 
| Multiple-block write | 0 | No | Open-ended multiple block | 
| Multiple-block write | >0 | No | Pre-defined multiple block | 
  39 The condition under which the transfer mode is set to block transfer and byte_count is equal to block size is treated as a single-block data transfer command for both MMC and SD cards. If byte_count = n*block_size (n = 2, 3, …), the condition is treated as a predefined multiple-block data transfer command. In the case of an MMC card, the host software can perform a predefined data transfer in two ways: 1) Issue the CMD23 command before issuing CMD18/CMD25 commands to the card – in this case, issue CMD18/CMD25 commands without setting the send_auto_stop bit. 2) Issue CMD18/CMD25 commands without issuing CMD23 command to the card, with the send_auto_stop bit set. In this case, the multiple-block data transfer is terminated by an internally-generated auto-stop command after the programmed byte count.†