Skip to content

Commit b67d8ca

Browse files
authored
Fix Zynq-7000 flash algorithm for images <64kB (thanks @korbin), add optional fast_33m and fast_50m algorithms (probe-rs#3790)
1 parent c398036 commit b67d8ca

File tree

3 files changed

+78
-8
lines changed

3 files changed

+78
-8
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added faster flash algorithms for Zynq-7000 that run QSPI at higher frequency

changelog/fixed-zynq7000-flash

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed a bug in Zynq-7000 flash algorithm that broke loads beyond 64kB

probe-rs/targets/Zynq7000.yaml

Lines changed: 76 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Generated from https://github.com/adamgreig/zynq7000-qspi-flash-algorithm
22
#
3+
# The default flash algorithm should work with almost all QSPI flash memories
4+
# up to 16MB, without stringent requirements on signal integrity, with external
5+
# clock between 30-50MHz, without needing to use the feedback pin.
6+
#
7+
# The alternative algorithms qspi_fast_33m and qspi_fast_50m can be used by
8+
# passing `--prefer-flash-algorithm` and run the QSPI at 100MHz clock speed,
9+
# with the feedback clock enabled (MIO8 must be free to toggle and otherwise
10+
# unused), and require either a 33MHz or 50MHz external crystal respectively.
11+
# This may lead to a speedup in flash read/write speeds, though often the speed
12+
# is limited by the debug interface.
13+
#
314
# Zynq-7000 SoCs have three APs:
415
# 0: MEM-AP that masters the main memory bus, can access all memory
516
# without CPU intervention, but is not on the CPU debug bus.
@@ -11,7 +22,8 @@
1122
# 2: JTAG-AP which can only be used to drive SRST from debug.
1223
#
1324
# By default, the BootROM maps the first 192kB of OCM to the lower addresses,
14-
# leaving the final 64kB mapped to the top 64kB of address space.
25+
# leaving the final 64kB mapped to the top 64kB of address space, so that is
26+
# what we use in the address map below.
1527
---
1628
name: Zynq 7000 Series
1729
manufacturer:
@@ -70,21 +82,77 @@ variants:
7082
- core1
7183
flash_algorithms:
7284
- zynq7000-qspi-flash-algorithm
85+
- qspi_fast_33m
86+
- qspi_fast_50m
7387
flash_algorithms:
7488
- name: zynq7000-qspi-flash-algorithm
7589
description: Flash algorithm for generic QSPI x1 external flash setup
7690
default: true
77-
instructions: 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
91+
instructions: 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
92+
load_address: 0x20
93+
pc_init: 0x1c8
94+
pc_uninit: 0x534
95+
pc_program_page: 0x2f0
96+
pc_erase_sector: 0xd8
97+
pc_erase_all: 0x44
98+
pc_verify: 0x590
99+
pc_blank_check: 0x0
100+
pc_read: 0x4e8
101+
data_section_offset: 0x97c
102+
flash_properties:
103+
address_range:
104+
start: 0xfc000000
105+
end: 0xfd000000
106+
page_size: 0x100
107+
erased_byte_value: 0xff
108+
program_page_timeout: 1000
109+
erase_sector_timeout: 2000
110+
sectors:
111+
- size: 0x1000
112+
address: 0x0
113+
cores:
114+
- core0
115+
- name: qspi_fast_33m
116+
description: Flash algorithm for generic QSPI x1 external flash setup, driving QSPI at 100MHz, with 33MHz external crystal
117+
default: false
118+
instructions: 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
119+
load_address: 0x20
120+
pc_init: 0x1c8
121+
pc_uninit: 0x53c
122+
pc_program_page: 0x2f8
123+
pc_erase_sector: 0xd8
124+
pc_erase_all: 0x44
125+
pc_verify: 0x598
126+
pc_blank_check: 0x0
127+
pc_read: 0x4f0
128+
data_section_offset: 0x984
129+
flash_properties:
130+
address_range:
131+
start: 0xfc000000
132+
end: 0xfd000000
133+
page_size: 0x100
134+
erased_byte_value: 0xff
135+
program_page_timeout: 1000
136+
erase_sector_timeout: 2000
137+
sectors:
138+
- size: 0x1000
139+
address: 0x0
140+
cores:
141+
- core0
142+
- name: qspi_fast_50m
143+
description: Flash algorithm for generic QSPI x1 external flash setup, driving QSPI at 100MHz, with 50MHz external crystal
144+
default: false
145+
instructions: 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
78146
load_address: 0x20
79-
pc_init: 0x1c4
80-
pc_uninit: 0x52c
81-
pc_program_page: 0x2ec
147+
pc_init: 0x1c8
148+
pc_uninit: 0x518
149+
pc_program_page: 0x2d4
82150
pc_erase_sector: 0xd8
83151
pc_erase_all: 0x44
84-
pc_verify: 0x588
152+
pc_verify: 0x574
85153
pc_blank_check: 0x0
86-
pc_read: 0x4e0
87-
data_section_offset: 0x974
154+
pc_read: 0x4cc
155+
data_section_offset: 0x960
88156
flash_properties:
89157
address_range:
90158
start: 0xfc000000

0 commit comments

Comments
 (0)