Arm
®
CoreLink™ GFC-200 Generic Flash Controller
Technical Reference Manual
Document ID: 101484_0000_01_en
Issue: 01
Programmers Model
Using CMD_ACCEPT_IRQ with READ commands
The CMD_ACCEPT_IRQ is intended for ROW WRITE commands. However, all other commands
can use this interrupt because the hardware implementation cannot restrict its use.
If software uses CMD_ACCEPT_IRQ for READ commands, the read data of the current READ
command might be lost if the resulting interrupts are not processed in time. If software fails to
service the CMD_ACCEPT_IRQ before the GFC-200 overwrites the DATA registers, then it sets
the READ_OVERFLOW_IRQ bit to indicate this error.
Using an APB completer interface to read the Flash is intended for debug purposes only. Therefore,
for APB reads, you can use CMD_SUCCESS_IRQ and CMD_FAIL_IRQ interrupts. If you require a
higher read throughput, then Arm recommends using an AHB interface.
4.7 Reconfiguring the partition access rights
The GFC-200 supports on-the-fly reconfiguration of the partition access rights. You can use this
feature during a firmware update, when software allocates additional Flash memory and then
programs the new firmware.
You can also use this feature for ROM emulation, when software locks down a memory region to
be read-only accessible.
During partition reconfiguration, software must ensure that any sensitive data is not compromised.
Example 4-4: Example firmware update process
During a firmware update, software must perform the following steps:
1. The primary and secondary domains negotiate with each other to enter a secure maintenance
update mode that enables the primary manager to perform the reconfiguration.
For a firmware update, the primary manager might take ownership of the entire Flash or at least
any partitions that it must allocate to itself, while the secondary manager goes to an idle state
such as reset or WFI.
2. The primary manager writes to the PART_CONFIG_MODE_REQ register, to request that the
GFC-200 moves to configuration mode.
3. After the GFC-200 completes any pending GFB command, then it enters configuration mode
and it sets the PART_CONFIG_MODE_IRQ interrupt to notify the primary manager.
When the GFC-200 is in configuration mode, it ignores any requests from the secondary
domain. If the secondary domain issues an AHB read, then the GFC-200 responds with a 2-
cycle ERROR response and it sets CMD_FAIL_IRQ = 1. If the secondary domain issues an APB
command, then the GFC-200 sets CMD_FAIL_IRQ = 1.
Copyright © 2019, 2022 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page
80
of
90