xref: /rkbin/doc/release/RK3588_CN.md (revision 80d21b102fa09a8e09dbca1e6131da5f20939da3)
1# RK3588 Release Note
2
3## rk3588_bl31_v1.46.elf
4
5| 时间       | 文件                  | 编译 commit | 重要程度 |
6| ---------- | :-------------------- | ----------- | -------- |
7| 2024-04-29 | rk3588_bl31_v1.46.elf | 588059758   | 重要     |
8
9### New
10
111. 支持在kernel配置pmu mcu。
122. 提高单片选lpddr5变频稳定性。
13
14------
15
16## rk3588_bl32_v1.16.bin
17
18| 时间       | 文件                  | 编译 commit | 重要程度 |
19| ---------- | :-------------------- | ----------- | -------- |
20| 2024-04-16 | rk3588_bl32_v1.16.bin | 185dc3c92   | 重要     |
21
22### New
23
241. 增加输入参数检查,增加安全性。
252. 支持打印 TEE 内存占用信息。
263. 硬件 crypto 支持4G以上地址。
27
28------
29
30## rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.17.bin
31
32| 时间       | 文件                                         | 编译 commit | 重要程度 |
33| ---------- | :------------------------------------------- | ----------- | -------- |
34| 2024-04-12 | rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.17.bin | 3488111f83  | 重要     |
35
36### Fixed
37
38| Index | 重要程度 | 更新说明                                                     | 问题现象                                     | 问题来源 |
39| ----- | -------- | ------------------------------------------------------------ | -------------------------------------------- | -------- |
40| 1     | 重要     | 修正当boot_fsp配为非0值后pll_id设置错误问题,boot_fsp默认值为0。 | 当boot_fsp配为非0值后概率性出现DDR初始化失败 | -        |
41
42------
43
44## rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.16.bin
45
46| 时间       | 文件                                         | 编译 commit | 重要程度 |
47| ---------- | :------------------------------------------- | ----------- | -------- |
48| 2024-02-04 | rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.16.bin | 9fffbe1e78  | 重要     |
49
50### New
51
521. 修改LPDDR5频率,提高稳定性。
532. 新增支持cs0 row小于cs1 row的颗粒。
543. 修改 DERATEINT.mr4_read_interval配置。
55
56### Fixed
57
58| Index | 重要程度 | 更新说明                           | 问题现象                                        | 问题来源 |
59| ----- | -------- | ---------------------------------- | ----------------------------------------------- | -------- |
60| 1     | 重要     | 修正单片选LPDDR5的derate异常问题。 | 单片选LPDDR5执行DDR变频后可能会引起kernel挂起。 | -        |
61
62------
63
64## rk3588_bl31_v1.45.elf
65
66| 时间       | 文件                  | 编译 commit | 重要程度 |
67| ---------- | :-------------------- | ----------- | -------- |
68| 2023-12-27 | rk3588_bl31_v1.45.elf | 4ca8a8422   | 重要     |
69
70### New
71
721. 优化唤醒后ddr变频时间。
732. 唤醒后提前提高cpu频率。
743. 支持pvtpll参数通过sip配置。
75
76------
77
78## rk3588_pcie_v2.10.bin
79
80| 时间       | 文件                  | 编译 commit | 重要程度 |
81| ---------- | --------------------- | ----------- | -------- |
82| 2023-12-18 | rk3588_pcie_v2.10.bin | 35f57cde3   | 普通     |
83
84### New
85
861. Update the version。
87
88------
89
90## rk3588_pcie_v2.00.bin
91
92| 时间       | 文件                  | 编译 commit | 重要程度 |
93| ---------- | --------------------- | ----------- | -------- |
94| 2023-12-06 | rk3588_pcie_v2.00.bin | I3e280b78   | 普通     |
95
96### New
97
981. Fix bar capacity。
99
100------
101
102## rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.15.bin
103
104| 时间       | 文件                                         | 编译 commit | 重要程度 |
105| ---------- | :------------------------------------------- | ----------- | -------- |
106| 2023-11-23 | rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.15.bin | d5483af87d  | 重要     |
107
108### New
109
1101. 避免PHY skew value大于dll lock value,提高528MHz稳定性。
1112. 修复data training流程,提高稳定性。
1123. LPDDR5唤醒流程,恢复ZQ background calibration。
113
114------
115
116## rk3588_usbplug_v1.11.bin
117
118| 时间       | 文件                     | 编译 commit | 重要程度 |
119| ---------- | :----------------------- | ----------- | -------- |
120| 2023-11-20 | rk3588_usbplug_v1.11.bin | dcac518e7   | 重要     |
121
122### New
123
1241. 增加rk3583烧写支持。
125
126------
127
128## rk3583_ddr_lp4_1848MHz_lp5_2112MHz_v1.14.bin
129
130| 时间       | 文件                                         | 编译 commit | 重要程度 |
131| ---------- | :------------------------------------------- | ----------- | -------- |
132| 2023-11-10 | rk3583_ddr_lp4_1848MHz_lp5_2112MHz_v1.14.bin | 73dffea49e  | 重要     |
133
134### New
135
1361. 增加RK3583支持。
137
138------
139
140## rk3588_bl31_v1.44.elf
141
142| 时间       | 文件                  | 编译 commit | 重要程度 |
143| ---------- | :-------------------- | ----------- | -------- |
144| 2023-11-07 | rk3588_bl31_v1.44.elf | 4acbe711b   | 重要     |
145
146### New
147
1481. 增加rk3583 pvtpll 配置。
1492. 支持读取安全的otp。
1503. 优化dmc恢复时间。
151
152------
153
154## rk3588_pcie_v1.00.bin
155
156| 时间       | 文件                  | 编译 commit | 重要程度 |
157| ---------- | --------------------- | ----------- | -------- |
158| 2023-10-07 | rk3588_pcie_v1.00.bin | I01c2c7d7   | 普通     |
159
160### New
161
1621. 添加支持 pcie ep 初始化的裸系统可执行固件。
163
164------
165
166## rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.14.bin
167
168| 时间       | 文件                                         | 编译 commit | 重要程度 |
169| ---------- | :------------------------------------------- | ----------- | -------- |
170| 2023-09-26 | rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.14.bin | 73dffea49e  | 重要     |
171
172### New
173
1741. 提高LPDDR5 稳定性。
1752. 增加fwver支持。
176
177------
178
179## rk3588_bl32_v1.15.bin
180
181| 时间       | 文件                  | 编译 commit | 重要程度 |
182| ---------- | :-------------------- | ----------- | -------- |
183| 2023-09-25 | rk3588_bl32_v1.15.bin | 62aa10b7    | 重要     |
184
185### New
186
1871. 支持打印固件版本号fwver,支持传参fwver给后级固件。
188
189------
190
191## rk3588_bl31_v1.43.elf
192
193| 时间       | 文件                  | 编译 commit | 重要程度 |
194| ---------- | :-------------------- | ----------- | -------- |
195| 2023-09-26 | rk3588_bl31_v1.43.elf | 24b7dd41a   | 重要     |
196
197### New
198
1991. 支持通过rk_atags传递bl31版本号。
2002. 支持通过dts配置假关机的唤醒源。
201
202------
203
204## rk3588_spl_v1.13.bin
205
206| 时间       | 文件                 | 编译 commit | 重要程度 |
207| ---------- | :------------------- | ----------- | -------- |
208| 2023-09-25 | rk3588_spl_v1.13.bin | e4e124926e  | 重要     |
209
210### New
211
2121. 打印并传递固件版本号。
213
214### Fixed
215
216| Index | 重要程度 | 更新说明                                            | 问题现象                                                 | 问题来源 |
217| ----- | -------- | --------------------------------------------------- | -------------------------------------------------------- | -------- |
218| 1     | 重要     | 解决SPL加载校验u-boot.dtb失败后不加载备份镜像的问题 | 第一份uboot.imgu-boot.dtb损坏后,SPL没有加载备份镜像。 | -        |
219------
220
221## rk3588_bl31_v1.42.elf
222
223| 时间       | 文件                  | 编译 commit | 重要程度 |
224| ---------- | :-------------------- | ----------- | -------- |
225| 2023-09-09 | rk3588_bl31_v1.42.elf | 87bcc5dfe   | 重要     |
226
227### New
228
2291. 优化唤醒时间。
2302. 支持任意cpu进行休眠唤醒。
2313. 假关机时支持所有pwm唤醒。
232
233------
234
235## rk3588_bl32_v1.14.bin
236
237| 时间       | 文件                  | 编译 commit | 重要程度 |
238| ---------- | :-------------------- | ----------- | -------- |
239| 2023-08-28 | rk3588_bl32_v1.14.bin | b5340fd65   | 重要     |
240
241### New
242
2431. 默认设置伪随机数种子。
2442. 内部TA支持读写security flag接口。
2453. 内部TA支持判断  ta encryption key 是否写入。
246
247### Fixed
248
249| Index | 重要程度 | 更新说明                                   | 问题现象             | 问题来源 |
250| ----- | -------- | ------------------------------------------ | -------------------- | -------- |
251| 1     | 重要     | 修正使能动态内存后硬件crypto概率性奔溃问题 | 使用硬件crypto会报错 | -        |
252
253------
254
255## rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.13.bin
256
257| 时间       | 文件                                         | 编译 commit | 重要程度 |
258| ---------- | :------------------------------------------- | ----------- | -------- |
259| 2023-08-11 | rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.13.bin | 25cee80c4f  | 重要     |
260
261### Warn
262
2631. 要求BL31版本必须同步更新到V1.41或更高版本。
264
265### New
266
2671. 提高LPDDR5 528MHz稳定性。
2682. fsp_params中4个通道更新各自的vref_inner,提高稳定性。
269
270### Fixed
271
272| Index | 重要程度 | 更新说明                     | 问题现象                       | 问题来源 |
273| ----- | -------- | ---------------------------- | ------------------------------ | -------- |
274| 1     | 重要     | 解决高温环境下启动失败的问题 | 高温环境下,开机ddrbin中卡死。 | -        |
275
276------
277
278## rk3588_bl31_v1.41.elf
279
280| 时间       | 文件                  | 编译 commit | 重要程度 |
281| ---------- | :-------------------- | ----------- | -------- |
282| 2023-08-10 | rk3588_bl31_v1.41.elf | b7c5102a2   | 重要     |
283
284### New
285
2861. 支持L3分区功能。
2872. 更新DDR vref_inner配置。
2883. 支持MCU休眠参数dts可配。
289
290------
291
292## rk3588_bl31_v1.40.elf
293
294| 时间       | 文件                  | 编译 commit | 重要程度 |
295| ---------- | :-------------------- | ----------- | -------- |
296| 2023-07-13 | rk3588_bl31_v1.40.elf | dc1125f48   | 重要     |
297
298### New
299
3001. 支持根据vop子pd的状态,复位VOP。
301
302------
303
304## rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin
305
306| 时间       | 文件                                         | 编译 commit | 重要程度 |
307| ---------- | :------------------------------------------- | ----------- | -------- |
308| 2023-07-06 | rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin | 52218f4949  | 重要     |
309
310### New
311
3121. 增加支持打印training结果和颗粒MR值。
313
314### Fixed
315
316| Index | 重要程度 | 更新说明                                   | 问题现象                                                     | 问题来源 |
317| ----- | -------- | ------------------------------------------ | ------------------------------------------------------------ | -------- |
318| 1     | 重要     | 解决最大频率在1066和1600之间启动失败的问题 | 最高频率设置在1066-1600之间时,开机ddrbin中卡死。            | -        |
319| 2     | 重要     | 解决多次初始化DDR引起的死机问题            | 第一份固件SPL加载失败时重新加载第二份固件导致DDR被重复初始化,卡死在ddrbin中。 | -        |
320
321------
322
323## rk3588_bl31_v1.39.elf
324
325| 时间       | 文件                  | 编译 commit | 重要程度 |
326| ---------- | :-------------------- | ----------- | -------- |
327| 2023-06-27 | rk3588_bl31_v1.39.elf | 001b4889e   | 重要     |
328
329### New
330
3311. 修改非安全空间otp大小到128字节。
3322. 支持根据otp信息调整pvtpll配置。
3333. 调整rk3588j/m的pvtpll配置。
334
335------
336
337## rk3588_bl31_v1.38.elf
338
339| 时间       | 文件                  | 编译 commit | 重要程度 |
340| ---------- | :-------------------- | ----------- | -------- |
341| 2023-05-09 | rk3588_bl31_v1.38.elf | 3389cfdda   | 重要     |
342
343### Warn
344
3451. 要求DDR bin版本必须同步更新到V1.11或更高版本。
346
347### New
348
3491. 更新ddr lp5 mr配置。
3502. 提高hdmirx相关功能稳定性。
3513. 添加ddr展频模式。
352
353------
354
355## rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.11.bin
356
357| 时间       | 文件                                         | 编译 commit | 重要程度 |
358| ---------- | :------------------------------------------- | ----------- | -------- |
359| 2023-05-09 | rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.11.bin | f1474cf52f  | 重要     |
360
361### Warn
362
3631. 要求BL31版本必须同步更新到V1.38或更高版本。
364
365### New
366
3671. 增加打印,在初始化失败时可以更好的定位焊接问题。
3682. 优化开机时间。
3693. 使能per bank refresh功能。
3704. LPDDR5 4个通道使用不同的write vref。
3715. 先初始化LPDDR4X。
3726. LPDDR5 cavref更新为36%。
3737. 增加支持展频功能。
374
375------
376
377## rk3588_bl32_v1.13.bin
378
379| 时间       | 文件                  | 编译 commit | 重要程度 |
380| ---------- | :-------------------- | ----------- | -------- |
381| 2023-04-19 | rk3588_bl32_v1.13.bin | 7f1ea6d6e   | 重要     |
382
383### New
384
3851. OTP 支持 burst 读取,加快 BL32 启动速度。
3862. 支持内核端读取安全启动标志和公钥哈希。
3873. 支持动态共享内存,安全非安全世界可以传递更大数据。
3884. BL32 打印支持 pstore,内核可以通过 pstore 节点查看 BL32 的打印信息。
389
390------
391
392## rk3588_bl31_v1.37.elf
393
394| 时间       | 文件                  | 编译 commit | 重要程度 |
395| ---------- | :-------------------- | ----------- | -------- |
396| 2023-03-08 | rk3588_bl31_v1.37.elf | 9609b9c19   | 重要     |
397
398### New
399
4001. 休眠唤醒时保存恢复 u2phy_grf寄存器。
4012. 休眠唤醒时保存更多ddr相关寄存器。
4023. 兼容QNX系统的休眠唤醒。
403
404------
405
406## rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.10.bin
407
408| 时间       | 文件                                         | 编译 commit | 重要程度 |
409| ---------- | :------------------------------------------- | ----------- | -------- |
410| 2022-11-21 | rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.10.bin | 75d050770f  | 重要     |
411
412### New
413
4141. 可通过ddrbin_tool开关pageclose。
415
416### Fixed
417
418| Index | 重要程度 | 更新说明                | 问题现象                                                     | 问题来源 |
419| ----- | -------- | ----------------------- | ------------------------------------------------------------ | -------- |
420| 1     | 重要     | 解决DDR总容量24GB问题。 | 当板上DDR总容量为24GB时,无法正常开机。                      | -        |
421| 2     | 重要     | 解决LP4/LP4X稳定性问题  | 个别板子read odt需要从60ohm改为40ohm才能更稳定,BL31必须更新到V1.37及以上。 | -        |
422| 3     | 重要     | 优化LPDDR5性能          | LPDDR5模式下tWTR计算错误导致效率较差                         | -        |
423
424------
425
426## rk3588_bl31_v1.36.elf
427
428| 时间       | 文件                  | 编译 commit | 重要程度 |
429| ---------- | :-------------------- | ----------- | -------- |
430| 2023-01-30 | rk3588_bl31_v1.36.elf | 78ee25fe7   | 重要     |
431
432### New
433
4341. 支持休眠时软件解析多种协议的红外信号,需配合mcu一起使用。
435
436------
437
438## rk3588_bl31_v1.35.elf
439
440| 时间       | 文件                  | 编译 commit | 重要程度 |
441| ---------- | :-------------------- | ----------- | -------- |
442| 2023-01-16 | rk3588_bl31_v1.35.elf | bd7bac37a   | 重要     |
443
444### New
445
4461. 提高hdmirx相关功能稳定性。
447
448------
449
450## rk3588_bl31_v1.34.elf
451
452| 时间       | 文件                  | 编译 commit | 重要程度 |
453| ---------- | :-------------------- | ----------- | -------- |
454| 2023-01-10 | rk3588_bl31_v1.34.elf | e63a16361   | 重要     |
455
456### New
457
4581. hptimer支持使用软件校准模式。
4592. pvtpll支持添加长度。
460
461### Fixed
462
463| Index | 重要程度 | 更新说明                        | 问题现象                                                     | 问题来源 |
464| ----- | -------- | ------------------------------- | ------------------------------------------------------------ | -------- |
465| 1     | 重要     | 修正休眠时pmu mcu被意外启动问题 | 休眠唤醒后kernel代码或数据会被覆盖,原因是pmu mcu被意外启动导致的 | -        |
466
467------
468
469## rk3588_spl_v1.12.bin
470
471| 时间       | 文件                  | 编译 commit | 重要程度 |
472| ---------- | :-------------------- | ----------- | -------- |
473| 2022-12-26 | rk3588_spl_v1.12.bin  | 5f53abfa    | 重要     |
474
475### New
476
4771. 支持 SPL AB。
478
479------
480
481## rk3588_bl31_v1.33.elf
482
483| 时间       | 文件                  | 编译 commit | 重要程度 |
484| ---------- | :-------------------- | ----------- | -------- |
485| 2022-12-07 | rk3588_bl31_v1.33.elf | 17b41886e   | 重要     |
486
487### New
488
4891. 支持rk3588m, rk3588j。
490
491------
492
493## rk3588_usbplug_v1.10.bin
494
495| 时间       | 文件                     | 编译 commit | 重要程度 |
496| ---------- | :----------------------- | ----------- | -------- |
497| 2022-11-22 | rk3588_usbplug_v1.10.bin | b0e3c43c2   | 重要     |
498
499### New
500
5011. 提升兼容性。
502
503------
504
505## rk3588_bl31_v1.32.elf
506
507| 时间       | 文件                  | 编译 commit | 重要程度 |
508| ---------- | :-------------------- | ----------- | -------- |
509| 2022-11-21 | rk3588_bl31_v1.32.elf | e529a2760   | 重要     |
510
511### New
512
5131. 支持bus auto CS功能。
514
515------
516
517## rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin
518
519| 时间       | 文件                                         | 编译 commit | 重要程度 |
520| ---------- | :------------------------------------------- | ----------- | -------- |
521| 2022-11-21 | rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.09.bin | a930779e06  | 重要     |
522
523### New
524
5251. 可通过ddrbin_tool开关derate/perbank refresh。
5262. DDRBIN开启pstore功能。
5273. boot 频率可通过ddrbin_tool修改。
5284. 开启LPDDR5 DMC功能。
5295. 支持LPDDR5 byte mode颗粒。
5306. 增加回收与寄存器空间重叠的256MB DDR空间,默认回收,可通过ddrbin_tool关闭。
531
532### Fixed
533
534| Index | 重要程度 | 更新说明                | 问题现象                                                     | 问题来源 |
535| ----- | -------- | ----------------------- | ------------------------------------------------------------ | -------- |
536| 1     | 重要     | 修正WRTRN概率性异常问题 | 修正533-1066M之间WR Training概率性异常问题。该频率点当前Bin未使用。但是客户可能通过ddrbin_tool修改使用到这段频率点。 | -        |
537| 2     | 重要     | 修正周期性ZQCALIB间隙   | 修正周期性ZQCLIB timer 使用默认值,周期性ZQCALIB频繁问题。   | -        |
538| 3     | 重要     | 修正528M稳定性问题      | 变频到528M之前清除SW*skew,避免528M带入其他频率点的skew引起稳定性问题 | -        |
539| 4     | 重要     | 提高LPDDR5稳定性与性能  | 修正一些LPDDR5 timing配置,提高LPDDR5稳定性和性能。          | -        |
540| 5     | 重要     | LP4/LP4X 32GB容量支持   | 增加LPDDR4两颗16GB组成的32GB的支持                           | -        |
541
542------
543
544## rk3588_bl31_v1.31.elf
545
546| 时间       | 文件                  | 编译 commit | 重要程度 |
547| ---------- | :-------------------- | ----------- | -------- |
548| 2022-11-09 | rk3588_bl31_v1.31.elf | 91e396185   | 重要     |
549
550### New
551
5521. 使能RK_ENABLE_A76_L2_FLUSH_TO_L3功能。
5532. 支持amp功能。
554
555### Fixed
556
557| Index | 重要程度 | 更新说明                               | 问题现象 | 问题来源 |
558| ----- | -------- | -------------------------------------- | -------- | -------- |
559| 1     | 重要     | 休眠、唤醒时保存、恢复保存性能相关配置 | -        | -        |
560
561------
562
563## rk3588_bl31_v1.30.elf
564
565| 时间       | 文件                  | 编译 commit | 重要程度 |
566| ---------- | :-------------------- | ----------- | -------- |
567| 2022-10-12 | rk3588_bl31_v1.30.elf | 1450d21e8   | 重要     |
568
569### New
570
5711. 支持pstore功能。
572
573------
574
575## rk3588_bl31_v1.29.elf
576
577| 时间       | 文件                  | 编译 commit | 重要程度 |
578| ---------- | :-------------------- | ----------- | -------- |
579| 2022-09-29 | rk3588_bl31_v1.29.elf | 686b5c48b   | 重要     |
580
581### New
582
5831. 添加A55 AT speculative补丁。
5842. 添加LPDDR5变频补丁,支持行间变频。
5853. 支持根据具体的DDR通道情况配置FW-DSU region。
586
587### Fixed
588
589| Index | 重要程度 | 更新说明                   | 问题现象                                                     | 问题来源 |
590| ----- | -------- | -------------------------- | ------------------------------------------------------------ | -------- |
591| 1     | 重要     | 解决cec唤醒问题            | 休眠等待cec唤醒时,gpio1/3的中断会同时唤醒AP和mcu,导致异常。 | -        |
592| 2     | 重要     | 修复ddr相关配置            | 解决一些ddr不稳定问题。                                      | -        |
593| 3     | 重要     | 解决关闭串口后休眠异常问题 | loader关闭串口后,系统休眠会异常。                           | -        |
594
595------
596
597## rk3588_bl32_v1.12.bin
598
599| 时间       | 文件                  | 编译 commit | 重要程度 |
600| ---------- | :-------------------- | ----------- | -------- |
601| 2022-09-20 | rk3588_bl32_v1.12.bin | 4542e1efd   | 重要     |
602
603### New
604
6051. 支持根据具体的DDR通道情况配置FW-DSU region。
606
607------
608
609## rk3588_bl32_v1.11.bin
610
611| 时间       | 文件                  | 编译 commit | 重要程度 |
612| ---------- | :-------------------- | ----------- | -------- |
613| 2022-09-15 | rk3588_bl32_v1.11.bin | d84087907   | 重要     |
614
615### Fixed
616
617| Index | 重要程度 | 更新说明                            | 问题现象                                                     | 问题来源 |
618| ----- | -------- | ----------------------------------- | ------------------------------------------------------------ | -------- |
619| 1     | 重要     | 解决关闭打印时OPTEE启动阶段卡住问题 | 当用户使用/rkbin/tools/ddrbin_tool工具关闭打印时,rk_atags将通知OPTEE关闭打印,OPTEE启动时关闭打印会出现卡死,无法进入U-Boot | -        |
620
621------
622
623