1# Change Log & Release Notes
2
3This document contains a summary of the new features, changes, fixes and known
4issues in each release of Trusted Firmware-A.
5
6## [2.7.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.6..refs/tags/v2.7.0) (2022-05-20)
7
8### New Features
9
10- **Architecture**
11
12  - **Statistical profiling Extension (FEAT_SPE)**
13
14    - add support for FEAT_SPEv1p2 ([f20eb89](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f20eb893a072bb9b404eedb886e8c65fe76ffb45))
15
16  - **Branch Record Buffer Extension (FEAT_BRBE)**
17
18    - add BRBE support for NS world ([744ad97](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/744ad97445ce7aa65adaef376d0b5bafc12a90d3))
19
20  - **Extended Cache Index (FEAT_CCIDX)**
21
22    - update the do_dcsw_op function to support FEAT_CCIDX ([d0ec1cc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0ec1cc437c59e64ecba44710dbce82a04ff892d))
23
24- **Platforms**
25
26  - add SZ_* macros ([1af59c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1af59c457010e6e3e6536752736eb02115bca543))
27
28  - **Allwinner**
29
30    - add SMCCC SOCID support ([436cd75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/436cd754f2b0f9c0ce3094961bd1e179eeff2fc1))
31    - allow to skip PMIC regulator setup ([67412e4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/67412e4d7ae3defaac78ef5e351c63e06cfd907a))
32    - apx803: add aldo1 regulator ([a29f6e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a29f6e76cbf76d509c00f84f068b59864d210dfd))
33    - choose PSCI states to avoid translation ([159c36f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/159c36fd2fc5afbe979e5028b9e845ed4b7a40f1))
34    - provide CPU idle states to the rich OS ([e2b1877](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e2b18771fc2a0528dda18dbdaac08dd8530df25a))
35    - simplify CPU_SUSPEND power state encoding ([52466ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52466ec38ef312da62ad062720a03a183329f831))
36
37  - **Arm**
38
39    - **FVP**
40
41      - measure critical data ([cf21064](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf21064ec8a1889f64de48e30e38285227d27745))
42      - update HW_CONFIG DT loading mechanism ([39f0b86](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/39f0b86a76534d0b7c71dd0c8b34f1a74480386b))
43      - enable RSS backend based measured boot ([c44e50b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c44e50b72567205650c6455f3a258f36af0c84dd))
44
45    - **Morello**
46
47      - add changes to enable TBBR boot ([4af5397](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4af53977533bee7b5763d3efad1448545c2ebef7))
48      - add DTS for Morello SoC platform ([572c8ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/572c8ce255397f7cff9640676e510817a8e4c6a3))
49      - add support for nt_fw_config ([6ad6465](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6ad6465e5ce452688cac079f16d26f64e9f4ce3c))
50      - add TARGET_PLATFORM flag ([8840711](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8840711f33131969ec6b62ca3da079cf0573ac8b))
51      - configure DMC-Bing mode ([9b8c431](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b8c431e2b2d656da7f8c4158e3d32e104446fec))
52      - expose scmi protocols in fdts ([87639aa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/87639aab0b6a30d4f49d069c0ea06900b11072a6))
53      - split platform_info sds struct ([4a7a9da](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4a7a9dafbc953089957a0cc1a7183731a5b003e1))
54      - zero out the DDR memory space ([2d39b39](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d39b39704c1e4f2a189543ac4ff05ae58e5f5c8))
55
56    - **N1SDP**
57
58      - add support for nt_fw_config ([cf85030](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf85030efe73439e06295f8185b0a6bebf7b5eae))
59      - enable trusted board boot on n1sdp ([fe2b37f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fe2b37f6858168a56c3d393bc72f560468d02165))
60
61    - **RD**
62
63      - **RD-N2**
64
65        - add board support for rdn2cfg2 variant ([efeb438](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/efeb43808d2e3ed23e1d51d5e86460db92971e96))
66        - add support for rdedmunds variant ([ef515f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef515f0d3466a8beded4fd662718abbd97391b13))
67
68    - **SGI**
69
70      - add page table translation entry for secure uart ([33d10ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/33d10ac8bf134519f303fd7ce5fb5d583be2f515))
71      - deviate from arm css common uart related definitions ([f2cccca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f2ccccaa81ec14a80fedb48c37226e5d852ada7a))
72      - enable fpregs context save and restore ([18fa43f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/18fa43f753b79cfc3cc5426a3ef50b04efbf6206))
73      - route TF-A logs via secure uart ([987e2b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/987e2b7c20eb4ab4215ff5289b715300f5cec054))
74
75    - **TC**
76
77      - add reserved memory region for Gralloc ([ad60a42](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ad60a42cd79713984065dca8540c091c49755f32))
78      - enable CI-700 PMU for profiling ([fbfc598](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fbfc59840f9cd0ea53921c7f6fb9f4850a3b42ee))
79      - enable GPU ([82117bb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/82117bb48180175c25936b0ff9e33563e25e18f4))
80      - enable SMMU for DPU ([4a6ebee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4a6ebeeca37ece34a58982c8b6ebdc8cfd70814b))
81      - enable tracing ([59da207](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/59da207e2f2f028c9051c89bc5a05e95d996c18c))
82
83    - **Corstone-1000**
84
85      - identify bank to load fip ([cf89fd5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf89fd57ed3286d7842eef41cd72a3977eb6d317))
86      - implement platform specific psci reset ([a599c80](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a599c80d063975cbeedbc86cfb619fca8545c487))
87      - made changes to accommodate 3MB for optee ([854d1c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/854d1c103a9b73bbde7ef1b89b06b29e3cc053bb))
88
89  - **Intel**
90
91    - add macro to switch between different UART PORT ([447e699](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/447e699f70f1a1d1b85a8136b445eba689166c5d))
92    - add RSU 'Max Retry' SiP SMC services ([4c26957](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4c26957be253a7ab3acb316f42bf3ee10c409ed2))
93    - add SiP service for DCMF status ([984e236](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/984e236e0dee46708534a23c637271a931ceb67e))
94    - add SMC for enquiring firmware version ([c34b2a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c34b2a7a1a38dba88b6b668a81bd07c757525830))
95    - add SMC support for Get USERCODE ([93a5b97](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/93a5b97ec9e97207769db18ae34886e6b8bf2ea4))
96    - add SMC support for HWMON voltage and temp sensor ([52cf9c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52cf9c2cd4882534d02e8996e4ff1143ee59290e))
97    - add SMC support for ROM Patch SHA384 mailbox ([77902fc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77902fca8fe7449473b09198e1fe197f7b4765d7))
98    - add SMC/PSCI services for DCMF version support ([44eb782](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/44eb782e15c9af532f2455b37bd53ca93830f6e2))
99    - add SMPLSEL and DRVSEL setup for Stratix 10 MMC ([bb0fcc7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb0fcc7e011ec4319a79734ba44353015860e39f))
100    - add support for F2S and S2F bridge SMC with mask to enable, disable and reset bridge ([11f4f03](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/11f4f03043ef05762f4d6337804c39dc8f9af54f))
101    - allow to access all register addresses if DEBUG=1 ([7e954df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e954dfc2ba83262f7596dd0f17de75163e49e5e))
102    - create source file for firewall configuration ([afa0b1a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/afa0b1a82a404c616da2da8f52cdcd587938955f))
103    - enable firewall for OCRAM in BL31 ([ae19fef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ae19fef33707700a91b0b672aa784e084a6ca500))
104    - enable SMC SoC FPGA bridges enable/disable ([b7f3044](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7f3044e8725d9af997999547630892cf9e2f0ad))
105    - extend attestation service to Agilex family ([581182c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/581182c1916df03860744d8e32941c72b2cc3fda))
106    - implement timer init divider via cpu frequency. ([#1](https://review.trustedfirmware.org:29418/TF-A/trusted-firmware-a/issues/1)) ([f65bdf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f65bdf3a54eed8f7651761c25bf6cc7437f4474b))
107    - initial commit for attestation service ([d174083](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d17408316db10db611e23716e8a5b9b9f53ad509))
108    - single certificate feature enablement ([7facace](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7facacec6328e505b243a4974d045d45fe068afd))
109    - support AES Crypt Service ([6726390](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6726390eb02e9659cfaf2d3598be9bf12fbc5901))
110    - support crypto service key operation ([342a061](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/342a0618c7ff89327ac5b34dc0713509ffae609b))
111    - support crypto service session ([6dc00c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6dc00c24ab0100a2aae0f416c72470f8ed17e149))
112    - support ECDH request ([4944686](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49446866a515c2db855d456f39df3d586b2084b7))
113    - support ECDSA Get Public Key ([d2fee94](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d2fee94afa6ba7e76508e6bead7eb2936c5eafb8))
114    - support ECDSA HASH Signing ([6925410](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/692541051b8cb0f435ae46c5d7351231ee292319))
115    - support ECDSA HASH Verification ([7e25eb8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e25eb87016ba8355cf0a3a5f71fb8b8785de044))
116    - support ECDSA SHA-2 Data Signature Verification ([5830506](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/583050607e43cef8b544a5700386a019e54c422f))
117    - support ECDSA SHA-2 Data Signing ([07912da](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07912da1b7663451493fb5e40e4c33deeb18a639))
118    - support extended random number generation ([24f9dc8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24f9dc8a43fea350416ca9312a78ab4e786da8ad))
119    - support HMAC SHA-2 MAC verify request ([c05ea29](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c05ea2969070be90a7dbb2d0344c66d89401edf6))
120    - support session based SDOS encrypt and decrypt ([537ff05](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/537ff052579862a4865d36d06940feaa796d16da))
121    - support SHA-2 hash digest generation on a blob ([7e8249a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e8249a2dbacfa751990c47644f0403311c6e260))
122    - support SiP SVC version ([f0c40b8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0c40b897f8a25bc50c53239dcf750dd395ebabf))
123    - support version 2 SiP SVC SMC function ID for mailbox commands ([c436707](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c436707bc6eed31ab61408ef40db6063d05f0912))
124    - support version 2 SiP SVC SMC function ID for non-mailbox commands ([ad47f14](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ad47f1422f3f9aa4a622e08b71fc8f5caab98a98))
125    - update to support maximum response data size ([b703fac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b703facaaae1e3fe5afa4742b436bb07e065b5e9))
126
127  - **Marvell**
128
129    - **Armada**
130
131      - **A3K**
132
133        - add north and south bridge reset registers ([a4d35ff](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4d35ff381c625d61bcc22f9f9a1a45d8663b19d))
134
135  - **MediaTek**
136
137    - introduce mtk makefile ([500d40d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/500d40d877617653d347fb6308144973d4297ab9))
138
139    - **MT8195**
140
141      - apply erratas of CA78 for MT8195 ([c21a736](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c21a736d6f3fa9fb0647bff404b0174ebf1acd91))
142      - add EMI MPU surppot for SCP and DSP ([690cb12](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/690cb1265ea84851bd6405a0a6a57d2f1c9f03a3))
143      - dump EMI MPU configurations ([20ef588](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/20ef588e86ad8f3cf13382c164463046db261feb))
144      - improve SPM wakeup log ([ab45305](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ab45305062f50f81e5c3f800ef4c6cef5097cb04))
145
146    - **MT8186**
147
148      - add DFD control in SiP service ([e46e9df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e46e9df0d0e05f2aaee613fc4f697fcc8d79c0b3))
149      - add SPM suspend driver ([7ac6a76](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7ac6a76c47d429778723aa804b64c48220a10f11))
150      - add Vcore DVFS driver ([635e6b1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/635e6b108e773daf37c00f46e6fbb1cae4e78f96))
151      - disable 26MHz clock while suspending ([9457cec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9457cec8c02f78ba56fd9298dd795766c89281a2))
152      - initialize platform for MediaTek MT8186 ([27132f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/27132f13ca871dc3cf1aa6938995284cf5016e00))
153      - add power-off function for PSCI ([a68346a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a68346a772859ee6971ec14c6473d2a853e9c66f))
154      - add CPU hotplug ([1da57e5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1da57e54b2270b3b49710afa6fd947b01d61b261))
155      - add DCM driver ([95ea87f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/95ea87ffc2445c77f070e6a2f78ffa424810faed))
156      - add EMI MPU basic driver ([1b17e34](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b17e34c5d7740a357b2027d88aef7760b346616))
157      - add MCDI drivers ([06cb65e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/06cb65ef079941d0525dca75dd0e110e9330906d))
158      - add pinctrl support ([af5a0c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af5a0c40aff21c4b8771365f19dcb01d6086b30d))
159      - add pwrap and pmic driver ([5bc88ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5bc88ec61c75ed42b41d84817aa4d6ee68a2efc8))
160      - add reboot function for PSCI ([24dd5a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24dd5a7b71544c503446e58cb23c0cfd09245a3c))
161      - add RTC drivers ([6e5d76b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e5d76bac8786120d037953f5a6fd67aaff035c1))
162      - add SiP service ([5aab27d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5aab27dc4294110a6c0b69bf5ec5343e7df883a7))
163      - add sys_cirq support ([109b91e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/109b91e38c8d4f73941c8574759560a1f1636d05))
164      - apply erratas for MT8186 ([572f8ad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/572f8adbb062c36835fbb82944dd2ed772134bfd))
165      - initialize delay_timer ([d73e15e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d73e15e66a33398c8fc51c83f975a3f35494faf5))
166      - initialize GIC ([206f125](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/206f125cc177bc110eb87d40ffc7fa18b28c01ce))
167      - initialize systimer ([a6a0af5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a6a0af57c3369dfc6fc2f25877d812a24e9be311))
168
169  - **NXP**
170
171    - add SoC erratum a008850 ([3d14a30](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3d14a30b88762e901e134acc89c6ac4fa9e3f321))
172    - add ifc nor and nand as io devices ([b759727](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b759727f5936a687314168dd8912d30897a8c6be))
173    - add RCPM2 registers definition ([d374060](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d374060abe9b63296f63f1e3c811aeeddb7a093c))
174    - add CORTEX A53 helper functions ([3ccc8ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3ccc8ac3e5da48819a2fc90ec48a175515de38cb))
175
176    - **i.MX**
177
178      - **i.MX 8M**
179
180        - add a simple csu driver for imx8m family ([71c40d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71c40d3bb7c90a6c36d5c49d0830ca95aba65a2f))
181        - add imx csu/rdc enum type defines for imx8m ([0c6dfc4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c6dfc47847608b6ade0c00716e93afc6725362c))
182        - enable conditional build for SDEI ([d2a339d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d2a339dfa1665edf87a30a4318af954e764c205c))
183        - enable the coram_s tz by default on imx8mn/mp ([d5ede92](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5ede92d78c829d8a3adad0759219b79e0dc0707))
184        - enable the csu init on imx8m ([0a76495](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0a76495bc2cb0c5291027020a3cd2d3adf31c8ed))
185        - do not release JR0 to NS if HAB is using it ([77850c9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77850c96f23bcdc76ecb0ecd27a982c00fde5d9d))
186        - switch to xlat_tables_v2 ([4f8d5b0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4f8d5b018efc42d1ffa76fca8efb0d16a57f5edd))
187
188        - **i.MX 8M Mini**
189
190          - enable optee fdt overlay support ([9d0eed1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d0eed111cb1294605b6d82291fef16a51d35e46))
191          - enable Trusty OS on imx8mm ([ff3acfe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff3acfe3cc1658917376152913a9d1b5b9b8de34))
192          - add support for measured boot ([cb2c4f9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cb2c4f93c18b948fbfde9d50ab7d30362be0e00a))
193
194        - **i.MX 8M Plus**
195
196          - add trusty for imx8mp ([8b9c21b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8b9c21b480dd5c3265be1105a9462b3f5657a6b1))
197          - enable BL32 fdt overlay support on imx8mp ([aeff146](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aeff14640a91f6d33bfdbc0dc7b0e920f6d14b91))
198
199        - **i.MX 8M Nano**
200
201          - enable optee fdt overlay support ([2612891](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/26128912884b26fab67bce9d87ba0e1c85a0be1e))
202          - enable Trusty OS for imx8mn ([99349c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99349c8ecba910dabbaa72b9be91f3ed762036f5))
203
204        - **i.MX 8M Q**
205
206          - enable optee fdt overlay support ([023750c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/023750c6a898e77c185839f5e56f8e23538f718a))
207          - enable trusty for imx8mq ([a18e393](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a18e393339e1d481f4fdf0d621fe4f39ce93a4fe))
208
209    - **Layerscape**
210
211      - add CHASSIS 3 support for tbbr ([9550ce9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9550ce9ddd7729a961f51ed61ea4b2030e284dcb))
212      - add new soc errata a009660 support ([785ee93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/785ee93cc3bd9b43d88fee5acefbd131bf6f2756))
213      - add new soc errata a010539 support ([85bd092](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/85bd0929433875e0b84fdc2046d9ec2cf0164903))
214      - add soc helper macro definition for chassis 3 ([602cf53](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/602cf53b6f507cea88f4af5c07bed9325bc7a9b8))
215      - define more chassis 3 hardware address ([0d396d6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0d396d6455a659c4e679f02fae1f9043713474b0))
216      - print DDR errata information ([3412716](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3412716b30260958b30d1fa2e1c6d8cce195cd7d))
217
218      - **LS1043A**
219
220        - add ls1043a soc support ([3b0de91](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b0de9182501fae9de372efd1faaf35a7bf74f68))
221
222        - **LS1043ARDB**
223
224          - add ls1043ardb board support ([e4bd65f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e4bd65fed8a12d06181c1343cf786ac91badb6b0)
225
226      - **LX2**
227
228        - enable DDR erratas for lx2 platforms ([cd960f5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd960f5009ee062bba9c479505caee6bbe644649))
229
230      - **LS1046A**
231
232        - add new SoC platform ls1046a ([cc70859](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc708597fa72094c5a01df60e6538e4a7429c2a0))
233
234        - **LS1046ARDB**
235
236          - add ls1046ardb board support ([bb52f75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb52f7560b62043ed08a753f399dc80e8c1582d3))
237
238        - **LS1046AFRWY**
239
240          - add ls1046afrwy board support ([b51dc56](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b51dc56ab9ea79e4709f0d0ce965525d0d3da918))
241
242        - **LS1046AQDS**
243
244          - add board ls1046aqds support ([16662dc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/16662dc40dd2578d3000528ece090ed39ed18b9c))
245
246      - **LS1088A**
247
248        - add new SoC platform ls1088a ([9df5ba0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9df5ba05b4fe4cd44157363a897b73553ba6e2f1))
249
250        - **LS1088ARDB**
251
252          - add ls1088ardb board support ([2771dd0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2771dd0293b6cda6811e8bed95f2354a3ee0124e))
253
254        - **LS1088AQDS**
255
256          - add ls1088aqds board support ([0b0e676](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0b0e67669814139c6818e61e03d0d0e3314fdc99))
257
258  - **QEMU**
259
260    - add SPMD support with SPMC at S-EL1 ([f58237c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f58237ccd9fd2350730d60ab7de59b5c376bfb35))
261    - add support for measured boot ([5e69026](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5e690269d579d9461be3c5f5e3f59d4c666863a0))
262
263  - **QTI**
264
265    - **MSM8916**
266
267      - allow booting secondary CPU cores ([a758c0b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a758c0b65c6730fb07846899d6436ba257484d34))
268      - initial platform port ([dddba19](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dddba19a6a3cb7a1039beaffc3169c4eb3291afd))
269      - setup hardware for non-secure world ([af64473](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af6447315c8534331513ca6b6556af661e0ba88b))
270
271  - **Renesas**
272
273    - **R-Car**
274
275      - **R-Car 3**
276
277        - modify sequence for update value for WUPMSKCA57/53 ([d9912cf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d9912cf3d1022fc6d38a6059290040985de56e63))
278        - modify type for Internal function argument ([ffb725b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ffb725be98ffd010c851629a6da75bf57f770c7f))
279        - update IPL and Secure Monitor Rev.3.0.3 ([14d9727](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/14d9727e334300b3f5f57e76a9f6e21431e6c6b5))
280
281  - **ST**
282
283    - add a function to configure console ([53612f7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/53612f72938f37244a5f10ae7c57abe7358c221f))
284    - add STM32CubeProgrammer support on UART ([fb3e798](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb3e7985c9b657c535c02b722ecc413f643e671e))
285    - add STM32MP_UART_PROGRAMMER target ([9083fa1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9083fa11ead67272b94329e8f84257de6658620d))
286    - add early console in BL2 ([c768b2b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c768b2b22f4fb16cf8be8b4815a1984b29918c20))
287    - disable authentication based on part_number ([49abdfd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49abdfd8cececb91a4bc7e7b29a30c09dce461c7))
288    - get pin_count from the gpio-ranges property ([d0f2cf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0f2cf3b148df75d5cbbd42dfa18012043e5d1f4))
289    - map 2MB for ROM code ([1697ad8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1697ad8cc81307972d31cec3b27d58f589eeeb3f))
290    - protect UART during platform init ([acf28c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/acf28c267b3679a0770b2010f2ec3fb3c2d19975))
291    - update stm32image tool for header v2 ([2d8886a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d8886aceed613b9be25f20900914cacc8bb0fb9))
292    - update the security based on new compatible ([812daf9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/812daf916c9c977a4f6d7d745d22b90c8492fc71))
293    - use newly introduced clock framework ([33667d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/33667d299bd5398ca549f542345e0f321b483d17))
294
295    - **ST32MP1**
296
297      - adaptations for STM32MP13 image header ([a530874](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a5308745ee3ab3b77ca942052e60968bcc01340d))
298      - add "Boot mode" management for STM32MP13 ([296ac80](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/296ac8012b77ea84079b38cc60ee786a5f91857f))
299      - add a second fixed regulator ([225ce48](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/225ce4822ccf2e7c7c1fca6cf3918d4399158613))
300      - add GUID values for updatable images ([8d6b476](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8d6b4764f3e54431c3d01342d39d1efa70c3dbf9))
301      - add GUID's for identifying firmware images to be booted ([41bd8b9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/41bd8b9e2ad3b755505684601f07d4f7f8ec04c4))
302      - add helper to enable high speed mode in low voltage ([dea02f4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dea02f4eaed855c2f05d8a1d7eefca313e98e5b4))
303      - add logic to pass the boot index to the Update Agent ([ba02add](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ba02add9ea8fb9a8b0a533c1065a77c7dda4f2a6))
304      - add logic to select the images to be booted ([8dd7553](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8dd755314fdfa077465bd6cd5e248be392d90378))
305      - add NVMEM layout compatibility definition ([dfbdbd0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dfbdbd0625990267c6742268118ea748e77c6123))
306      - add part numbers for STM32MP13 ([30eea11](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/30eea116cdd66b3fa1e1208e185eb7285a83d898))
307      - add regulator framework compilation ([bba9fde](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bba9fdee589fb9a7aca5963f53b7ce67c30520b3))
308      - add sdmmc compatible in platform define ([3331d36](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3331d3637c295993a78f22afe7463cf1c334d329))
309      - add sign-compare warning ([c10f3a4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c10f3a4559ebf7a654a9719fec619e81e6ee1d69))
310      - add stm32_get_boot_interface function ([a6bfa75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a6bfa75cf25241a486ab371ae105ea7ebf2d34d8))
311      - add support for building the FWU feature ([ad216c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ad216c106682f1d2565b2a08e11a601b418dc8a4))
312      - add support for reading the metadata partition ([0ca180f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ca180f6416160a523ff442f1ad0b768a9a3a948))
313      - add timeout in IO compensation ([de02e9b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/de02e9b0ec29548b8ce5ef6ee9adcd9c5edb0518))
314      - allow configuration of DDR AXI ports number ([88f4fb8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/88f4fb8fa759b1761954067346ee674b454bdfde))
315      - call pmic_voltages_init() in platform init ([ffd1b88](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ffd1b889225a8aec124df9e330f41dc638fd7180))
316      - chip rev. Z is 0x1001 on STM32MP13 ([ef0b8a6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef0b8a6c1b1a0eab3626041f3168f82bdb410836))
317      - enable BL2_IN_XIP_MEM to remove relocation sections ([d958d10](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d958d10eb360024e15f3c921dc3863a0cee98830))
318      - enable format-signedness warning ([cff26c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cff26c19169dd94857e8180cc46b7aa4ccac574a))
319      - get CPU info from SYSCFG on STM32MP13 ([6512c3a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6512c3a62a4a7baaf32597284b242bc7172b7e26))
320      - introduce new flag for STM32MP13 ([bdec516](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bdec516ee862bfadc25a4d0c02a3b8d859c1fa25))
321      - manage HSLV on STM32MP13 ([fca10a8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fca10a8f1b47231ef92634a0adf1a26cbfc97c2a))
322      - manage monotonic counter ([f5a3688](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f5a3688b8608df0f269a0b6df18632ebb9e26a01))
323      - new way to access platform OTP ([ae3ce8b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ae3ce8b28eac73e9a41fdb28424d9f0f4b5f200e))
324      - preserve the PLL4 settings for USB boot ([bf1af15](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf1af154db2c89028a8a551c18885add35d38966))
325      - register fixed regulator ([967a8e6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/967a8e63c33822680e3a4631430dcd9a4a64becd))
326      - remove unsupported features on STM32MP13 ([111a384](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/111a384c90afc629e644e7a8284abbd4311cc6b3))
327      - retry 3 times FWU trial boot ([f87de90](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f87de907c87e5b2091592c131c4d3d2f737bef01))
328      - select platform compilation either by flag or DT ([99a5d8d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99a5d8d01d38474b056766651bd746a4fe93ab20))
329      - skip TOS_FW_CONFIG if not in FIP ([b706608](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7066086424c2f6fd04880db852306d6f487962e))
330      - stm32mp_is_single_core() for STM32MP13 ([7b48a9f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7b48a9f3286b8f174acf8821fec48fd2e4771514))
331      - update BACKUP_BOOT_MODE for STM32MP13 ([4b031ab](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4b031ab4c50d0b9f7127daa7f4eec634f39de970))
332      - update boot API for header v2.0 ([5f52eb1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5f52eb15970e57d2777d114948fc1110e3dd3f6c))
333      - update CFG0 OTP for STM32MP13 ([1c37d0c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c37d0c1d378769249c797de5b13d73cf6f17a53))
334      - update console management for SP_min ([aafff04](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aafff0435448c8409935132be41758e0031f0822))
335      - update IO compensation on STM32MP13 ([8e07ab5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8e07ab5f705b213af28831f7c3e9878154e07df0))
336      - update IP addresses for STM32MP13 ([52ac998](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52ac9983d67522b6b821391941c8b0d01fd68941))
337      - update memory mapping for STM32MP13 ([48ede66](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/48ede6615168118c674288f2e4f8ee1b11d2fa02))
338      - updates for STM32MP13 device tree compilation ([d38eaf9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d38eaf99d327bc1400f51c87b6d8a2f92cd828c6))
339      - usb descriptor update for STM32MP13 ([d59b9d5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d59b9d53b9cfb2443575c62c6716eb5508374a7b))
340      - use clk_enable/disable functions ([c7a66e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c7a66e720ae1a1a5ef98eaf9ff327cd352549010))
341      - use only one filter for TZC400 on STM32MP13 ([b7d0058](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7d0058a3a9153a3863cf76a6763ea751b3ab48d))
342      - warn when debug enabled on secure chip ([ac4b8b0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ac4b8b06eb23134d2a9002834541d33f8d43661b))
343
344  - **Texas Instruments**
345
346    - add enter sleep method ([cf5868b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf5868b8cd7239dee69bdf6ba3ab87bd06bf15f5))
347    - add gic save and restore calls ([b40a467](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b40a467783e5911f97d6e92ebdeb34ca2f005552))
348    - add PSCI handlers for system suspend ([2393c27](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2393c27680a1ec636e413051e87e986df5a866fe))
349    - allow build config of low power mode support ([a9f46fa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a9f46fad82b807a9f0a967245e3ac10ee8dd0ef1))
350    - increase SEC_SRAM_SIZE to 128k ([38164e6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/38164e64bd853a8329475e9168c5fcb94ecc528b))
351
352  - **Xilinx**
353
354    - **Versal**
355
356      - add SPP/EMU platform support for versal ([be73459](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/be73459a945d8fa781fcc864943ccd0a8d92421c))
357      - add common interfaces to handle EEMI commands ([1397967](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1397967490c9f0ebff0d20a566260d1475fe065e))
358      - add SMCCC call TF_A_PM_REGISTER_SGI ([fcf6f46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fcf6f469318d693a024d42ae2d0f4afb26c1e85d))
359      - add support to reset SGI ([bf70449](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf70449ba2d1ffd20b01741c491dc0f565009b3d))
360      - add UART1 as console ([2c79149](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2c791499c26b40c31ce7f68c3bf0dca777fc62de))
361      - enhance PM_IOCTL EEMI API to support additional arg ([d34a5db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d34a5db8a76abdfc8fa68f43b24b971699086a06))
362      - get version for ATF related EEMI APIs ([da6e654](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/da6e654bc8b03ee784d0e96a71c4e591e63930f2))
363      - remove the time stamp configuration ([18e2a79](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/18e2a79f8a5eaa72a2a7e641c2481beb9f827dce))
364
365    - **ZynqMP**
366
367      - disable the -mbranch-protection flag ([67abd47](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/67abd4762bd563be94e734bb0fe4087e88d5d446))
368      - fix section `coherent_ram' will not fit in region `RAM' ([9b4ed0a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b4ed0af02a8ff1fd9a81af5213fde16d3eb8d92))
369      - add feature check support ([223a628](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/223a6284b8a0a3ead884a7f0cf333a464d32e319))
370      - add support to get info of xilfpga ([cc077c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc077c22273075db328bd30fa12c28abf9eef052))
371      - add uart1 as console ([ea66e4a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea66e4af0baf5d5b905e72f824a672f16a6e0f98))
372      - increase the max xlat tables when debug build is enabled ([4c4b961](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4c4b9615b1d9512a4a89aa08e722547cc491a07b))
373      - pass ioctl calls to firmware ([76ff8c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/76ff8c459e9e6d105e614d68648bd6680806f93e))
374      - pm_api_clock_get_num_clocks cleanup ([e682d38](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e682d38b56854e1586b25d929dbc83543b4c66e4))
375
376- **Bootloader Images**
377
378  - add XLAT tables symbols in linker script ([bb5b942](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb5b942e6f133198daedcca0b74ec598af260a54))
379
380  - **BL2**
381
382    - add support to separate no-loadable sections ([96a8ed1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/96a8ed14b74cca33a8caf567d0f0a2d3b2483a3b))
383
384  - **BL31**
385
386    - aarch64: RESET_TO_BL31_WITH_PARAMS ([25844ff](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/25844ff728e4a0e5430ba2032457aba7b780a701))
387
388- **Services**
389
390  - **RME**
391
392    - add dummy platform token to RMMD ([0f9159b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0f9159b7ebb7e784a8ed998869ff21095fa105b1))
393    - add dummy realm attestation key to RMMD ([a043510](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a0435105f229a65c7861b5997793f905cf90b823))
394
395  - **SPM**
396
397    - update ff-a boot protocol documentation ([573ac37](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/573ac37373d3e8b2c31b3aaeed759e4656e060ec))
398
399    - **EL3 SPMC**
400
401      - allow BL32 specific defines to be used by SPMC_AT_EL3 ([2d65ea1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d65ea1930d4ce26cc176a8c60e9401d0b4f862a))
402      - add plat hook for memory transactions ([a8be4cd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a8be4cd057bce5f0b4ac6af396c0c870474d1ef4))
403      - add EL3 SPMC #defines ([44639ab](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/44639ab73e43e0b79da834dff8c85266d68e5066))
404      - introduce accessor function to obtain datastore ([6a0788b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a0788bc0e704283e52c80990aa2bb6e047a0cc2))
405      - add FF-A secure partition manager core ([5096aeb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5096aeb2ba646548a7a6ab59e975b996e6c9026a))
406      - add FFA_FEATURES handler ([55a2963](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/55a296387b9720855df429a08c886f47a4a45057))
407      - add FFA_PARTITION_INFO_GET handler ([f74e277](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f74e27723bb54ad1318fa462fbcff70af555b2e6))
408      - add FFA_RUN handler ([aad20c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aad20c85cb6f4bc91318d3c6488cf72a20fdbe96))
409      - add FFA_RX_RELEASE handler ([f0c25a0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0c25a082fc8b891d4d21518028118561caa4735))
410      - add function to determine the return path from the SPMC ([20fae0a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/20fae0a7ce7fd407cd3efb7745017ee6ab605159))
411      - add helper function to obtain endpoint mailbox ([f16b6ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f16b6ee3deac93706efe465f399c9542e12d5eeb))
412      - add helper function to obtain hyp structure ([a7c0050](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a7c00505f85684326a223535a319c170d14826f6))
413      - add helper to obtain a partitions FF-A version ([c2b1434](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2b1434369292081f907c548e496f59e197eb2f1))
414      - add partition mailbox structs ([e1df600](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e1df6008d9b4a00da25ec08fbdcbd3a5967fdb54))
415      - add support for direct req/resp ([9741327](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9741327df577c3f43db42b26bda607429e62af0b))
416      - add support for FF-A power mgmt. messages in the EL3 SPMC ([59bd2ad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/59bd2ad83c13ed3c84bb9b841032c95927358890))
417      - add support for FFA_MSG_WAIT ([c4db76f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c4db76f066f236fe490ebc7a50833a04e08f5151))
418      - add support for FFA_SPM_ID_GET ([46872e0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/46872e01f5efb555fef8367595b59e5d2f75cec0))
419      - add support for forwarding a secure interrupt to the SP ([729d779](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/729d7793f830781ff8ed44d144c3346c6e4251a3))
420      - add support for handling FFA_ERROR ABI ([d663fe7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d663fe7a3002ff028c190eb732278b878e78b7b7))
421      - add support for v1.1 FF-A boot protocol ([2e21921](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e21921502b1317031cf2a2f69c5d47ac88a505d))
422      - add support for v1.1 FF-A memory data structures ([7e804f9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e804f9695c48681c91e9e6fc6175eb6997df867))
423      - enable building of the SPMC at EL3 ([1d63ae4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1d63ae4d0d8374a732113565be90d58861506e39))
424      - enable checking of execution ctx count ([5b0219d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5b0219ddd5da42413f4c2be9302224b5b71295ff))
425      - enable handling FF-A RX/TX Mapping ABIs ([1a75224](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1a752245ecae6487844c57667e24b704e6df8079))
426      - enable handling FFA_VERSION ABI ([0c7707f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c7707fdf21fc2a8658f5a4bdfd2f8883d02ada5))
427      - enable handling of the NS bit ([0560b53](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0560b53e71ab6daefa8e75665a718605478746a4))
428      - enable parsing of messaging methods from manifest ([3de378f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3de378ff8c9430c964cbe9b0c58fa5afc4d237ce))
429      - enable parsing of UUID from SP Manifest ([857f579](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/857f5790da3770a9ca52416274eec4e545c9be53))
430      - enable the SPMC to pass the linear core ID in a register ([f014300](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0143004e548582760aacd6f15f5499b18081a69))
431      - prevent read only xlat tables with the EL3 SPMC ([70d986d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/70d986ddbbf56a20c7550c079dd4dc9462332594))
432      - support FFA_ID_GET ABI ([d5fe923](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5fe92350cb018ae7083ed26a6a16508ccd82a86))
433      - allow forwarding of FFA_FRAG_RX/TX calls ([642db98](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/642db9840712044b9c496e04a7acd60580e54117))
434      - enable handling of FF-A SMCs with the SPMC at EL3 ([bb01a67](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb01a67306f47271adde051e541c760028c1a0f1))
435      - update SPMC init flow to use EL3 implementation ([6da7607](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6da76075bf4b953d621aa15c379e62a5f785de3f))
436      - add logical partition framework ([7affa25](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7affa25cad400101c016082be2d102be0f4fce80))
437      - add FF-A memory management code ([e0b1a6d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e0b1a6d59e57c0dbe87f5b8f8166f1123664f058))
438      - prevent duplicated sharing of memory regions ([fef85e1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fef85e1e53fcf44e8d9ed50c89d8a764bf1b7738))
439      - support multiple endpoints in memory transactions ([f0244e5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0244e5dd1b8cbab75ef00c1b9b56eed5b3cad4b))
440
441    - **SPMD**
442
443      - forward FFA_VERSION from SPMD to SPMC ([9944f55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9944f55761c4d5cc1feefaf5e33bf7fb83d8f5f3))
444      - enable SPMD to forward FFA_VERSION to EL3 SPMC ([9576fa9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9576fa93a2effc23a533b80dce41d7104a8d200b))
445      - add FFA_MSG_SEND2 forwarding in SPMD ([c2eba07](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2eba07c47f8d831629104eeffcec11ed7d3b0a5))
446      - add FFA_RX_ACQUIRE forwarding in SPMD ([d555233](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d555233fe5a04dfd99fd6ac30bacc5284285c131))
447
448    - **SPM MM**
449
450      - add support to save and restore fp regs ([15dd6f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15dd6f19da8ee4b20ba525e0a742d0df9e46e071))
451
452- **Libraries**
453
454  - **CPU Support**
455
456    - add library support for Poseidon CPU ([1471475](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1471475516cbf1b4a411d5ef853bd92d0edd542e))
457    - add support for Cortex-X1 ([6e8eca7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e8eca78e5db966e10e2fa2737e9be4d5af51fa9))
458    - add L1PCTL macro definiton for CPUACTLR_EL1 ([8bbb1d8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8bbb1d80a58dbdf96fcabbdebbfbd21d2d5344a4))
459
460  - **EL3 Runtime**
461
462    - add arch-features detection mechanism ([6a0da73](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a0da73647546aea1d10b4b2347bac9d532bcb43))
463    - replace ARM_ARCH_AT_LEAST macro with FEAT flags ([0ce220a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ce220afb24f0511332b251952019d7011ccc282))
464
465  - **FCONF**
466
467    - add a helper to get image index ([9e3f409](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9e3f409398af447b1d03001dd981007a9bb1617e))
468    - add NS load address in configuration DTB nodes ([ed4bf52](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ed4bf52c33b6860d58a2ffc946bd293ec76bbdaa))
469
470  - **Standard C Library**
471
472    - add support for length specifiers ([701e94b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/701e94b08f382691b0deabd4df882abd87e17ab5))
473
474  - **PSA**
475
476    - add initial attestation API ([0848565](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/084856513d6730a50a3d65ac9c3bdae465117c40))
477    - add measured boot API ([758c647](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/758c64715b691be92de623f81032494e38a43cc8))
478    - mock PSA APIs ([0ce2072](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ce2072d9b9f419bb19595454395a33a5857ca2f))
479
480- **Drivers**
481
482  - **Generic Clock**
483
484    - add a minimal clock framework ([847c6bc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/847c6bc8e6d55b1c0f31a52407aa61515cd6c612))
485
486  - **FWU**
487
488    - add a function to pass metadata structure to platforms ([9adce87](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9adce87efc8acc947b8b49d700c9773a7f071e02))
489    - add basic definitions for GUID handling ([19d63df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/19d63df1af72b312109b827cca793625ba6fcd16))
490    - add platform hook for getting the boot index ([40c175e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/40c175e75bc442674a5dc793c601b09681158ab9))
491    - pass a const metadata structure to platform routines ([6aaf257](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6aaf257de4a4070ebc233f35a09bce4c39ea038c))
492    - simplify the assert to check for fwu init ([40b085b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/40b085bddf60cf8c533b379ccb41e6668c5080dd))
493
494  - **Measured Boot**
495
496    - add RSS backend ([0442ebd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0442ebd2e9bcf5fa4344d8fa8ef4b69a3b249e33))
497
498  - **GUID Partition Tables Support**
499
500    - add a function to identify a partition by GUID ([3cb1065](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3cb1065581f6d9a8507af8dbca3779d139aa0ca7))
501    - cleanup partition and gpt headers ([2029f93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2029f930097b0c3b1b1faa660032d16ed01a5c86))
502    - copy the partition GUID into the partition structure ([7585ec4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7585ec4d36ebb7e286cfec959b2de084eded8201))
503    - make provision to store partition GUID value ([938e8a5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/938e8a500a25a949cfd25f0cb79f6c1359c9b40c))
504    - verify crc while loading gpt header ([a283d19](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a283d19f82ddb635d9d9fa061e7fd956167ebe60))
505
506  - **Arm**
507
508    - **GIC**
509
510      - allow overriding GICD_PIDR2_GICV2 address ([a7521bd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a7521bd5d887bfd69d99a55a81416e38ba9ebc97))
511
512      - **GIC-600AE**
513
514        - disable SMID for unavailable blocks ([3f0094c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3f0094c15d433cd3de413a4633a4ac2b8e1d1f2e))
515        - enable all GICD, PPI, ITS SMs ([6a1c17c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a1c17c770139c00395783e7568220d61264c247))
516        - introduce support for RAS error handling ([308dce4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/308dce40679f63db504cd3d746a0c37a2a05f473))
517
518    - **SMMU**
519
520      - add SMMU abort transaction function ([6c5c532](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c5c5320511ab8202fb9eccce9e66b4e4e0d9a33))
521      - configure SMMU Root interface ([52a314a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52a314af254966a604e192fcc3326737354f217a))
522
523    - **MHU**
524
525      - add MHU driver ([af26d7d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af26d7d6f01068809f17cc2d49a9b3d573c640a9))
526
527    - **RSS**
528
529      - add RSS communication driver ([ce0c40e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ce0c40edc93aa403cdd2eb6c630ad23e28b01c3e))
530
531    - **TZC**
532
533      - **TZC-380**
534
535        - add sub-region register definition ([fdafe2b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fdafe2b5ead66a1b5175db77bcc7cedafa14a059))
536
537  - **Marvell**
538
539    - **Armada**
540
541      - **A3K**
542
543        - **A3720**
544
545          - preserve x1/x2 regs in console_a3700_core_init() ([7c85a75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7c85a7572960efbaabe20c9db037bcec66be3e98))
546
547  - **MediaTek**
548
549    - **APU**
550
551      - add mt8195 APU clock and pll SiP call ([296b590](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/296b590206aa6db51e5c82b1a97a4f9707b49c4d))
552      - add mt8195 APU iommap regions ([339e492](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/339e4924a7a3fd11bc176e0bf3e01d76133d364c))
553      - add mt8195 APU mcu boot and stop SiP call ([88906b4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/88906b443734399be5c07a5bd690b63d3d82cefa))
554
555  - **NXP**
556
557    - **DCFG**
558
559      - add Chassis 3 support ([df02aee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/df02aeeec640d2358301e903d9c8c473d455be9e))
560      - add gic address align register definition ([3a8c9d7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3a8c9d78d4c65544d789bd64bd005ac10b5b352d))
561      - add some macro definition ([1b29fe5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b29fe534b8732193850fced2da1dc449450bd3b))
562
563    - **NXP Crypto**
564
565      - add chassis 3 support ([d60364d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d60364d48e31b33b57049d848b7462eb0e0de612))
566
567    - **DDR**
568
569      - add rawcard 1F support ([f2de48c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f2de48cb143c20ccd7a9c141df3d34cae74049de))
570      - add workaround for errata A050958 ([291adf5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/291adf521a54a365e54964bff4dae53d51c65936))
571
572    - **GIC**
573
574      - add some macros definition for gicv3 ([9755fd2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9755fd2ec2894323136715848910b13053cfe0ce))
575
576    - **CSU**
577
578      - add bypass bit mask definition ([ec5fc50](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ec5fc501f15922967bf5d8260072ba1f9aec9640))
579
580    - **IFC NAND**
581
582      - add IFC NAND flash driver ([28279cf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/28279cf2c141caf5e4e7156f874cde6f5a0d271b))
583
584    - **IFC NOR**
585
586      - add IFC nor flash driver ([e2fdc77](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e2fdc77ba4eee91f0d1490e34f0fff552fc55dc9))
587
588    - **TZC-380**
589
590      - add tzc380 platform driver support ([de9e57f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/de9e57ff1f3769e770eac44b94127eb7239a63f2))
591
592  - **ST**
593
594    - introduce fixed regulator driver ([5d6a264](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d6a2646f7759a5a2b3daed0d8aef4588c552ba4))
595
596    - **Clock**
597
598      - add clock driver for STM32MP13 ([9be88e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9be88e75c198b08c508d8e470964720a781294b3))
599      - assign clocks to the correct BL ([7418cf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7418cf397916c97cb4ecf159b1f497a84299b695))
600      - check HSE configuration in serial boot ([31e9750](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/31e9750bc17bd472d4f2a3db297461efc301be51))
601      - define secure and non-secure gate clocks ([aaa09b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aaa09b713c6f539fb5b2ee7e2dfd75f2d46875f5))
602      - do not refcount on non-secure clocks in bl32 ([3d69149](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3d69149a7e9e9a899d57f48bee26f98614f88935))
603      - manage disabled oscillator ([bcccdac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bcccdacc7e7b7b985df942b3fae26cb9038a2574))
604
605    - **DDR**
606
607      - add read valid training support ([5def13e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5def13eb01ebac5656031bdc388a215d012fdaf8))
608
609    - **GPIO**
610
611      - allow to set a gpio in output mode ([53584e1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/53584e1d5b2b843ea3bb9e01e3f01ea7c364ee6a))
612      - do not apply secure config in BL2 ([fc0aa10](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fc0aa10a2cd3cab887a8baa602891d1f45db2537))
613      - add a function to reset a pin ([737ad29](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/737ad29bf992a7a79d538d1e0b47c7f38d9a4b9d))
614
615    - **SDMMC2**
616
617      - allow compatible to be defined in platform code ([6481a8f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6481a8f1e045ac80f0325b8bfe7089ba23deaf7b))
618      - manage cards power cycle ([258bef9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/258bef913aa76ead1b10c257d1695d9c0ef1c79d))
619
620    - **ST PMIC**
621
622      - add pmic_voltages_init() function ([5278ec3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5278ec3faf2010fd6aea1d8cd4294dd229c5c21d))
623      - register the PMIC to regulator framework ([85fb175](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/85fb175b5ef854bc4607db98a4cfb5f35d822cee))
624
625    - **STPMIC1**
626
627      - add new services ([ea552bf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea552bf5a57b573a6b09e396e3466b3c4af727f0))
628      - add USB OTG regulators ([13fbfe0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/13fbfe046e71393961d2c70a4f748a15f9c15f77))
629
630    - **Regulator**
631
632      - add support for regulator-always-on ([9b4ca70](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b4ca70d97d9a2556752b511ff9fe52012faff02))
633      - add a regulator framework ([d5b4a2c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5b4a2c4e7fd0bcb9f08584b242e69a2e591fb71))
634
635    - **UART**
636
637      - manage oversampling by 8 ([1f60d1b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1f60d1bd33d434b0c82a74e276699ee5a2f63833))
638      - add uart driver for STM32MP1 ([165ad55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/165ad5561ef598ea6261ba082610eeff3f208df7))
639
640- **Miscellaneous**
641
642  - **Debug**
643
644    - update print_memory_map.py ([d16bfe0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d16bfe0feffe6a20399fb91d86fd8f7282b941dd))
645
646  - **DT Bindings**
647
648    - add bindings for STM32MP13 ([1b8898e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b8898eb32c3872a34fc59f4216736f23af0c6ea))
649    - add TZC400 bindings for STM32MP13 ([24d3da7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24d3da76d221390bb47d501c2ed77a1a7d2b42e7))
650
651  - **FDT Wrappers**
652
653    - add function to find or add a sudnode ([dea8ee0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dea8ee0d3f13f8d1638745b76e86bd7617bf92e7))
654
655  - **FDTs**
656
657    - add the ability to supply idle state information ([2b2b565](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2b2b565717cc0299e75e8806004d1a3548e9fbf7))
658
659    - **STM32MP1**
660
661      - add DDR support for STM32MP13 ([e6fddbc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e6fddbc995947d4e5a5dc6607c76cd46fdd840e2))
662      - add DT files for STM32MP13 ([3b99ab6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b99ab6e370a01caec14bc5422a86001eaf291b8))
663      - add nvmem_layout node and OTP definitions ([ff8767c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff8767cbfc2bb851a2f6cc32fbe3693ddbfb7d12))
664      - add st-io_policies node for STM32MP13 ([2bea351](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2bea35122d102492f18c427535ce6c9b7016e356))
665      - add support for STM32MP13 DK board ([2b7f7b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2b7f7b751f4b0f7a8a0f4a35407af22cc269e529))
666      - update NVMEM nodes ([375b79b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/375b79bb4a773fe6a5dd971272c72bf12155050e))
667
668- **Documentation**
669
670  - context management refactor proposal ([3274226](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/327422633bef112a10579d4daeca0f596cd02911))
671
672  - **Threat Model**
673
674    - Threat Model for TF-A v8-R64 Support ([dc66922](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dc669220d5666c2c808bc11ba81c86a9b071271a))
675
676- **Tools**
677
678  - **Secure Partition Tool**
679
680    - add python SpSetupActions framework ([b1e6a41](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b1e6a41572240839e62099aa00298174b18c696a))
681    - delete c version of the sptool ([f4ec476](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f4ec47613fef8db8037195147dc2ac6fb6f154ff))
682    - python version of the sptool ([2e82874](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e82874cc9b7922e000dd4d7718e3153e347b1d7)
683    - use python version of sptool ([822c727](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/822c72791f791d26e233df0c15a655c3dbd8b117))
684
685### Resolved Issues
686
687- **Architecture**
688
689  - **Activity Monitors Extension (FEAT_AMU)**
690
691    - add default value for ENABLE_FEAT_FGT and ENABLE_FEAT_ECV flags ([820371b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/820371b13028a6f620a62cf73a951883d051666b))
692    - fault handling on EL2 context switch ([f74cb0b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f74cb0be8ac80eb3072555cb04eb09375d4cb31f))
693    - limit virtual offset register access to NS world ([a4c3945](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4c394561af31ae0417ed9ff3b3152adb7cd5355))
694
695  - **Scalable Vector Extension (FEAT_SVE)**
696
697    - disable ENABLE_SVE_FOR_NS for AARCH32 ([24ab2c0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24ab2c0af74be174acf755a36b3ebba867184e60))
698
699- **Platforms**
700
701  - **Allwinner**
702
703    - improve DTB patching error handling ([79808f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/79808f10c32d441572666551b1545846079af15b))
704
705  - **Arm**
706
707    - fix fvp and juno build with USE_ROMLIB option ([861250c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/861250c3b26d64f859f5f37686e453d5074fa976))
708    - increase ARM_BL_REGIONS count ([dcb1959](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dcb1959161935aa58d2bb852f3cef0b96458a4e1))
709    - remove reclamation of functions starting with "init" ([6c87abd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c87abdda400354ebf4f5351086c32a4620475c9))
710    - use PLAT instead of TARGET_PLATFORM ([c5f3de8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5f3de8dabc9b955b6051a6c6116d40b10a84f5d))
711    - fix SP count limit without dual root CoT ([9ce15fe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ce15fe8910580efca46b9f102e117402ce769db))
712
713    - **FVP**
714
715      - FCONF Trace Not Shown ([0c55c10](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c55c10305df6217fd978d58ce203dbad3edd4d5))
716      - disable reclaiming init code by default ([fdb9166](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fdb9166b9494402eb2da7e0b004c121b322725e0))
717      - extend memory map to include all DRAM memory regions ([e803542](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e80354212f591c8813dec27353e8241e03155b4c))
718      - fix NULL pointer dereference issue ([a42b426](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a42b426b8548e3304e995f1a49d2470d71072949))
719      - op-tee sp manifest doesn't map gicd ([69cde5c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/69cde5cd9563f0c665862f1e405ae8e8d2818c6e))
720
721    - **Morello**
722
723      - change the AP runtime UART address ([07302a2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07302a23ec1af856b3d4de0439161a8c23414f84))
724      - fix SoC reference clock frequency ([e8b7a80](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e8b7a80436c2bc81c61fc4703d6580f2fe9226a9))
725      - include errata workaround for 1868343 ([f94c84b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f94c84baa2a2bad75397b0ec6a0922fe8a475847))
726
727    - **SGI**
728
729      - disable SVE for NS to support SPM_MM builds ([78d7e81](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/78d7e819798ace643b6e22025dc76aedb199bbd5))
730
731    - **TC**
732
733      - remove the bootargs node ([68fe3ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/68fe3cec25bc9ea4e1bafdb1d9f5315e245d650b))
734
735    - **Corstone-1000**
736
737      - change base address of FIP in the flash ([1559450](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1559450132c5e712f4d6896e53e4f1cb521fa465))
738
739  - **Broadcom**
740
741    - allow build to specify mbedTLS absolute path ([903d574](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/903d5742953d9d4b224e71d8b1e62635e83f44a9))
742    - fix the build failure with mbedTLS config ([95b5c01](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/95b5c0126b802b894ea0177d973978e06b6a254d))
743
744  - **Intel**
745
746    - add flash dcache after return response for INTEL_SIP_SMC_MBOX_SEND_CMD ([ac097fd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ac097fdf07ad63b567ca751dc518f8445a0baef6))
747    - allow non-secure access to FPGA Crypto Services (FCS) ([4837a64](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4837a640934630f8034ceec1bb84cc40673d8a6b))
748    - always set doorbell to SDM after sending command ([e93551b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e93551bb3bd8ac43779fa70c7363ee2568da45ca))
749    - assert if bl_mem_params is NULL pointer ([35fe7f4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/35fe7f400a7f1d65ff2fee5531d20f6c2f3e6f39))
750    - bit-wise configuration flag handling ([276a436](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/276a43663e8e315fa1bf0aa4824051d88705858b))
751    - change SMC return arguments for INTEL_SIP_SMC_MBOX_SEND_CMD ([108514f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/108514ff7160a86efb791449a4635ffe0f9fdf2c))
752    - configuration status based on start request ([e40910e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e40910e2dc3fa59bcce83ec1cf9a33b3e85012c4))
753    - define macros to handle buffer entries ([7db1895](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7db1895f0be2f8c6710bf51d8441d5e53e3ef0fe))
754    - enable HPS QSPI access by default ([000267b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/000267be22d3c0077c0fd0a8377ceeed5aada4c3))
755    - extend SDM command to return the SDM firmware version ([c026dfe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c026dfe38cfae379457a6ef53130bd5ebc9d7808))
756    - extending to support large file size for AES encryption and decryption ([dcb144f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dcb144f1fbcef73ddcc448d5ed6134aa279069b6))
757    - extending to support large file size for SHA-2 ECDSA data signing and signature verifying ([1d97dd7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1d97dd74cd128edd7ad45b725603444333c7b262))
758    - extending to support large file size for SHA2/HMAC get digest and verifying ([70a7e6a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/70a7e6af958f3541476a8de6baac8e376fcc67f9))
759    - fix bit masking issue in intel_secure_reg_update ([c9c0709](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c9c070994caedf123212aad23b6942122c5dd793))
760    - fix configuration status based on start request ([673afd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/673afd6f8e7266900b00a7cbeb275fe1a3d69cce))
761    - fix ddr address range checker ([12d71ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/12d71ac6627bb6822a0314e737794a8503df79dd))
762    - fix ECC Double Bit Error handling ([c703d75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c703d752cce4fd101599378e72db66ccf53644fa))
763    - fix fpga config write return mechanism ([ef51b09](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef51b097bfa906bf1cee8ee641a1b7bcc8c5f3c0))
764    - flush dcache before sending certificate to mailbox ([49d44ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49d44ec5f357b1bcf8eae9e91fbd72aef09e00dd))
765    - get config status OK status ([07915a4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07915a4fd5848fbac69dcbf28f00353eed10a942))
766    - introduce a generic response error code ([651841f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/651841f20110ce6fac650e3ac47b0a9cce18e6f3))
767    - make FPGA memory configurations platform specific ([f571183](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f571183b066b1a91b7fb178c3aad9d6360d1918c))
768    - modify how configuration type is handled ([ec4f28e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ec4f28ecec8887a685d6119c096ad346da1ea53e))
769    - null pointer handling for resp_len ([a250c04](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a250c04b0cc807f626df92a7091ff13b3a3aa9ed))
770    - refactor NOC header ([bc1a573](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc1a573d5519f121cb872fce1d88fe2e0db07b2c))
771    - reject non 4-byte align request size for FPGA Crypto Service (FCS) ([52ed157](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52ed157fd66812debb13a792c21f763de01aef70))
772    - remove redundant NOC header declarations ([58690cd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/58690cd629b4ccdefe5313f805219598074a3501))
773    - remove unused printout ([0d19eda](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0d19eda0dd2ffae27d0551b1f0a06a2b8f96c853))
774    - update certificate mask for FPGA Attestation ([fe5637f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fe5637f27aebfdab42915c2ced2c34d8685ee2bb))
775    - update encryption and decryption command logic ([02d3ef3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/02d3ef333d4a0a07a3e40defb12a8cde3a7cba03))
776    - use macro as return value ([e0fc2d1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e0fc2d1907b1c8a062c44a435be77a12ffeed84b))
777
778  - **Marvell**
779
780    - **Armada**
781
782      - **A3K**
783
784        - change fatal error to warning when CM3 reset is not implemented ([30cdbe7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/30cdbe7043832f7bd96b40294ac062a8fc9c540f))
785        - fix comment about BootROM address range ([5a60efa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a60efa12a57cde98240f861e45609cb9b94d58d))
786
787  - **Mediatek**
788
789    - **MT8186**
790
791      - remove unused files in drivers/mcdi ([bc714ba](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc714bafe7ae8ca29075ba9bf3985c0e15ae0f64))
792      - extend MMU region size ([0fe7ae9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0fe7ae9c64aa6f6d5b06a80de9c88081057d5dbe))
793
794  - **NVIDIA**
795
796    - **Tegra**
797
798      - **Tegra 194**
799
800        - remove incorrect erxctlr assert ([e272c61](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e272c61ce8185deb397dcf168ec72bdaa5926a33))
801
802  - **NXP**
803
804    - fix total dram size checking ([0259a3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0259a3e8282ed17c1d378a27f820f44b3bebab07))
805    - increase soc name maximum length ([3ccd7e4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3ccd7e45a2c3ff9fa7794f0284c9d0298e7cb982))
806
807    - **i.MX**
808
809      - **i.MX 8M**
810
811        - check the validation of domain id ([eb7fb93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/eb7fb938c3ce34ccfb143ae8ba695df899098436))
812
813        - **i.MX 8M Plus**
814
815          - change the BL31 physical load address ([32d5042](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/32d5042204e8b41caa4c0c1ed5b48bad9f1cb1b5))
816
817    - **Layerscape**
818
819      - fix build issue of mmap_add_ddr_region_dynamically ([e2818d0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e2818d0afc20a60d302f85f4c915e4ae4cc3cb9c))
820      - fix coverity issue ([5161cfd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5161cfde9bfaa3a715d160fcd4870f276adad332))
821      - update WA for Errata A-050426 ([72feaad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/72feaad980cdc472868bc95914202bf57ed51b2d))
822
823      - **LX2**
824
825        - drop erratum A-009810 ([e36b0e4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e36b0e4910aea56f90a6ab9b8cf3dc4008220031))
826
827  - **Renesas**
828
829    - **R-Car**
830
831      - **R-Car 3**
832
833        - change stack size of BL31 ([d544dfc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d544dfcc4959d203b06dbfb85fb0ad895178b379))
834        - fix SYSTEM_OFF processing for R-Car D3 ([1b49ba0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b49ba0fde5eb9e47fe50152c192579101feb718))
835        - fix to bit operation for WUPMSKCA57/53 ([82bb6c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/82bb6c2e88314a5b3f2326c95095c3b20a389947))
836
837  - **Socionext**
838
839    - **Synquacer**
840
841      - initialise CNTFRQ in Non Secure CNTBaseN ([4d4911d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4d4911d77d4d59c7dd18d7fc3724ddb1fa3582b7))
842
843  - **ST**
844
845    - add missing header include ([b1391b2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b1391b294ca7803f46bc47048b4a02a15dda9a16))
846    - don't try to read boot partition on SD cards ([9492b39](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9492b391a35c66e1e7630e95347259191b28314d))
847    - fix NULL pointer dereference issues ([2deff90](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2deff904a953c6a87331ab6830ab80e3889d9e23))
848    - manage UART clock and reset only in BL2 ([9e52d45](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9e52d45fdf619561e0a7a833b77aaacc947a4dfd))
849    - remove extra chars from dtc version ([03d2077](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/03d20776efc20a04a5191a4f39965079a4d60b3c))
850
851    - **ST32MP1**
852
853      - add missing debug.h ([356ed96](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/356ed961184847dcd088cfcda44b71eeb0ef2377))
854      - correct dtc version check ([429f10e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/429f10e3367748abd33b4f6f9ee362c0ba74dd95))
855      - correct include order ([ff7675e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff7675ebf94999618dbde14bb59741cefb2b2edd))
856      - correct types in messages ([43bbdca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/43bbdca04f5a20bb4e648e18fc63061b6a6e4ecf))
857      - deconfigure UART RX pins ([d7176f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d7176f0319cd399aae9a906e5d78e67b32e183f5))
858      - do not reopen debug features ([21cfa45](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21cfa4531a76a7c3cad00e874400b97e2f68723c))
859      - fix enum prints ([ceab2fc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ceab2fc3442dbda1c4beaff3c4fe708a04c02303))
860      - include assert.h to fix build failure ([570c71b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/570c71b20a195ade510f5d584c69325d2634c50b))
861      - remove interrupt_provider warning for dtc ([ca88c76](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca88c761d34854ed3e0b16b9c5f39b0790d320ab))
862      - restrict DEVICE2 mapping in BL2 ([db3e0ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/db3e0ece7157181a3529d14172368003eb63dc30))
863      - rework switch/case for MISRA ([f7130e8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f7130e81cf9c3682232bb9319b1798184b44920f))
864      - set reset pulse duration to 31ms ([9a73a56](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9a73a56c353d32742e03b828647562bdbe2ddbb2))
865
866  - **Xilinx**
867
868    - fix coding style violations ([bb1768c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb1768c67ea06ac466e2cdc7e5338c3d23dac79d))
869    - fix mismatching function prototype ([81333ea](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/81333eac716b25a9fd112cc4f5990e069f3bdb40))
870
871    - **Versal**
872
873      - resolve misra R10.1 in pm services ([775bf1b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/775bf1bbd32c2df47f4ff597eb8a452d2983e590))
874      - resolve misra R10.3 ([b2bb3ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b2bb3efb8f590f31b1205c51d56be1dd6f473fbb))
875      - resolve misra R10.3 in pm services ([5d1c211](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d1c211e225d40d2926bf34483c90f907a6c5dc3))
876      - resolve misra R10.6 ([93d4625](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/93d462562727f4f428e6f975a972226dafbfd305))
877      - resolve misra R10.6 in pm services ([fa98d7f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa98d7f2f8752e37f740b43f533547288552a393))
878      - resolve misra R14.4 ([a62c40d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a62c40d42703d5f60a8d80938d2cff721ee131bd))
879      - resolve misra R15.6 ([b9fa2d9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9fa2d9fc154feffe78e677ace54b0e34f011439))
880      - resolve misra R15.6 in pm services ([4156719](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4156719550ceddf5b1b4a47464fb32f7506e0dca))
881      - resolve misra R15.7 ([bc2637e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc2637e3799dbc9642447ddb719e0262347b1309))
882      - resolve misra R16.3 in pm services ([27ae531](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/27ae5310883b0db7d4e2dd4fbc1fd58e675f75b5))
883      - resolve misra R17.7 ([526a1fd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/526a1fd1472874561988777f8ecd8b87734a0671))
884      - resolve misra R20.7 in pm services ([5dada62](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5dada6227b949ef702bfab7986bc083689afdaf7))
885      - resolve misra R7.2 ([0623dce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0623dcea0f6e7a5c9d65413445df8a96a2b40d42))
886      - fix coverity scan warnings ([0b15187](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0b15187225a9134e3acbc7693646b21d43617b3b))
887      - fix the incorrect log message ([ea04b3f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea04b3fe183b6661f656b4cc38cb93a73d9bc202))
888
889    - **ZynqMP**
890
891      - define and enable ARM_XLAT_TABLES_LIB_V1 ([c884c9a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c884c9a55b167383ff3d96d2d0a30ac6842bcc86))
892      - query node status to power up APU ([b35b556](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b35b556718b60b78cb5d96b0c137e2fe82eb0086))
893      - resolve misra 7.2 warnings ([5bcbd2d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5bcbd2de127292f3ad076217e08468388c6844b0))
894      - resolve misra 8.3 warnings ([944e7ea](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/944e7ea94f2594e2b128c671cf7415265302596b))
895      - resolve misra R10.3 ([2b57da6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2b57da6c91ebe14588e63e5a24f31ef32711eca2))
896      - resolve misra R14.4 warnings ([dd1fe71](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dd1fe7178b578916b1e133b7c65c183e1f994371))
897      - resolve misra R15.6 warnings ([eb0d2b1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/eb0d2b17722c01a22bf3ec1123f7bed2bf891b09))
898      - resolve misra R15.7 warnings ([16de22d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/16de22d037644359ef2a04058134f9c326b36633))
899      - resolve misra R16.3 warnings ([e7e5d30](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e7e5d30308ccfb931f7b6d0afa6c5c23971e95c0))
900      - resolve misra R8.4 warnings ([610eeac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/610eeac89438d603435bde694eb4ddab07f46e45))
901      - update the log message to verbose ([1277af9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1277af9bacca36b46d7aa341187bb3abef84332f))
902      - use common interface for eemi apis ([a469c1e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a469c1e1f4c1cd69f98ce45d6e0709de091b8cb3))
903
904- **Bootloader Images**
905
906  - **BL1**
907
908    - invalidate SP in data cache during secure SMC ([f1cbbd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f1cbbd6332bb85672dc72cbcc4ac7023323c6936))
909
910  - **BL2**
911
912    - correct messages with image_id ([e4c77db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e4c77db9c80d87009611a3079454877e6ce45a04))
913    - define RAM_NOLOAD for XIP ([cc562e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc562e74101d800b0b0ee3422fb7f4f8321ae2b7))
914
915- **Services**
916
917  - **RME**
918
919    - enable/disable SVE/FPU for Realms ([a4cc85c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4cc85c129d031d9c887cf59b1baeaef18a43010))
920    - align RMI and GTSI FIDs with SMCCC ([b9fd2d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9fd2d3ce3d4e543a2e04dc237cd4e7ff7765c7a))
921    - preserve x4-x7 as per SMCCCv1.1 ([1157830](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/11578303fd04a8da36fddb5e6de44f026bf4d24c))
922
923    - **TRP**
924
925      - Distinguish between cold and warm boot ([00e8113](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/00e8113145aa12d89db72068bdd3157f08575d14))
926
927  - **SPM**
928
929    - **EL3 SPMC**
930
931      - fix incorrect FF-A version usage ([25eb2d4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/25eb2d41a6d2ede1e945bbc67ae3f740b92a40bb))
932      - fix FF-A memory transaction validation ([3954bc3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3954bc3c03439dbdc7029cf2418c79a037918ce4))
933
934- **Libraries**
935
936  - **CPU Support**
937
938    - workaround for  Cortex-A710 2282622 ([ef934cd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef934cd17c30dcc39cd9022a1c4e9523ec8ba617))
939    - workaround for  Cortex-A710 erratum 2267065 ([cfe1a8f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cfe1a8f7123f0dc8376b2075cc6e8e32b13739b2))
940    - workaround for Cortex A78 AE erratum 2376748 ([92e8708](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/92e870843e9bd654fd1041d66f284c19ca9c0d4f))
941    - workaround for Cortex A78 AE erratum 2395408 ([3f4d81d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3f4d81dfd26649fbcbbbe993a9f0236f5bb07c8a))
942    - workaround for Cortex X2 erratum 2002765 ([34ee76d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34ee76dbdfeee85f123cb903ea95dbee5e9a44a5))
943    - workaround for Cortex X2 erratum 2058056 ([e16045d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e16045de50e8b430e6601ba0e1e47097d8310f3d))
944    - workaround for Cortex X2 erratum 2083908 ([1db6cd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1db6cd60279e2d082876692a65cf9c532f506a69))
945    - workaround for Cortex-A510 erratum 1922240 ([8343563](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/83435637bfafbf1ce642a5fabb52e8d7b2819e36))
946    - workaround for Cortex-A510 erratum 2041909 ([e72bbe4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e72bbe47ba7f2a0087654fd99ae24b5b7b444943))
947    - workaround for Cortex-A510 erratum 2042739 ([d48088a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d48088acbe400133037ae74acf1b722b059119bb))
948    - workaround for Cortex-A510 erratum 2172148 ([c0959d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c0959d2c460cbf7c14e7ba2a57d69ecddae80fd8))
949    - workaround for Cortex-A510 erratum 2218950 ([cc79018](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc79018b71e45acb524fc5d429d394497ad53646))
950    - workaround for Cortex-A510 erratum 2250311 ([7f304b0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f304b02a802b7293d7a8b4f4030c5ff00158404))
951    - workaround for Cortex-A510 erratum 2288014 ([d5e2512](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5e2512c6b86409686f5d1282922ebdf72459fc2))
952    - workaround for Cortex-A710 erratum 2008768 ([af220eb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af220ebbe467aa580e6b9ba554676f78ffec930f))
953    - workaround for Cortex-A710 erratum 2136059 ([8a855bd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8a855bd24329e081cf13a257c7d2dc3ab4e5dcca))
954    - workaround for Cortex-A78 erratum 2376745 ([5d796b3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d796b3a25150faff68013880f5a9350cbc53889))
955    - workaround for Cortex-A78 erratum 2395406 ([3b577ed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b577ed53d104cfb324390b7519da5e7744d1001))
956    - workaround for Cortex-X2 errata 2017096 ([e7ca443](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e7ca4433fa591233e7e2912b689ab56e531f9775))
957    - workaround for Cortex-X2 errata 2081180 ([c060b53](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c060b5337a43cd42f55b99d83096bb44b51b5335))
958    - workaround for Cortex-X2 erratum 2147715 ([63446c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/63446c27d11453faacfddecffa44d3880615d412))
959    - workaround for Cortex-X2 erratum 2216384 ([4dff759](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4dff7594f94f1e788aef709cc5b3d079693b6242))
960    - workaround for DSU-110 erratum 2313941 ([7e3273e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e3273e8e4dca44e7cb88a827b94e662fa8f83e9))
961    - workaround for Rainier erratum 1868343 ([a72144f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a72144fb7a30c2782a583a3b0064e741d1fe2c9f))
962    - workarounds for cortex-x1 errata ([7b76c20](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7b76c20d8eb4271b381371ce0d510fbe6ad825bf))
963    - use CPU_NO_EXTRA3_FUNC for all variants ([b2ed998](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b2ed99894d326993961680fb8e786c267a712400))
964
965  - **EL3 Runtime**
966
967    - set unset pstate bits to default ([7d33ffe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7d33ffe4c116506ed63e820d5b6edad81680cd11))
968
969    - **Context Management**
970
971      - add barrier before el3 ns exit ([0482503](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/04825031b2384a08504821f39e98e23bb6f93f11))
972      - remove registers accessible only from secure state from EL2 context ([7f41bcc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f41bcc76d8857b4678c90796ebd85794ff3ee5f))
973      - refactor the cm_setup_context function ([2bbad1d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2bbad1d126248435e26f9d0d9f5920d8806148d7))
974      - remove initialization of EL2 registers when EL2 is used ([fd5da7a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fd5da7a84731e9687f56c263ff3aa8ebed75075a))
975      - add cm_prepare_el3_exit_ns function ([8b95e84](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8b95e8487006ff77a7d84fba5bd20ba7e68d8330))
976      - refactor initialization of EL1 context registers ([b515f54](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b515f5414b00a8b7ca9b21363886ea976bd19914))
977
978  - **FCONF**
979
980    - correct image_id type in messages ([cec2fb2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cec2fb2b1a8359bf1f349a5b8c8a91a1845f4ca1))
981
982  - **PSCI**
983
984    - correct parent_node type in messages ([b9338ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9338eee7fbcac7f4b55f27b064572e847810422))
985
986  - **GPT**
987
988    - rework delegating/undelegating sequence ([6a00e9b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a00e9b0c8c37fc446f83ef63e95a75353e31e8b))
989
990  - **Translation Tables**
991
992    - fix bug on VERBOSE trace ([956d76f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/956d76f69d0c96829784c5a6d16aa79e4e0ecab1))
993
994  - **Standard C Library**
995
996    - correct some messages ([a211fde](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a211fde940d4dbd8e95e4f352af2a066a4f89f30))
997    - fix snprintf corner cases ([c1f5a09](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c1f5a0925ddf84981d9e176d146bfddb48eb45d1))
998    - limit snprintf radix value ([b30dd40](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b30dd4030dcef950eac05393013ee019c3cb3205))
999    - snprintf: include stdint.h ([410c925](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/410c925ab31693dc74d654ff9167c8eed3ec5a62))
1000
1001  - **Locks**
1002
1003    - add __unused for clang ([5a030ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a030ce4aed271344087bca723903e10fef59ac9))
1004
1005- **Drivers**
1006
1007  - **FWU**
1008
1009    - rename is_fwu_initialized ([aae7c96](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aae7c96de63914c954f0fc64cd795844832483fc))
1010
1011  - **I/O**
1012
1013    - **MTD**
1014
1015      - correct types in messages ([6e86b46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e86b462490429fee6db877338a649b0e199b0ec))
1016
1017  - **Measured Boot**
1018
1019    - add RMM entry to event_log_metadata ([f4e3e1e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f4e3e1e85f64d8930e89c1396bc9785512f656bd))
1020
1021  - **MTD**
1022
1023    - correct types in messages ([6e86b46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e86b462490429fee6db877338a649b0e199b0ec))
1024
1025  - **SCMI**
1026
1027    - add missing \n in ERROR message ([0dc9f52](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0dc9f52a2a9f0b9686c65dd60c84e0bcca552144))
1028    - make msg_header variable volatile ([99477f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99477f051ef857a1e0600cb98858fc74c007e1ff))
1029    - use same type for message_id ([2355ebf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2355ebff6f6312086868f44b8ad7f821f6385208))
1030
1031  - **UFS**
1032
1033    - delete call to inv_dcache_range for utrd ([c5ee858](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5ee8588bf9a36075723e5aacceefa93fd2de8c9))
1034    - disables controller if enabled ([b3f03b2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b3f03b20135fc5fcd5e6ec7e5ca49f1e59b5602e))
1035    - don't zero out buf before ufs read ([2ef6b8d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2ef6b8d378e7f7c1b1eb7abe176989c3f996f2dc))
1036    - don't zero out the write buffer ([cd3ea90](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd3ea90b200534b8c9d81619731c9ce198478a3c))
1037    - fix cache maintenance issues ([38a5ecb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/38a5ecb756e217a80ed951747797ab150449ee9b))
1038    - move nutrs assignment to ufs_init ([0956319](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0956319b580726029ddc4e00cde6c5a348b99052))
1039    - read and write attribute based on spec ([a475518](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a475518337e15935469543b1cce353e5b337ef52))
1040
1041  - **Arm**
1042
1043    - **GIC**
1044
1045      - **GICv3**
1046
1047        - fix iroute value wrong issue ([65bc2d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/65bc2d224b836c230888796c4eda455997dccd8b))
1048
1049    - **TZC**
1050
1051      - **TZC-400**
1052
1053        - correct message with filter ([bdc88d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bdc88d2154448957f452cb472ff95ccec5808ca1))
1054
1055  - **Marvell**
1056
1057    - **COMPHY**
1058
1059      - change reg_set() / reg_set16() to update semantics ([95c26d6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/95c26d6489bd8b2fc8b8e14bc2da5d2918055acc))
1060
1061      - **Armada 3700**
1062
1063        - drop MODE_REFDIV constant ([9fdecc7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9fdecc72f0fce17ca2cd8e4c3b26c01262166d10))
1064        - fix comment about COMPHY status register ([4bcfd8c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4bcfd8c02e3e3aa27b55dedeed11fb16bac991a9))
1065        - fix comments about selector register values ([71183ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71183ef6654c2a485458307a84ce7c473524689a))
1066        - fix Generation Setting registers names ([e5a2aac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e5a2aac5bbc6dedb20edcc8e7850be2813cb668b))
1067        - fix PIN_PU_IVREF register name ([c9f138e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c9f138ebfef90d5b7b5651f06efd81bcbc55366b))
1068        - fix reference clock selection value names ([6ba97f8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6ba97f83dbb314b076588b97415a4078924e1903))
1069        - fix SerDes frequency register value name ([bdcf44f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bdcf44f1af496e06b693b781fe16bbc2a05fa365))
1070        - use reg_set() according to update semantics ([4d01bfe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4d01bfe66522b13f0d9042206e986551c94fc01e))
1071
1072    - **Armada**
1073
1074      - **A3K**
1075
1076        - **A3720**
1077
1078          - configure UART after TX FIFO reset ([15546db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15546dbf40e5ea81a982a1e6d1e5ba729b06ae51))
1079          - do external reset during initialization ([0ee80f3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ee80f35a28d651d243a6d56678800f9697d14c0))
1080
1081  - **NXP**
1082
1083    - ddr: corrects mapping of HNFs nodes ([e3a2349](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e3a234971abb2402cbf376eca6fcb657a7709fae))
1084
1085    - **QSPI**
1086
1087      - fix include path for QSPI driver ([ae95b17](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ae95b1782b7a3ab9bbe46ae9ab31f48fb6ebe137))
1088
1089    - **NXP Crypto**
1090
1091      - refine code to avoid hang issue for some of toolchain ([fa7fdfa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa7fdfabf07d91439b0869ffd8e805f0166294bf))
1092
1093    - **DDR**
1094
1095      - fix coverity issue ([f713e59](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f713e5954e0906443cd20ae97e229ddbb9ab7005))
1096
1097  - **ST**
1098
1099    - **Clock**
1100
1101      - check _clk_stm32_get_parent return ([b8eab51](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b8eab512bf9d253f96b0333ee0f1bffa1afc3170))
1102      - correct stm32_clk_parse_fdt_by_name ([7417cda](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7417cda6aeaf6abf48dfbe22dc965b626f61c613))
1103      - correct types in error messages ([44fb470](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/44fb470b7f298645ac31ada4491553824d77d934))
1104      - initialize pllcfg table ([175758b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/175758b2777eb6df3c4aefd79448e97e76a15272))
1105      - print enums as unsigned ([9fa9a0c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9fa9a0c55cc830e609415d2cedd2d34fcbec1008))
1106
1107    - **DDR**
1108
1109      - add missing debug.h ([15ca2c5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15ca2c5e14abe415e70d08fb595973dd3e3b0af9))
1110      - correct DDR warnings ([a078134](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a078134e2305ca5695731bc275a5ca892cc38880))
1111
1112     - **FMC**
1113
1114      - fix type in message ([afcdc9d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/afcdc9d8d71e2b60071d3d34704f0e598e67a514))
1115
1116    - **SDMMC2**
1117
1118      - check regulator enable/disable return ([d50e7a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d50e7a71cb5f8ecfbe2eb69c163d532bab82cbf0))
1119      - correct cmd_idx type in messages ([bc1c98a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc1c98a8c79b6f72395123ea8ed857a488746d4b))
1120
1121    - **ST PMIC**
1122
1123      - add static const to pmic_ops ([57e6018](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/57e6018305a97f4e3627d16d8b1886419f274b4a))
1124      - correct verbose message ([47065ff](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/47065ffe44c701b231322ec7160c8624d50a9deb))
1125
1126    - **SPI**
1127
1128      - always check SR_TCF flags in stm32_qspi_wait_cmd() ([55de583](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/55de58323e458b38b455439a8846cb663deb5508))
1129      - remove SR_BUSY bit check before sending command ([5993b91](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5993b9157fd049d06194083032771ffcf73da086))
1130
1131    - **UART**
1132
1133      - correctly fill BRR register ([af7775a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af7775ab535138ff49643f749110dca143d4122c))
1134
1135  - **USB**
1136
1137    - correct type in message ([bd9cd63](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bd9cd63ba096cb16161efa4df40f957421660df1))
1138
1139- **Miscellaneous**
1140
1141  - **AArch64**
1142
1143    - fix encodings for MPAMVPM* registers ([e926558](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e92655849d0a9e5893eb2d7e5f42cf8b931d4db6))
1144
1145  - **FDTs**
1146
1147    - **STM32MP1**
1148
1149      - correct memory mapping for STM32MP13 ([99605fb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99605fb1166794db1dedf1b7280cb184945c229c))
1150      - remove mmc1 alias if not needed ([a0e9724](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a0e972438b99012da422411c8e504a19bdad44a2))
1151
1152  - **PIE**
1153
1154    - align fixup_gdt_reloc() for aarch64 ([5ecde2a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5ecde2a271ac0f3762c16f5a277a70e55e172f0b))
1155    - do not skip __RW_END__ address during relocation ([4f1a658](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4f1a658f899a169e702b1c7146b59f7c04b0338b))
1156
1157  - **Security**
1158
1159    - apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57 ([9b2510b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b2510b69de26cc7f571731b415f6dec82669b6c))
1160    - loop workaround for CVE-2022-23960 for Cortex-A76 ([a10a5cb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a10a5cb609045de216c01111ec3fcf09a092da0b))
1161    - report CVE 2022 23960 missing for aarch32 A57 and A72 ([2e5d7a4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e5d7a4b6b26d9d8b6c8e580c33d877e591b1fb3))
1162    - update Cortex-A15 CPU lib files for CVE-2022-23960 ([187a617](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/187a61761ef5d59bed0c94cca725bd6f116f64d0))
1163    - workaround for CVE-2022-23960 ([c2a1521](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2a15217c3053117f4d39233002cb1830fa96670))
1164    - workaround for CVE-2022-23960 ([1fe4a9d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1fe4a9d181ead0dcb2bc494e90552d3e7f0aaf4c))
1165    - workaround for CVE-2022-23960 for A76AE, A78AE, A78C ([5f802c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5f802c8832f3c5824ca6de17593205ebbf8bf585))
1166    - workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72 ([be9121f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/be9121fd311ff48c94f3d90fe7efcf84586119e4))
1167    - workaround for CVE-2022-23960 for Cortex-X1 ([e81e999](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e81e999b9da33ab5d2d3e5185b1ad7c46046329c))
1168
1169- **Tools**
1170
1171  - **NXP Tools**
1172
1173    - fix create_pbl print log ([31af441](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/31af441a0445d4a5e88ddcc371c51b3701c25839))
1174    - fix tool location path for byte_swape ([a89412a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a89412a649020367a3ed0f87658ee131cd3dcd18))
1175
1176  - **Firmware Image Package Tool**
1177
1178    - avoid packing the zero size images in the FIP ([ab556c9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ab556c9c646f1b5f1b500449a5813a4eecdc0302))
1179    - respect OPENSSL_DIR ([0a956f8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0a956f81805b46b1530f30dd79d16950dc491a7b)
1180
1181  - **Secure Partition Tool**
1182
1183    - add leading zeroes in UUID conversion ([b06344a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b06344a3f2c5a0fede3646627f37d1fce3d3d585))
1184    - update Optee FF-A manifest ([ca0fdbd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca0fdbd8e0d625ece0f87ca16eacabf13db70921))
1185
1186  - **Certificate Creation Tool**
1187
1188    - let distclean Makefile target remove the cert_create tool ([e15591a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e15591aaf47ab45941f0d7a03abf3e4a830ac1d9))
1189
1190- **Dependencies**
1191
1192  - **commitlint**
1193
1194    - change scope-case to lower-case ([804e52e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/804e52e9a770de72913f27b5bc9e7dd965e114c5))
1195
1196## [2.6.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.5..refs/tags/v2.6) (2021-11-22)
1197
1198### ⚠ BREAKING CHANGES
1199
1200- **Architecture**
1201
1202  - **Activity Monitors Extension (FEAT_AMU)**
1203
1204    - The public AMU API has been reduced to enablement only
1205      to facilitate refactoring work. These APIs were not previously used.
1206
1207      **See:** privatize unused AMU APIs ([b4b726e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b4b726ea868359cf683c07337b69fe91a2a6929a))
1208
1209    - The `PLAT_AMU_GROUP1_COUNTERS_MASK` platform definition
1210      has been removed. Platforms should specify per-core AMU counter masks
1211      via FCONF or a platform-specific mechanism going forward.
1212
1213      **See:** remove `PLAT_AMU_GROUP1_COUNTERS_MASK` ([6c8dda1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c8dda19e5f484f8544365fd71d965f0afc39244))
1214
1215- **Libraries**
1216
1217  - **FCONF**
1218
1219    - FCONF is no longer added to BL1 and BL2 automatically
1220      when the FCONF Makefile (`fconf.mk`) is included. When including this
1221      Makefile, consider whether you need to add `${FCONF_SOURCES}` and
1222      `${FCONF_DYN_SOURCES}` to `BL1_SOURCES` and `BL2_SOURCES`.
1223
1224      **See:** clean up source collection ([e04da4c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e04da4c8e132f43218f18ad3b41479ca54bb9263))
1225
1226- **Drivers**
1227
1228  - **Arm**
1229
1230    - **Ethos-N**
1231
1232      - multi-device support
1233
1234        **See:** multi-device support ([1c65989](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c65989e70c9734defc666e824628620b2060b92))
1235
1236### New Features
1237
1238- **Architecture**
1239
1240  - **Activity Monitors Extension (FEAT_AMU)**
1241
1242    - enable per-core AMU auxiliary counters ([742ca23](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/742ca2307f4e9f82cb2c21518819425e5bcc0f90))
1243
1244  - **Support for the `HCRX_EL2` register (FEAT_HCX)**
1245
1246    - add build option to enable FEAT_HCX ([cb4ec47](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cb4ec47b5c73e04472984acf821e6be41b98064f))
1247
1248  - **Scalable Matrix Extension (FEAT_SME)**
1249
1250    - enable SME functionality ([dc78e62](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dc78e62d80e64bf4fe5d5bf4844a7bd1696b7c92))
1251
1252  - **Scalable Vector Extension (FEAT_SVE)**
1253
1254    - enable SVE for the secure world ([0c5e7d1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c5e7d1ce376cabcebebc43dbf238fe4482ab2dc))
1255
1256  - **System Register Trace Extensions (FEAT_ETMv4, FEAT_ETE and FEAT_ETEv1.1)**
1257
1258    - enable trace system registers access from lower NS ELs ([d4582d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d4582d30885673987240cf01fd4f5d2e6780e84c))
1259    - initialize trap settings of trace system registers access ([2031d61](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2031d6166a58623ae59034bc2353fcd2fabe9c30))
1260
1261  - **Trace Buffer Extension (FEAT_TRBE)**
1262
1263    - enable access to trace buffer control registers from lower NS EL ([813524e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/813524ea9d2e4138246b8f77a772299e52fb33bc))
1264    - initialize trap settings of trace buffer control registers access ([40ff907](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/40ff90747098ed9d2a09894d1a886c10ca76cee6))
1265
1266  - **Self-hosted Trace Extension (FEAT_TRF)**
1267
1268    - enable trace filter control register access from lower NS EL ([8fcd3d9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8fcd3d9600bb2cb6809c6fc68f945ce3ad89633d))
1269    - initialize trap settings of trace filter control registers access ([5de20ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5de20ece38f782c8459f546a08c6a97b9e0f5bc5))
1270
1271  - **RME**
1272
1273    - add context management changes for FEAT_RME ([c5ea4f8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5ea4f8a6679131010636eb524d2a15b709d0196))
1274    - add ENABLE_RME build option and support for RMM image ([5b18de0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5b18de09e80f87963df9a2e451c47e2321b8643a))
1275    - add GPT Library ([1839012](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1839012d5b5d431f7ec307230eae9890a5fe7477))
1276    - add Realm security state definition ([4693ff7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4693ff7225faadc5ad1bcd1c2fb3fbbb8fe1aed0))
1277    - add register definitions and helper functions for FEAT_RME ([81c272b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/81c272b3b71af38bc5cfb10bbe5722e328a1578e))
1278    - add RMM dispatcher (RMMD) ([77c2775](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77c2775323a5ff8b77230f05c0cc57f830e9f153))
1279    - add Test Realm Payload (TRP) ([50a3056](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/50a3056a3cd33d395e8712e1d1e67a8840bf3db1))
1280    - add xlat table library changes for FEAT_RME ([3621823](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/362182386bafbda9e6671be921fa30cc20610d30))
1281    - disable Watchdog for Arm platforms if FEAT_RME enabled ([07e96d1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07e96d1d2958b6f121476fd391ac67bf8c2c4735))
1282    - run BL2 in root world when FEAT_RME is enabled ([6c09af9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c09af9f8b36cdfa1dc4d5052f7e4792f63fa88a))
1283
1284- **Platforms**
1285
1286  - **Allwinner**
1287
1288    - add R329 support ([13bacd3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/13bacd3bc3e6b76009adf9183e5396b6457eb12c))
1289
1290  - **Arm**
1291
1292    - add FWU support in Arm platforms ([2f1177b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2f1177b2b9ebec3b2fe92607cd771bda1dc9cbfc))
1293    - add GPT initialization code for Arm platforms ([deb4b3a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/deb4b3a63e3a52f2e9823865a1932f6289ccb7ac))
1294    - add GPT parser support ([ef1daa4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef1daa420f7b2920b2ee35379de2aefed6ab2605))
1295    - enable PIE when RESET_TO_SP_MIN=1 ([7285fd5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7285fd5f9aa6d9cc0e0f1dc9c71785b46a88d999))
1296
1297    - **FPGA**
1298
1299      - add ITS autodetection ([d7e39c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d7e39c43f2f58aabb085ed7b8f461f9ece6002d0))
1300      - add kernel trampoline ([de9fdb9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/de9fdb9b5925ae08137d4212a85e9a1d319509c9))
1301      - determine GICR base by probing ([93b785f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/93b785f5ae66a6418581c304c83a346e8baa5aa3))
1302      - query PL011 to learn system frequency ([d850169](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d850169c9c233c4bc413d8319196557b54683688))
1303      - support GICv4 images ([c69f815](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c69f815b09ab85d3ace8fd2979ffafb1184ec76c))
1304      - write UART baud base clock frequency into DTB ([422b44f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/422b44fb56db7ca8b1a2f9f706733d7d4c2fdeb1))
1305
1306    - **FVP**
1307
1308      - enable external SP images in BL2 config ([33993a3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/33993a3737737a03ee5a9d386d0a027bdc947c9c))
1309      - add memory map for FVP platform for FEAT_RME ([c872072](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c8720729726faffc39ec64f3a02440a48c8c305a))
1310      - add RMM image support for FVP platform ([9d870b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d870b79c16ef09b0c4a9db18e071c2fa235d1ad))
1311      - enable trace extension features by default ([cd3f0ae](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd3f0ae6f855b2998bc09e5c3a458528c92acb90))
1312      - pass Event Log addr and size from BL1 to BL2 ([0500f44](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0500f4479eb1d0d5ab9e83dac42b633a5ff677dd))
1313
1314    - **FVP-R**
1315
1316      - support for TB-R has been added
1317      - configure system registers to boot rich OS ([28bbbf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/28bbbf3bf583e0c85004727e694455dfcabd50a4))
1318
1319    - **RD**
1320
1321      - **RD-N2**
1322
1323        - add support for variant 1 of rd-n2 platform ([fe5d5bb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fe5d5bbfe6bd0f386f92bdc419a7e04d885d5b43))
1324        - add tzc master source ids for soc dma ([3139270](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3139270693ab0fc6d66fed4fe11e183829b47e2e))
1325
1326    - **SGI**
1327
1328      - add CPU specific handler for Neoverse N2 ([d932a58](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d932a5831e26620d61d171d0fd8bc2f14938e6f1))
1329      - add CPU specific handler for Neoverse V1 ([cbee43e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cbee43ebd69377bce1c4fa8d40c6fd67f2be2ee4))
1330      - increase max BL2 size ([7186a29](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7186a29bbfe3044d5e8001ddfe1d9238578e0944))
1331      - enable AMU for RD-V1-MC ([e8b119e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e8b119e03ad9de5fc440e5929287c94c22fc3946))
1332      - enable use of PSCI extended state ID format ([7bd64c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7bd64c70e91f73a236b84fb51d5045e308479b5a))
1333      - introduce platform variant build option ([cfe1506](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cfe1506ee8303d9e0714b3a5b2cd165f76ad5d11))
1334
1335    - **TC**
1336
1337      - enable MPMM ([c19a82b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c19a82bef08df58350f1b6668e0604ff8a5bd46d))
1338      - Enable SVE for both secure and non-secure world ([10198ea](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/10198eab3aa7b0eeba10d9667197816b052ba3e4))
1339      - populate HW_CONFIG in BL31 ([34a87d7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34a87d74d9fbbe8037431ea5101110a9f1cf30e1))
1340      - introduce TC1 platform ([6ec0c65](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6ec0c65b09745fd0f4cee44ee3aa99870303f448))
1341      - add DRAM2 to TZC non-secure region ([76b4a6b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/76b4a6bb208c22b1c5971964a209ff7d54982348))
1342
1343      - add bootargs node ([4a840f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4a840f27cd7a05d8e3687aa325adcd019c0d22ee))
1344      - add cpu capacity to provide scheduling information ([309f593](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/309f5938e610c73cb51b3ba175fed971f49d0888))
1345      - add Ivy partition ([a19bd32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a19bd32ed14c33571f3715198d47bac9d0f2808e))
1346      - add support for trusted services ([ca93248](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca9324819ee308f9b3a4bb004f02a512c8f301f6))
1347      - update Matterhorn ELP DVFS clock index ([a2f6294](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a2f6294c98935895d4592ef7e30058ca6e995f4b))
1348      - update mhuv2 dts node to align with upstream driver ([63067ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/63067ce87e4afa193b2c7f6a4917d1e54b61b000))
1349
1350    - **Diphda**
1351
1352      - adding the diphda platform ([bf3ce99](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf3ce9937182e5d8d91e058baabb8213acedacdb))
1353      - disabling non volatile counters in diphda ([7f70cd2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f70cd29235cc5e96ff6b5f509c7e4260bec5610))
1354      - enabling stack protector for diphda ([c7e4f1c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c7e4f1cfb84136a7521f26e403a6635ffdce4a2b))
1355
1356  - **Marvell**
1357
1358    - introduce t9130_cex7_eval ([d01139f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d01139f3b59a1bc6542e74f52ff3fb26eea23c69))
1359
1360    - **Armada**
1361
1362      - **A8K**
1363
1364        - allow overriding default paths ([0b702af](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0b702afc3aabc349a513a5b00397b58a62fea634))
1365
1366  - **MediaTek**
1367
1368    - enable software reset for CIRQ ([b3b162f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b3b162f3b48e087f6656513862a6f9e1fa0757b1))
1369
1370    - **MT8192**
1371
1372      - add DFD control in SiP service ([5183e63](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5183e637a0496ad8dfbd8c892bc874ac6a1531bf))
1373
1374    - **MT8195**
1375
1376      - add DFD control in SiP service ([3b994a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b994a75306cc487144dd8e2e15433799e62e6f2))
1377      - add display port control in SiP service ([7eb4223](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7eb42237575eb3f241c9b22efc5fe91368470aa6))
1378      - remove adsp event from wakeup source ([c260b32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c260b3246b6be27c7463d36ce7f76368c94a8540))
1379      - add DCM driver ([49d3bd8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49d3bd8c4c80ecd19ecfd74812ff1eaa01478cdd))
1380      - add EMI MPU basic drivers ([75edd34](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/75edd34ade8efaa8a76c5fd59103454023632989))
1381      - add SPM suspend driver ([859e346](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/859e346b89461f31df17b76ef25ce9e8d2a7279d))
1382      - add support for PTP3 ([0481896](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/048189637ead887787bd5bc47b1dfab98f321705))
1383      - add vcore-dvfs support ([d562130](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d562130ea9637b885135a5efe41cb98f2365754f))
1384      - support MCUSYS off when system suspend ([d336e09](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d336e093dd9ec917ce69484eae8914d98efa328d))
1385
1386  - **NXP**
1387
1388    - add build macro for BOOT_MODE validation checking ([cd1280e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd1280ea2e5c8be6f28485a2d5054d06e54e74c1))
1389    - add CCI and EPU address definition ([6cad59c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6cad59c429b4382ad62aee3a67fa1b3fd4ad38b7))
1390    - add EESR register definition ([8bfb168](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8bfb16813aff9b3dcbeaa2f77027d44b97f04b6d))
1391    - add SecMon register definition for ch_3_2 ([66f7884](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/66f7884b5229b1d2977d73d105af1c34cb55f95d))
1392    - define common macro for ARM registers ([35efe7a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/35efe7a4cea4b3c55b661aac49ef1a85ca8feaa9))
1393    - define default PSCI features if not defined ([a204785](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a2047853224083328ef67cacbc17a2001ba14701))
1394    - define default SD buffer ([4225ce8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4225ce8b87635287ecf5cd3baaf31ea703a2640b))
1395
1396    - **i.MX**
1397
1398      - **i.MX 8M**
1399
1400        - add sdei support for i.MX8MN ([ce2be32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ce2be321e8a5865871810b36c580181ea95a1a64))
1401        - add sdei support for i.MX8MP ([6b63125](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6b63125c415491417e1c389e4015be5ebdee2841))
1402        - add SiP call for secondary boot ([9ce232f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ce232fe985a0bb308af459ede8a22629255d4e7))
1403        - add system_reset2 implementation ([60a0dde](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/60a0dde91bd03f4011c1d52d4d3aea8166e939a0))
1404
1405        - **i.MX 8M Mini**
1406
1407          - enlarge BL33 (U-boot) size in FIP ([d53c9db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d53c9dbf9ff9c435552b62f47fb95bfe86d025e3))
1408
1409        - **i.MX 8M Plus**
1410
1411          - add imx8mp_private.h to the build ([91566d6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/91566d663b26434813fa674412bb695be1965557))
1412          - add in BL2 with FIP ([75fbf55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/75fbf5546b7beca93e4782bc35906f9536392e04))
1413          - add initial definition to facilitate FIP layout ([f696843](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f696843eab5cf0547b6c6307eaccea25678654c4))
1414          - enable Trusted Boot ([a16ecd2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a16ecd2cff36b3a8a76d223f4e272e165c941b31))
1415
1416    - **Layerscape**
1417
1418      - add ls1028a soc and board support ([52a1e9f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52a1e9ff37251987b71b743951038cd8d1fa0ba4))
1419
1420      - **LX2**
1421
1422        - add SUPPORTED_BOOT_MODE definition ([28b3221](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/28b3221aebdd48577e2288a75cd2f7547da514e9))
1423
1424        - **LS1028A**
1425
1426          - add ls1028a soc support ([9d250f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d250f03d7a38cac86655495879b2151b877db0d))
1427
1428          - **LS1028ARDB**
1429
1430            - add ls1028ardb board support ([34e2112](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34e2112d1a3a8e4ea33a24bdc6505518266333a9))
1431
1432  - **QTI**
1433
1434    - **SC7280**
1435
1436      - add support for pmk7325 ([b8a0511](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b8a05116ed2a87a9689c4f9be6218a4bce88034a))
1437      - support for qti sc7280 plat ([46ee50e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/46ee50e0b34e19d383a28bc3b3dadbfb4c07b270))
1438
1439  - **Renesas**
1440
1441    - **R-Car**
1442
1443      - change process for Suspend To RAM ([731aa26](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/731aa26f38d76645b6d50077c28dffb9b02dd08a))
1444
1445      - **R-Car 3**
1446
1447        - add a DRAM size setting for M3N ([f95d551](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f95d551217a287bd909aa3c82f4ade4986ad7244))
1448        - add new board revision for Salvator-XS/H3ULCB ([4379a3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4379a3e9744cf3b0844446335aca40357a889b9a))
1449        - add optional support for gzip-compressed BL33 ([ddf2ca0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ddf2ca03979ea9fad305b1bc59beb6e27f0e1c02))
1450        - add process of SSCG setting for R-Car D3 ([14f0a08](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/14f0a0817297905c03ddf2c4c6040482ef71d744))
1451        - add process to back up X6 and X7 register's value ([7d58aed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7d58aed3b05fa8c677a7c823c1ca5017a462a3d3))
1452        - add SYSCEXTMASK bit set/clear in scu_power_up ([63a7a34](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/63a7a34706eedba4d13ce6fc661a634801cf8909))
1453        - apply ERRATA_A53_1530924 and ERRATA_A57_1319537 ([2892fed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2892fedaf27d8bbc68780a4a2c506c768e81b9f1))
1454        - change the memory map for OP-TEE ([a4d821a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4d821a5a625d941f95ec39fb51ac4fc07c46c5c))
1455        - emit RPC status to DT fragment if RPC unlocked ([12c75c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/12c75c8886a0ee69d7e279a48cbeb8d1602826b3))
1456        - keep RWDT enabled ([8991086](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/899108601a0c3b08ead5e686d92ea0794700ff35))
1457        - modify LifeC register setting for R-Car D3 ([5460f82](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5460f82806752e419fdd6862e8ca9c5fefbee3f2))
1458        - modify operation register from SYSCISR to SYSCISCR ([d10f876](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d10f87674ecee54cffe1ab554cc05733fd16c7f0))
1459        - modify SWDT counter setting for R-Car D3 ([053c134](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/053c134683cf74fbf4efad311815b806821f1436))
1460        - remove access to RMSTPCRn registers in R-Car D3 ([71f2239](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71f2239f53cd3137ad6abdaf0334dc53f2f21cb1))
1461        - update DDR setting for R-Car D3 ([042d710](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/042d710d1d917357c5142b340c79978264d3afb1))
1462        - update IPL and Secure Monitor Rev.3.0.0 ([c5f5bb1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5f5bb17abfcf6c0eeb3e6c3d70499de0bd6abc0))
1463        - use PRR cut to determine DRAM size on M3 ([42ffd27](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/42ffd279dd1a686b19e2f1b69d2e35413d5efeba))
1464
1465  - **ST**
1466
1467    - add a new DDR firewall management ([4584e01](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4584e01dc643665038004f6c8a4f8bd64e14dacb))
1468    - add a USB DFU stack ([efbd65f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/efbd65fa7b5cf70f20d6b18152741ccdf8a65bb6))
1469    - add helper to save boot interface ([7e87ba2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e87ba2598a07facdeb73237dcb350a261ac17b6))
1470    - add STM32CubeProgrammer support on USB ([afad521](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/afad5214a79259f56bc2003b00859abfe8a18d4d))
1471    - add STM32MP_EMMC_BOOT option ([214c8a8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/214c8a8d08b2b3c24f12cbc69f497f44851ca524))
1472    - create new helper for DT access ([ea97bbf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea97bbf6a001b270fd0a25b4b0d0c382e277f3f8))
1473    - implement platform functions for SMCCC_ARCH_SOC_ID ([3d20178](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3d201787e8246022b1f193283c12e7cb4bfc83ff))
1474    - improve FIP image loading from MMC ([18b415b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/18b415be9d631b3e0c3a3caacc5f02edb9413f6b))
1475    - manage io_policies with FCONF ([d5a84ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5a84eeaac2c8ce14d3f2662dc9523b4abf41516))
1476    - use FCONF to configure platform ([29332bc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/29332bcd680ce7e5f864813d9a900360f5e35d41))
1477    - use FIP to load images ([1d204ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1d204ee4ab12893fceb12097bd4f0a074be253b2))
1478
1479    - **ST32MP1**
1480
1481      - add STM32MP_USB_PROGRAMMER target ([fa92fef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa92fef0a024cdb537fe56c84a0156cc48c1ac2d))
1482      - add USB DFU support for STM32MP1 ([942f6be](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/942f6be211d4816ad2568d30d807b8fd53d7f981))
1483
1484  - **Xilinx**
1485
1486    - **Versal**
1487
1488      - add support for SLS mitigation ([302b4df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/302b4dfb8fb0041959b8593a098ccae6c61e3238))
1489
1490    - **ZynqMP**
1491
1492      - add support for runtime feature config ([578f468](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/578f468ac058bbb60b08f78e2aa2c20cdc601620))
1493      - sync IOCTL IDs ([38c0b25](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/38c0b2521a0ea0951f4e1ee678ccdbce5fc07a98))
1494      - add SDEI support ([4143268](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4143268a5ca8f91f1014e0d83edf766946ffff76))
1495      - add support for XCK26 silicon ([7a30e08](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7a30e08b70e7fbb745554d500182bb6e258c5ab8))
1496      - extend DT description by TF-A ([0a8143d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0a8143dd636d4234dd2e79d32cb49dc80675c68f))
1497
1498- **Bootloader Images**
1499
1500  - import BL_NOBITS_{BASE,END} when defined ([9aedca0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9aedca021d917c7435aa2a0405972aa9d44493a2))
1501
1502- **Services**
1503
1504  - **FF-A**
1505
1506    - adding notifications SMC IDs ([fc3f480](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fc3f480023e3a52460add25f18dd550dde44d9ff))
1507    - change manifest messaging method ([bb320db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb320dbc4751f7ea0c37ffba07d14628e58081d0))
1508    - feature retrieval through FFA_FEATURES call ([96b71eb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/96b71eb9597efbf4857216cac1caeefc9e8bbf3e))
1509    - update FF-A version to v1.1 ([e1c732d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e1c732d46fa91231b39209621ead1e5a5fb2c497))
1510    - add Ivy partition to tb fw config ([1bc02c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1bc02c2e0f63b6a7863e10cf6189292d42e693db))
1511    - add support for FFA_SPM_ID_GET ([70c121a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/70c121a258e43dc2462ed528b44d92594ffb27b3))
1512    - route secure interrupts to SPMC ([8cb99c3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8cb99c3fc3539bb9926e73a1c33fd72f424fc453))
1513
1514- **Libraries**
1515
1516  - **CPU Support**
1517
1518    - add support for Hayes CPU ([7bd8dfb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7bd8dfb85a8bf5c22d6a39f4538b89cc748090d1))
1519    - add support for Hunter CPU ([fb9e5f7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb9e5f7bb76e9764b3ecd7973668c851015fa1b4))
1520    - add support for Demeter CPU ([f4616ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f4616efafbc1004f1330f515b898e7617e338875))
1521    - workaround for Cortex A78 AE erratum 1941500 ([47d6f5f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/47d6f5ff16d1f2ad009d630a381054b10fa0a06f))
1522    - workaround for Cortex A78 AE erratum 1951502 ([8913047](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8913047a52e646877812617a2d98cff99494487b))
1523
1524  - **MPMM**
1525
1526    - add support for MPMM ([6812078](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/68120783d6d6f99c605e9f746ee0e91e2908feb1))
1527
1528  - **OP-TEE**
1529
1530    - introduce optee_header_is_valid() ([b84a850](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b84a850864c05fef587fcbb301f955428966de64))
1531
1532  - **PSCI**
1533
1534    - require validate_power_state to expose CPU_SUSPEND ([a1d5ac6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a1d5ac6a5aa5d9d18a481de20d272f64a71391f7))
1535
1536  - **SMCCC**
1537
1538    - add bit definition for SMCCC_ARCH_SOC_ID ([96b0596](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/96b0596ea25e1f03b862a5bfaa92add6c3e51a33))
1539
1540- **Drivers**
1541
1542  - **FWU**
1543
1544    - add FWU metadata header and build options ([5357f83](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5357f83d4ee89fb831d7e4f6149ae2f652e1b9af))
1545    - add FWU driver ([0ec3ac6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ec3ac60d86b75d132e7a63fc09ea47e67f90bbd))
1546    - avoid booting with an alternate boot source ([4b48f7b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4b48f7b56577a78cdc9a2b47280cb62cbae0f7c3))
1547    - avoid NV counter upgrade in trial run state ([c0bfc88](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c0bfc88f8e8e03974834cbcacbbfbd5f202a2857))
1548    - initialize FWU driver in BL2 ([396b339](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/396b339dc20b97ddd75146e03467a255e28f31b9))
1549    - introduce FWU platform-specific functions declarations ([efb2ced](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/efb2ced256dacbab71ca11cbc87f70f413ca6729))
1550
1551  - **I/O**
1552
1553    - **MTD**
1554
1555      - offset management for FIP usage ([9a9ea82](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9a9ea82948fd2f1459b6351cb0641f3f77b4e6de))
1556
1557  - **Measured Boot**
1558
1559    - add documentation to build and run PoC ([a125c55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a125c556230501ee0f5ec9f8b0b721625d484a41))
1560    - move init and teardown functions to platform layer ([47bf3ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/47bf3ac31ec84d4b221fdef760c04b5f4416cba4))
1561    - image hash measurement and recording in BL1 ([48ba034](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/48ba0345f7b42880ec4442d7e90e3e1af95feadd))
1562    - update tb_fw_config with event log properties ([e742bcd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e742bcdae0d28dc14a2aa0b4ca30f50420bb5ebe))
1563
1564  - **MMC**
1565
1566    - boot partition read support ([5014b52](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5014b52dec0c2527ca85c0fbe9c9281a24cc7b10))
1567
1568  - **MTD**
1569
1570    - **NAND**
1571
1572      - count bad blocks before a given offset ([bc3eebb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc3eebb25d5ee340e56047d0e46b81d5af85ff17))
1573
1574  - **SCMI**
1575
1576    - add power domain protocol ([7e4833c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e4833cdde8235d228f1f1c40f52b989ad5aa98a))
1577
1578  - **Arm**
1579
1580    - **Ethos-N**
1581
1582      - multi-device support ([1c65989](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c65989e70c9734defc666e824628620b2060b92))
1583
1584    - **GIC**
1585
1586      - **GICv3**
1587
1588        - detect GICv4 feature at runtime ([858f40e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/858f40e379684fefc8b52c7b9e60576bc3794a69))
1589        - introduce GIC component identification ([73a643e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/73a643eed9d88910a09ca666bc7ab7f5e532324e))
1590        - multichip: detect GIC-700 at runtime ([feb7081](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/feb7081863f454b9e465efc074ca669f7a4c783d))
1591
1592        - **GIC-600AE**
1593
1594          - introduce support for Fault Management Unit ([2c248ad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2c248ade2e958eed33127b4ea767fbb7499f31a7))
1595
1596    - **TZC**
1597
1598      - **TZC-400**
1599
1600        - update filters by region ([ce7ef9d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ce7ef9d146ce5ca6b9be5ef049377b3817d53d10))
1601
1602  - **MediaTek**
1603
1604    - **APU**
1605
1606      - add mt8192 APU device apc driver ([f46e1f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f46e1f18539d6d992c82ae605c2cd2a1d0757fa4))
1607      - add mt8192 APU iommap regions ([2671f31](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2671f3187249d641c55929c812d6691aeeff502a))
1608      - add mt8192 APU SiP call support ([ca4c0c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca4c0c2e78eb19d442de4608d9096a755b540a37))
1609      - setup mt8192 APU_S_S_4 and APU_S_S_5 permission ([77b6801](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77b6801966d203e09ca118fad42543e934d73e6f))
1610
1611    - **EMI MPU**
1612
1613      - add MPU support for DSP ([6c4973b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c4973b0a9a75aa83233b696c97d573426eebd98))
1614
1615  - **NXP**
1616
1617    - **DCFG**
1618
1619      - define RSTCR_RESET_REQ ([6c5d140](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c5d140ed99cfec47b239acc242c0f3db1e3bf7c))
1620
1621    - **FLEXSPI**
1622
1623      - add MT35XU02G flash info ([a4f5015](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4f5015a0080134251e9272719f5dad1ce2aa842))
1624
1625  - **Renesas**
1626
1627    - **R-Car3**
1628
1629      - add extra offset if booting B-side ([993d809](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/993d809cc115ce23dd2df1df19dc8bb548cc19cd))
1630      - add function to judge a DDR rank ([726050b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/726050b8e2d2ee2234e103e2df55f9c7f262c851))
1631
1632  - **ST**
1633
1634    - manage boot part in io_mmc ([f3d2750](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f3d2750aa2293c0279bc447a85771827ca8b74c1))
1635
1636    - **USB**
1637
1638      - add device driver for STM32MP1 ([9a138eb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9a138eb5f29f6747e181a1b3b4199ad57721a3e0))
1639
1640  - **USB**
1641
1642    - add a USB device stack ([859bfd8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/859bfd8d42341c6dea2b193db79dc4828e074ad7))
1643
1644- **Miscellaneous**
1645
1646  - **Debug**
1647
1648    - add new macro ERROR_NL() to print just a newline ([fd1360a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fd1360a339e84ccd49f8a2d8a42e4c131a681b3c))
1649
1650  - **CRC32**
1651
1652    - **Hardware CRC32**
1653
1654      - add support for HW computed CRC ([a1cedad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a1cedadf73863ff103fecd64fa188334e1541337))
1655
1656    - **Software CRC32**
1657
1658      - add software CRC32 support ([f216937](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f21693704a7bac275e12b44ae30fd210bc317175))
1659
1660  - **DT Bindings**
1661
1662    - add STM32MP1 TZC400 bindings ([43de546](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/43de546b909947ab44f104aaee02b98fba70f44c))
1663
1664  - **FDT Wrappers**
1665
1666    - add CPU enumeration utility function ([2d9ea36](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d9ea360350303e37a8dd39f3599ac88aaef0ff9))
1667
1668  - **FDTs**
1669
1670    - add for_each_compatible_node macro ([ff76614](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff766148b52bfecf09728a83fc3becc7941d943c))
1671    - introduce wrapper function to read DT UUIDs ([d13dbb6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d13dbb6f1d5e28737a3319af035a6cb991bc6f8f))
1672    - add firewall regions into STM32MP1 DT ([86b43c5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/86b43c58a4105c8cef13d860dd73fa9bd560526a))
1673    - add IO policies for STM32MP1 ([21e002f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21e002fb777fad9d02a94dc961f077fb444517fa))
1674    - add STM32MP1 fw-config DT files ([d9e0586](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d9e0586b619b331eb2db75911ca82f927e20bd1c))
1675
1676    - **STM32MP1**
1677
1678      - align DT with latest kernel ([e8a953a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e8a953a9b85806f7324c8c7245435d5b9226c279))
1679      - delete nodes for non-used boot devices ([4357db5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4357db5b17ce6ba7357dd99276f34ab497ce60ef))
1680
1681  - **NXP**
1682
1683    - **OCRAM**
1684
1685      - add driver for OCRAM initialization ([10b1e13](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/10b1e13bd200849ff134dd8d2fde341a8526f563))
1686
1687    - **PSCI**
1688
1689      - define CPUECTLR_TIMER_2TICKS ([3a2cc2e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3a2cc2e262890cffee1fc46835e85be6055189e8))
1690
1691- **Dependencies**
1692
1693  - **libfdt**
1694
1695    - also allow changing base address ([4d585fe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4d585fe52feb231d5e73ec50a505122d5e9bf450))
1696
1697### Resolved Issues
1698
1699- **Architecture**
1700
1701- **Platforms**
1702
1703  - print newline before fatal abort error message ([a5fea81](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a5fea8105887d0dd15edf94aebd591b1b6b5ef05))
1704
1705  - **Allwinner**
1706
1707    - delay after enabling CPU power ([86a7429](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/86a7429e477786dad6fab002538aef825f4ca35a))
1708
1709  - **Arm**
1710
1711    - correct UUID strings in FVP DT ([748bdd1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/748bdd19aa27c15438d829bdba42fe4062a265a1))
1712    - fix a VERBOSE trace ([5869ebd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5869ebd0e87f1de987e51994103440fa8c77b26f))
1713    - remove unused memory node ([be42c4b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/be42c4b4bf3c44f2970b7a1658c46b8d5863cad1))
1714
1715    - **FPGA**
1716
1717      - allow build after MAKE_* changes ([9d38a3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d38a3e698331e3c8192cc3e0cc8584e6ed987d9))
1718      - avoid re-linking from executable ELF file ([a67ac76](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a67ac7648cd814ed8f8d4ece1b265c6d48c6dc81))
1719      - Change PL011 UART IRQ ([195381a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/195381a91313bc0bce2cfa087f3c55136a9e8496))
1720      - limit BL31 memory usage ([d457230](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d4572303ed45faceffed859955b0e71724fddfd2))
1721      - reserve BL31 memory ([13e16fe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/13e16fee86451e2f871c2aac757b32299fe5ead6))
1722      - streamline generated axf file ([9177e4f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9177e4fd9356b0f249be8b6fe14f222e10f1e6cd))
1723      - enable AMU extension ([d810e30](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d810e30dd6b47e0725dccbcb42ca0a0c5215ee34))
1724      - increase initrd size ([c3ce73b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c3ce73be0bfe31fa28805fe92b3e727232ffd37a))
1725
1726    - **FVP**
1727
1728      - fix fvp_cpu_standby() function ([3202ce8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3202ce8bbb4af8580736d2a1634ad45c3f89d931))
1729      - spmc optee manifest remove SMC allowlist ([183725b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/183725b39d75e362a32b3c5d0be110c255c56bdd))
1730      - allow changing the kernel DTB load address ([672d669](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/672d669d6c72f92c6b81464d1d421e392bc1aa3e))
1731      - bump BL2 stack size ([d22f1d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d22f1d358731f0f55f2f392fa587f0fa8d315aa5))
1732      - provide boot files via semihosting ([749d0fa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/749d0fa80d1c7ca30b4092a381a06deeeaf1747f))
1733      - OP-TEE SP manifest per latest SPMC changes ([b7bc51a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7bc51a7a747bf40d219b2041e5b3ce56737a71b))
1734
1735    - **FVP-R**
1736
1737      - fix compilation error in release mode ([7d96e79](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7d96e79a1a2efdf85f1ed46cdd5c577b58054f53))
1738
1739    - **Morello**
1740
1741      - initialise CNTFRQ in Non Secure CNTBaseN ([7f2d23d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f2d23d9d790df90021de6c5165ef10fe5cc5590))
1742
1743    - **TC**
1744
1745      - enable AMU extension ([b5863ca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b5863cab9adb3fed0c1e4dfb92cf906794e7bdb4))
1746      - change UUID to string format ([1c19536](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c1953653c20b4a8c61a7deb3fc493d496d8c478))
1747      - remove "arm,psci" from psci node ([814646b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/814646b4cb792ab14df04e28360fefd168399b3c))
1748      - remove ffa and optee device tree node ([f1b44a9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f1b44a9050fbc12e8c260107bfff2930476df062))
1749      - set cactus-tertiary vcpu count to 1 ([05f667f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/05f667f0c670ba9682050714561309f00210c282))
1750
1751    - **SGI**
1752
1753      - avoid redefinition of 'efi_guid' structure ([f34322c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f34322c1cea1e355aeb4133df6aa601d719be5a3))
1754
1755  - **Marvell**
1756
1757    - Check the required libraries before building doimage ([dd47809](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dd47809e9ea75188060bf8b294efa8578d255c63))
1758
1759    - **Armada**
1760
1761      - select correct pcie reference clock source ([371648e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/371648e1c76b5230bf8e153629064c02086365c9))
1762      - fix MSS loader for A8K family ([dceac43](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dceac436f620e60cd0149194377871b225216079))
1763
1764      - **A3K**
1765
1766        - disable HANDLE_EA_EL3_FIRST by default ([3017e93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3017e932768c7357a1a41493c58323419e9a1ec9))
1767        - enable workaround for erratum 1530924 ([975563d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/975563dbfc012b6e8a7765dd8e48220e1bc53dec))
1768        - Fix building uart-images.tgz.bin archive ([d3f8db0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d3f8db07b618e79c05805a1598e5e834e42fea98))
1769        - Fix check for external dependences ([2baf503](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2baf50385ba2b460afef4a7919b13b3a350fd03a))
1770        - fix printing info messages on output ([9f6d154](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9f6d15408340af07ed3c2500202b147189eaa7ef))
1771        - update information about PCIe abort hack ([068fe91](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/068fe919613197bf221c00fb84a1d94c66a7a8ca))
1772        - Remove encryption password ([076374c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/076374c9b97d47b10ba5c6034817866c08d66ed4))
1773
1774      - **A8K**
1775
1776        - Add missing build dependency for BLE target ([04738e6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/04738e69917f8e8790bf4cf83ceb05f85e1f45bb))
1777        - Correctly set include directories for individual targets ([559ab2d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/559ab2df4a35cd82b2a67a0bebeb3028544a6766))
1778        - Require that MV_DDR_PATH is correctly set ([528dafc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/528dafc367c4f49d4904c4335422502dacf469bf))
1779        - fix number of CPU power switches. ([5cf6faf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5cf6fafe223da89c60e2323c242ea188b17e98c3))
1780
1781  - **MediaTek**
1782
1783    - **MT8183**
1784
1785      - fix out-of-bound access ([420c26b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/420c26b33a29c8328a1806ccb2f5a5885041fdfc))
1786
1787    - **MT8195**
1788
1789      - use correct print format for uint64_t ([964ee4e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/964ee4e6be70ef638d6c875a761ab5ca359d84fe))
1790      - fix error setting for SPM ([1f81ccc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1f81cccedd40cb397813b0fa826ea1d793b02089))
1791      - extend MMU region size ([9ff8b8c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ff8b8ca9393e31e790eb2c8e7ea5c5f41f45198))
1792      - fix coverity fail ([85e4d14](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/85e4d14df157b5641421ea2b844c146ddc230152))
1793
1794  - **NXP**
1795
1796    - **i.MX**
1797
1798      - do not keep mmc_device_info in stack ([99d37c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99d37c8cb8196a7296311fb4f97f80f086021c74))
1799
1800      - **i.MX 8M**
1801
1802        - **i.MX 8M Mini**
1803
1804          - fix FTBFS on SPD=opteed ([10bfc77](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/10bfc77e7b3afce17185114ac66361a0914f7784))
1805
1806    - **Layerscape**
1807
1808      - **LX2**
1809
1810        - **LS1028A**
1811
1812          - define endianness of scfg and gpio ([2475f63](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2475f63bdec6c24c13f7d6ec7f70275b1bde5c15))
1813          - fix compile error when enable fuse provision ([a0da9c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a0da9c4bd296ec1a47683a1ee05f5d1ed71828c7))
1814
1815  - **QEMU**
1816
1817    - (NS_DRAM0_BASE + NS_DRAM0_SIZE) ADDR overflow 32bit ([325716c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/325716c97b7835b8d249f12c1461556bab8c53a0))
1818    - reboot/shutdown with low to high gpio ([bd2ad12](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bd2ad12ef10f558a5b15f5768b66e7b2606c6498))
1819
1820  - **QTI**
1821
1822    - **SC1780**
1823
1824      - qti smc addition ([cc35a37](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc35a3771d28a96906f8d0f393ff664924a2d4dc))
1825
1826  - **Raspberry Pi**
1827
1828    - **Raspberry Pi 4**
1829
1830      - drop /memreserve/ region ([5d2793a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d2793a61aded9602af86e90a571f64ff07f93b3))
1831
1832  - **Renesas**
1833
1834    - **R-Car**
1835
1836      - change process that copy code to system ram ([49593cc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49593cc1ce0d0471aeef7ca24a5415da2dd55bea))
1837      - fix cache maintenance process of reading cert header ([c77ab18](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c77ab18ec7c8e0f3d953177b835e004a9b53515f))
1838      - fix to load image when option BL2_DCACHE_ENABLE is enabled ([d2ece8d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d2ece8dba2f31091b1fa6c302d4255495bb15705))
1839
1840      - **R-Car 3**
1841
1842        - fix disabling MFIS write protection for R-Car D3 ([a8c0c3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a8c0c3e9d0df2215ed3b9ef66f4596787d957566))
1843        - fix eMMC boot support for R-Car D3 ([77ab366](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77ab3661e55c39694c7ee81de2d1615775711b64))
1844        - fix source file to make about GICv2 ([fb3406b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb3406b6b573cb0b35138ca3c89c5641d3d7b790))
1845        - fix version judgment for R-Car D3 ([c3d192b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c3d192b8e52823dcbc32e21e47c30693d38bb49f))
1846        - generate two memory nodes for larger than 2 GiB channel 0 ([21924f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21924f2466b9b5e1243c142932e6f498da5633e9))
1847
1848  - **Rockchip**
1849
1850    - **RK3399**
1851
1852      - correct LPDDR4 resume sequence ([2c4b0c0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2c4b0c05c6546e24eb7209ffb3bb465d4feed164))
1853      - fix dram section placement ([f943b7c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f943b7c8e292e3aad2fcbdd0a37505f62b3b4c87))
1854
1855  - **Socionext**
1856
1857    - **Synquacer**
1858
1859      - update scmi power domain off handling ([f7f5d2c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f7f5d2c4cd209c2d21244da4fa442050eb4531ab))
1860
1861  - **ST**
1862
1863    - add STM32IMAGE_SRC ([f223505](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f22350583c2e26ea291eae3dc54db867fdf0d9af))
1864    - add UART reset in crash console init ([b38e2ed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b38e2ed29ef791dad0cb61fed81b74d612f58b01))
1865    - apply security at the end of BL2 ([99080bd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99080bd1273331007f0b2d6f64fed51ac6861bcd))
1866    - correct BSEC error code management ([72c7884](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/72c7884092684af4cc3c49e08f913b3ffed783ba))
1867    - correct IO compensation disabling ([c2d18ca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2d18ca80f4bd32f58ba07f53d9bb2586df18fc0))
1868    - correct signedness comparison issue ([5657dec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5657decc7ffa1376c0a97b6d14ea1428877f5af4))
1869    - improve DDR get size function ([91ffc1d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/91ffc1deffa2c1c64efe4dfaf27b78f2621a8b0b))
1870    - only check header major when booting ([8ce8918](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8ce89187459ec77dd9ffdffba3a2b77838d51b6d))
1871    - panic if boot interface is wrong ([71693a6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71693a66341e7d9d683ef32981243cb4c4439351))
1872    - remove double space ([306dcd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/306dcd6b0d1981b75e103c560a4034bdaa6862d5))
1873
1874    - **ST32MP1**
1875
1876      - add bl prefix for internal linker script ([7684ddd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7684dddcfb14c45bad33b091410a0bf14a3a9830))
1877
1878  - **Xilinx**
1879
1880    - **Versal**
1881
1882      - correct IPI buffer offset ([e1e5b13](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e1e5b1339b9f73f7f1893d8a6d4dfe4b19ba0ad1))
1883      - use sync method for blocking calls ([fa58171](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa58171534976f94b93a44184afd050d8225e404))
1884
1885    - **ZynqMP**
1886
1887      - use sync method for blocking calls ([c063c5a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c063c5a4f92d5787536e595ca4906b458b0f26cb))
1888
1889- **Services**
1890
1891  - drop warning on unimplemented calls ([67fad51](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/67fad514ee974dcf0252fa0e9219eb3c580eb714))
1892
1893  - **RME**
1894
1895    - fixes a shift by 64 bits bug in the RME GPT library ([322b344](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/322b344e30cb87b9293060d5946b3c17fe3b9133))
1896
1897  - **SPM**
1898
1899    - do not compile if SVE/SME is enabled ([4333f95](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4333f95bedb5f2b53dcb62e0e9c563794ec33c07))
1900    - error macro to use correct print format ([0c23e6f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c23e6f44d41593b6e7f97594c12b5791bd75189))
1901    - revert workaround hafnium as hypervisor ([3221fce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3221fce842c0b5aea984bb8dbc1393082bd88a58))
1902    - fixing coverity issue for SPM Core. ([f7fb0bf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f7fb0bf77f3434bfb67411cad65e704fdef27f76))
1903
1904- **Libraries**
1905
1906  - **LIBC**
1907
1908    - use long for 64-bit types on aarch64 ([4ce3e99](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4ce3e99a336b74611349595ea7fd5ed0277c3eeb))
1909
1910  - **CPU Support**
1911
1912    - correct Demeter CPU name ([4cb576a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4cb576a0c5bd2e7669606996a9f79602596df07c))
1913    - workaround for Cortex A78 erratum 2242635 ([1ea9190](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1ea9190c6a4d2299c6dc19adc0bbe93d4f051eff))
1914    - workaround for Cortex-A710 erratum 2058056 ([744bdbf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/744bdbf732ffd2abf84b2431624051e93bc29f7b))
1915    - workaround for Neoverse V1 erratum 2216392 ([4c8fe6b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4c8fe6b17fa994a630b2a30f8666df103f2e370d))
1916    - workaround for Neoverse-N2 erratum 2138953 ([ef8f0c5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef8f0c52ddf83e815a029319971682d7a26b6a6f))
1917    - workaround for Neoverse-N2 erratum 2138958 ([c948185](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c948185c973c13df36c62c4bcb50e22b14d6e06a))
1918    - workaround for Neoverse-N2 erratum 2242400 ([603806d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/603806d1376c4b18211fb1d4cc338153de026c32))
1919    - workaround for Neoverse-N2 erratum 2242415 ([5819e23](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5819e23bc47c860872141caf42bddddb1b8679a5))
1920    - workaround for Neoverse-N2 erratum 2280757 ([0d2d999](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0d2d99924e1be548e75c46cfd536f7503cf863e0))
1921    - rename Matterhorn, Matterhorn ELP, and Klein CPUs ([c6ac4df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c6ac4df622befb5bb42ac136745094e1498c91d8))
1922
1923  - **EL3 Runtime**
1924
1925    - correct CASSERT for pauth ([b4f8d44](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b4f8d44597faf641177134ee08db7c3fcef5aa14))
1926    - fix SVE and AMU extension enablement flags ([68ac5ed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/68ac5ed0493b24e6a0a178171a47db75a31cc423))
1927    - random typos in tf-a code base ([2e61d68](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e61d6871cc310e9404fe5cfa10b9828f1c869a7))
1928    - Remove save/restore of EL2 timer registers ([a7cf274](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a7cf2743f3eb487912302aafc748c81bbd1fc603))
1929
1930  - **OP-TEE**
1931
1932    - correct signedness comparison ([21d2be8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21d2be83a2eabb328071e857e538ced3c8351874))
1933
1934  - **GPT**
1935
1936    - add necessary barriers and remove cache clean ([77612b9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77612b90acaffc82cea712f4a431c727bbb968ec))
1937    - use correct print format for uint64_t ([2461bd3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2461bd3a89f7f2cdf4a7302536746733970cfe53))
1938
1939  - **Translation Tables**
1940
1941    - remove always true check in assert ([74d720a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/74d720a026735263d2f290fd05370dad0d4c7219))
1942
1943- **Drivers**
1944
1945  - **Authentication**
1946
1947    - avoid NV counter upgrade without certificate validation ([a2a5a94](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a2a5a9456969266dc68d5845f31e05be0c3ff2e3))
1948
1949    - **CryptoCell-713**
1950
1951      - fix a build failure with CC-713 library ([e5fbee5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e5fbee5085c682ac3438e6f66c8bdaffb6076fa2))
1952
1953  - **MTD**
1954
1955    - fix MISRA issues and logic improvement ([5130ad1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5130ad14d52a0196422fed8a7d08e25659890b15))
1956    - macronix quad enable bit issue ([c332740](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c3327408eb4b5852c0ed9d8933c35aaa6de34c21))
1957
1958    - **NAND**
1959
1960      - **SPI NAND**
1961
1962        - check correct manufacturer id ([4490b79](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4490b7963303fbe59b07a66c8498a803eb5c239c))
1963        - check that parameters have been set ([bc453ab](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc453ab1b2fd4267d34f2b9587f73b8940ee1538))
1964
1965  - **SCMI**
1966
1967    - entry: add weak functions ([b3c8fd5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b3c8fd5d778144340d289ad4825123106aac4a96))
1968    - smt: fix build for aarch64 ([0e223c6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0e223c6a9e5a2d92cae00fdd16a02a3f8971b114))
1969    - mention "SCMI" in driver initialisation message ([e0baae7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e0baae7316bfdf3e49e5e158f79eb80cd51fc700))
1970    - relax requirement for exact protocol version ([125868c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/125868c94150f52ff85cdb59aee623ab1f9f259d))
1971
1972  - **UFS**
1973
1974    - add reset before DME_LINKSTARTUP ([905635d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/905635d5e74e3c7b7b2412a673009c8aaabb73e1))
1975
1976  - **Arm**
1977
1978    - **GIC**
1979
1980      - **GICv3**
1981
1982        - add dsb in both disable and enable function of gicv3_cpuif ([5a5e0aa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a5e0aac398989536dc4be790820af89da3d093a))
1983
1984      - **GIC-600AE**
1985
1986	- fix timeout calculation ([7f322f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f322f228e76caa5480f827af0aa6751f00fc1c4))
1987
1988    - **TZC**
1989
1990      - **TZC-400**
1991
1992        - never disable filter 0 ([ef378d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef378d3ec1ef9d7c28baef32ed409688e962542b))
1993
1994  - **Marvell**
1995
1996    - **COMPHY**
1997
1998      - fix name of 3.125G SerDes mode ([a669983](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a669983c78828e3f4a4f14b9e5a6ee79dcfde20f))
1999
2000      - **Armada 3700**
2001
2002        - configure phy selector also for PCIe ([0f3a122](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0f3a1221093256999af5f2a80e9b3d7231b9f5fb))
2003        - fix address overflow ([c074f70](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c074f70ce5d85e1735b589b323fac99d7eb988b5))
2004        - handle failures in power functions ([49b664e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49b664e75f43fda08dddef4f0510d346bdd25565))
2005
2006      - **CP110**
2007
2008        - fix error code in pcie power on ([c0a909c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c0a909cdcce2d9a2ceefe672ad2fc1cae7e39ec4))
2009
2010    - **Armada**
2011
2012      - **A3K**
2013
2014        - **A3720**
2015
2016          - fix configuring UART clock ([b9185c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9185c75f7ec2b600ebe0d49281e216a2456b764))
2017          - fix UART clock rate value and divisor calculation ([66a7752](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/66a7752834382595d26214783ae4698fd1f00bd6))
2018          - fix UART parent clock rate determination ([5a91c43](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a91c439cbeb1f64b8b9830de91efad5113d3c89))
2019
2020  - **MediaTek**
2021
2022    - **PMIC Wrapper**
2023
2024      - update idle flow ([9ed4e6f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ed4e6fb669b8fcafc4e8acfa6a36db305d27ac8))
2025
2026    - **MT8192**
2027
2028      - **SPM**
2029
2030        - add missing bit define for debug purpose ([310c3a2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/310c3a26e17d99aafc73b3504d0b6dfbdb97fd4c))
2031
2032  - **NXP**
2033
2034    - **FLEXSPI**
2035
2036      - fix warm boot wait time for MT35XU512A ([1ff7e46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1ff7e46b092b74891bc2dc7263e4dfae947b2223))
2037
2038    - **SCFG**
2039
2040      - fix endianness checking ([fb90cfd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb90cfd4eee504f1d16aa143728af427dc6e0ed8))
2041
2042    - **SFP**
2043
2044      - fix compile warning ([3239a17](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3239a17561c124df7095391c0d64e86910660cdc))
2045
2046  - **Renesas**
2047
2048    - **R-Car3**
2049
2050      - console: fix a return value of console_rcar_init ([bb273e3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb273e3be1c4f1cddeac9ceaac95fb56e41e6b98))
2051      - ddr: update DDR setting for H3, M3, M3N ([ec767c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ec767c1b99675fbb50ef1b2fdb2d38e881e4789d))
2052      - emmc: remove CPG_CPGWPR redefinition ([36d5645](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/36d5645aec947ab00b925b21141e59e58e1efd8c))
2053      - fix CPG registers redefinition ([0dae56b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0dae56bb2f0aa1f89ec98ebe3931fb19751a5c72))
2054      - i2c_dvfs: fix I2C operation ([b757d3a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b757d3a1d901bee9b7ad430702575adba04889ba))
2055
2056  - **ST**
2057
2058    - **Clock**
2059
2060      - use correct return value ([8f97c4f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8f97c4fab1769b3f7f37a2a7a01ade36e5c94eaa))
2061      - correctly manage RTC clock source ([1550909](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15509093f0ba9a10f97c6f92bc3bb9fcf79a48ce))
2062      - fix MCU/AXI parent clock ([b8fe48b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b8fe48b6f2b07fce49363cb3c0f8dac9e286439b))
2063      - fix MPU clock rate ([602ae2f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/602ae2f23c2bc9d79a9ab2b7c5dde1932fffc984))
2064      - fix RTC clock rating ([cbd2e8a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cbd2e8a6afdd05c4b404d7998134a3f60cc15518))
2065      - keep RTC clock always on ([5b111c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5b111c74795ea5e9c8a12d0e6b18d77e431311ed))
2066      - keep RTCAPB clock always on ([373f06b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/373f06be4ee1114369b96763481b58885623aea4))
2067      - set other clocks as always on ([bf39318](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf39318d93c270ff72bda4b46e4771aba7aea313))
2068
2069    - **I/O**
2070
2071      - **STM32 Image**
2072
2073        - invalidate cache on local buf ([a5bcf82](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a5bcf82402ff415326b4dba42aae95c499821e94))
2074        - uninitialized variable warning ([c1d732d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c1d732d0db2463998036c678619007da79a25b3f))
2075
2076    - **ST PMIC**
2077
2078      - initialize i2c_state ([4282284](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/42822844bfed2e9ffaeae850cc60f5c3d4d9d654))
2079      - missing error check ([a4bcfe9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4bcfe94e73db89ce2ebbb23c8e33e51eea5026a))
2080
2081    - **STPMIC1**
2082
2083      - fix power switches activation ([0161991](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0161991184e5feacacc679bdb9c92681b85235eb))
2084      - update error cases return ([ed6a852](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ed6a85234653c5ee2520389b769ff47e321df8a4))
2085
2086    - **UART**
2087
2088      - **STM32 Console**
2089
2090        - do not skip init for crash console ([49c7f0c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49c7f0cef4cc864185828750f1f61f3f33f284f7))
2091
2092  - **USB**
2093
2094    - add a optional ops get_other_speed_config_desc ([216c122](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/216c1223c2c65bd1c119a28b9406f70a9ee7b063))
2095    - fix Null pointer dereferences in usb_core_set_config ([0cb9870](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0cb9870ddfa1b2fec50debe6d6333cbcb3df1e7e))
2096    - remove deadcode when USBD_EP_NB = 1 ([7ca4928](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7ca49284be083b03ae11aa348b40358876ee5d4b))
2097    - remove unnecessary cast ([025f5ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/025f5ef201a39ba7285f368139e690bbd7a44653))
2098
2099- **Miscellaneous**
2100
2101  - use correct printf format for uint64_t ([4ef449c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4ef449c15a4055d92632cb7e72267f525a7e2fca))
2102
2103  - **DT Bindings**
2104
2105    - fix static checks ([0861fcd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0861fcdd3e3f2625e133de3dae9c548de7c1ee48))
2106
2107  - **FDTs**
2108
2109    - avoid output on missing DT property ([49e789e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49e789e353efaf97f84eca016c6a1b8a2b3e3d98))
2110    - fix OOB write in uuid parsing function ([d0d6424](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0d642450f1f3a0f43e0e156ef57a0c460dd48cf))
2111
2112    - **Morello**
2113
2114      - fix scmi clock specifier to cluster mappings ([387a906](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/387a9065a271ecde0e47dc5a9f9d037637502beb))
2115
2116    - **STM32MP1**
2117
2118      - correct copyright dates ([8d26029](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8d26029168fe70a86de524ed68c56e8666823714))
2119      - set ETH clock on PLL4P on ST boards ([3e881a8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3e881a8834a955f1e552300bdbf1dafd02ea8f1c))
2120      - update PLL nodes for ED1/EV1 boards ([cdbbb9f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cdbbb9f7ecd4687fa52e1c655b631377c24862b9))
2121      - use 'kHz' as kilohertz abbreviation ([4955d08](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4955d08de7aa664387d2e5f690e78b85ac23a402))
2122
2123  - **PIE**
2124
2125    - invalidate data cache in the entire image range if PIE is enabled ([596d20d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/596d20d9e4d50c02b5a0cce8cad2a1c205cd687a))
2126
2127  - **Security**
2128
2129    - Set MDCR_EL3.MCCD bit ([12f6c06](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/12f6c0649732a35a7ed45ba350a963f09a5710ca))
2130
2131  - **SDEI**
2132
2133    - fix assert while kdump issue ([d39db26](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d39db2695ba626b9c0ee38652fe160b4e84b15d9))
2134    - print event number in hex format ([6b94356](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6b94356b577744d425476a029c47bd35eb13c148))
2135    - set SPSR for SDEI based on TakeException ([37596fc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/37596fcb43e34ed4bcf1bd3e86d8dec1011edab8))
2136
2137- **Documentation**
2138
2139  - fix TF-A v2.6 release date in the release information page ([c90fa47](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c90fa47202b762fe8f54e9c0561e94d37907b6ad))
2140  - fix `FF-A` substitution ([a61940c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a61940ca739eb89be7c1bb2408a9178c2da5cb70))
2141  - fix typos in v2.5 release documentation ([481c7b6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/481c7b6b9107a3f71ee750f89cacdd8f9c729838))
2142  - remove "experimental" tag for stable features ([700e768](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/700e7685dd4682a929645a79de39f503c9140b2d))
2143
2144  - **Contribution Guidelines**
2145
2146    - fix formatting for code snippet ([d0bbe81](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0bbe8150eb35fe2bac1567751bf84a8f073dd39))
2147
2148- **Build System**
2149
2150  - use space in WARNINGS list ([34b508b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34b508be9f021831423a8a14f56dff547e24c743))
2151
2152  - **Git Hooks**
2153
2154    - downgrade `package-lock.json` version ([7434b65](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7434b65208175bdf3f44e0e62aaaeabc9c494ee3))
2155
2156- **Tools**
2157
2158  - **STM32 Image**
2159
2160    - improve the tool ([8d0036d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8d0036d3d8c8ac1524539ea90382acafb1e524c0))
2161
2162  - **SPTOOL**
2163
2164    - SP UUID little to big endian in TF-A build ([dcdbcdd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dcdbcddebdee8d4d2c6c8316f615b428758b22ac))
2165
2166  - **DOIMAGE**
2167
2168    - Fix doimage syntax breaking secure mode build ([6d55ef1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6d55ef1a24dc92a3b737aaa02141f550caaace06))
2169
2170- **Dependencies**
2171
2172  - **checkpatch**
2173
2174    - do not check merge commits ([77a0a7f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77a0a7f1d96b188849d1d8d8884b3c93857d3f69))
2175
2176## [2.5.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.4..refs/tags/v2.5) (2021-05-17)
2177
2178### New Features
2179
2180- Architecture support
2181
2182  - Added support for speculation barrier(`FEAT_SB`) for non-Armv8.5 platforms
2183    starting from Armv8.0
2184  - Added support for Activity Monitors Extension version 1.1(`FEAT_AMUv1p1`)
2185  - Added helper functions for Random number generator(`FEAT_RNG`) registers
2186  - Added support for Armv8.6 Multi-threaded PMU extensions (`FEAT_MTPMU`)
2187  - Added support for MTE Asymmetric Fault Handling extensions(`FEAT_MTE3`)
2188  - Added support for Privileged Access Never extensions(`FEAT_PANx`)
2189
2190- Bootloader images
2191
2192  - Added PIE support for AArch32 builds
2193  - Enable Trusted Random Number Generator service for BL32(sp_min)
2194
2195- Build System
2196
2197  - Added build option for Arm Feature Modifiers
2198
2199- Drivers
2200
2201  - Added support for interrupts in TZC-400 driver
2202  - Broadcom
2203    - Added support for I2C, MDIO and USB drivers
2204  - Marvell
2205    - Added support for secure read/write of dfc register-set
2206    - Added support for thermal sensor driver
2207    - Implement a3700_core_getc API in console driver
2208    - Added rx training on 10G port
2209  - Marvell Mochi
2210    - Added support for cn913x in PCIe mode
2211  - Marvell Armada A8K
2212    - Added support for TRNG-IP-76 driver and accessing RNG register
2213  - Mediatek MT8192
2214    - Added support for following drivers
2215      - MPU configuration for SCP/PCIe
2216      - SPM suspend
2217      - Vcore DVFS
2218      - LPM
2219      - PTP3
2220      - UART save and restore
2221      - Power-off
2222      - PMIC
2223      - CPU hotplug and MCDI support
2224      - SPMC
2225      - MPU
2226  - Mediatek MT8195
2227    - Added support for following drivers
2228      - GPIO, NCDI, SPMC drivers
2229      - Power-off
2230      - CPU hotplug, reboot and MCDI
2231      - Delay timer and sys timer
2232      - GIC
2233  - NXP
2234    - Added support for
2235      - non-volatile storage API
2236      - chain of trust and trusted board boot using two modes: MBEDTLS and CSF
2237      - fip-handler necessary for DDR initialization
2238      - SMMU and console drivers
2239      - crypto hardware accelerator driver
2240      - following drivers: SD, EMMC, QSPI, FLEXSPI, GPIO, GIC, CSU, PMU, DDR
2241      - NXP Security Monitor and SFP driver
2242      - interconnect config APIs using ARM CCN-CCI driver
2243      - TZC APIs to configure DDR region
2244      - generic timer driver
2245      - Device configuration driver
2246  - IMX
2247    - Added support for image loading and io-storage driver for TBBR fip booting
2248  - Renesas
2249    - Added support for PFC and EMMC driver
2250    - RZ Family:
2251      - G2N, G2E and G2H SoCs
2252        - Added support for watchdog, QoS, PFC and DRAM initialization
2253    - RZG Family:
2254      - G2M
2255        - Added support for QoS and DRAM initialization
2256  - Xilinx
2257    - Added JTAG DCC support for Versal and ZynqMP SoC family.
2258
2259- Libraries
2260
2261  - C standard library
2262    - Added support to print `%` in `snprintf()` and `printf()` APIs
2263    - Added support for strtoull, strtoll, strtoul, strtol APIs from FreeBSD
2264      project
2265  - CPU support
2266    - Added support for
2267      - Cortex_A78C CPU
2268      - Makalu ELP CPU
2269      - Makalu CPU
2270      - Matterhorn ELP CPU
2271      - Neoverse-N2 CPU
2272  - CPU Errata
2273    - Arm Cortex-A76: Added workaround for erratum 1946160
2274    - Arm Cortex-A77: Added workaround for erratum 1946167
2275    - Arm Cortex-A78: Added workaround for erratum 1941498 and 1951500
2276    - Arm Neoverse-N1: Added workaround for erratum 1946160
2277  - Flattened device tree(libfdt)
2278    - Added support for wrapper function to read UUIDs in string format from dtb
2279
2280- Platforms
2281
2282  - Added support for MediaTek MT8195
2283  - Added support for Arm RD-N2 board
2284  - Allwinner
2285    - Added support for H616 SoC
2286  - Arm
2287    - Added support for GPT parser
2288    - Protect GICR frames for fused/unused cores
2289  - Arm Morello
2290    - Added VirtIO network device to Morello FVP fdts
2291  - Arm RD-N2
2292    - Added support for variant 1 of RD-N2 platform
2293    - Enable AMU support
2294  - Arm RD-V1
2295    - Enable AMU support
2296  - Arm SGI
2297    - Added support for platform variant build option
2298  - Arm TC0
2299    - Added Matterhorn ELP CPU support
2300    - Added support for opteed
2301  - Arm Juno
2302    - Added support to use hw_config in BL31
2303    - Use TRNG entropy source for SMCCC TRNG interface
2304    - Condition Juno entropy source with CRC instructions
2305  - Marvell Mochi
2306    - Added support for detection of secure mode
2307  - Marvell ARMADA
2308    - Added support for new compile option A3720_DB_PM_WAKEUP_SRC
2309    - Added support doing system reset via CM3 secure coprocessor
2310    - Made several makefile enhancements required to build WTMI_MULTI_IMG and
2311      TIMDDRTOOL
2312    - Added support for building DOIMAGETOOL tool
2313    - Added new target mrvl_bootimage
2314  - Mediatek MT8192
2315    - Added support for rtc power off sequence
2316  - Mediatek MT8195
2317    - Added support for SiP service
2318  - STM32MP1
2319    - Added support for
2320      - Seeed ODYSSEY SoM and board
2321      - SDMMC2 and I2C2 pins in pinctrl
2322      - I2C2 peripheral in DTS
2323      - PIE for BL32
2324      - TZC-400 interrupt managament
2325      - Linux Automation MC-1 board
2326  - Renesas RZG
2327    - Added support for identifying EK874 RZ/G2E board
2328    - Added support for identifying HopeRun HiHope RZ/G2H and RZ/G2H boards
2329  - Rockchip
2330    - Added support for stack protector
2331  - QEMU
2332    - Added support for `max` CPU
2333    - Added Cortex-A72 support to `virt` platform
2334    - Enabled trigger reboot from secure pl061
2335  - QEMU SBSA
2336    - Added support for sbsa-ref Embedded Controller
2337  - NXP
2338    - Added support for warm reset to retain ddr content
2339    - Added support for image loader necessary for loading fip image
2340    - lx2160a SoC Family
2341      - Added support for
2342        - new platform lx2160a-aqds
2343        - new platform lx2160a-rdb
2344        - new platform lx2162a-aqds
2345        - errata handling
2346  - IMX imx8mm
2347    - Added support for trusted board boot
2348  - TI K3
2349    - Added support for lite device board
2350    - Enabled Cortex-A72 erratum 1319367
2351    - Enabled Cortex-A53 erratum 1530924
2352  - Xilinx ZynqMP
2353    - Added support for PS and system reset on WDT restart
2354    - Added support for error management
2355    - Enable support for log messages necessary for debug
2356    - Added support for PM API SMC call for efuse and register access
2357
2358- Processes
2359
2360  - Introduced process for platform deprecation
2361  - Added documentation for TF-A threat model
2362  - Provided a copy of the MIT license to comply with the license requirements
2363    of the arm-gic.h source file (originating from the Linux kernel project and
2364    re-distributed in TF-A).
2365
2366- Services
2367
2368  - Added support for TRNG firmware interface service
2369  - Arm
2370    - Added SiP service to configure Ethos-N NPU
2371  - SPMC
2372    - Added documentation for SPM(Hafnium) SMMUv3 driver
2373  - SPMD
2374    - Added support for
2375      - FFA_INTERRUPT forwading ABI
2376      - FFA_SECONDARY_EP_REGISTER ABI
2377      - FF-A v1.0 boot time power management, SPMC secondary core boot and early
2378        run-time power management
2379
2380- Tools
2381
2382  - FIPTool
2383    - Added mechanism to allow platform specific image UUID
2384  - git hooks
2385    - Added support for conventional commits through commitlint hook, commitizen
2386      hook and husky configuration files.
2387  - NXP tool
2388    - Added support for a tool that creates pbl file from BL2
2389  - Renesas RZ/G2
2390    - Added tool support for creating bootparam and cert_header images
2391  - CertCreate
2392    - Added support for platform-defined certificates, keys, and extensions
2393      using the platform's makefile
2394  - shared tools
2395    - Added EFI_GUID representation to uuid helper data structure
2396
2397### Changed
2398
2399- Common components
2400
2401  - Print newline after hex address in aarch64 el3_panic function
2402  - Use proper `#address-cells` and `#size-cells` for reserved-memory in dtbs
2403
2404- Drivers
2405
2406  - Move SCMI driver from ST platform directory and make it common to all
2407    platforms
2408  - Arm GICv3
2409    - Shift eSPI register offset in GICD_OFFSET_64()
2410    - Use mpidr to probe GICR for current CPU
2411  - Arm TZC-400
2412    - Adjust filter tag if it set to FILTER_BIT_ALL
2413  - Cadence
2414    - Enhance UART driver APIs to put characters to fifo
2415  - Mediatek MT8192
2416    - Move timer driver to common folder
2417    - Enhanced sys_cirq driver to add more IC services
2418  - Renesas
2419    - Move ddr and delay driver to common directory
2420  - Renesas rcar
2421    - Treat log as device memory in console driver
2422  - Renesas RZ Family:
2423    - G2N and G2H SoCs
2424      - Select MMC_CH1 for eMMC channel
2425  - Marvell
2426    - Added support for checking if TRNG unit is present
2427  - Marvell A3K
2428    - Set TXDCLK_2X_SEL bit during PCIe initialization
2429    - Set mask parameter for every reg_set call
2430  - Marvell Mochi
2431    - Added missing stream IDs configurations
2432  - MbedTLS
2433    - Migrated to Mbed TLS v2.26.0
2434  - IMX imx8mp
2435    - Change the bl31 physical load address
2436  - QEMU SBSA
2437    - Enable secure variable storage
2438  - SCMI
2439    - Update power domain protocol version to 2.0
2440  - STM32
2441    - Remove dead code from nand FMC driver
2442
2443- Libraries
2444
2445  - C Standard Library
2446    - Use macros to reduce duplicated code between snprintf and printf
2447  - CPU support
2448    - Sanity check pointers before use in AArch32 builds
2449    - Arm Cortex-A78
2450      - Remove rainier cpu workaround for errata 1542319
2451    - Arm Makalu ELP
2452      - Added "\_arm" suffix to Makalu ELP CPU lib
2453
2454- Miscellaneous
2455
2456  - Editorconfig
2457    - set max line length to 100
2458
2459- Platforms
2460
2461  - Allwinner
2462    - Added reserved-memory node to DT
2463    - Express memmap more dynamically
2464    - Move SEPARATE_NOBITS_REGION to platforms
2465    - Limit FDT checks to reduce code size
2466    - Use CPUIDLE hardware when available
2467    - Allow conditional compilation of SCPI and native PSCI ops
2468    - Always use a 3MHz RSB bus clock
2469    - Enable workaround for Cortex-A53 erratum 1530924
2470    - Fixed non-default PRELOADED_BL33_BASE
2471    - Leave CPU power alone during BL31 setup
2472    - Added several psci hooks enhancements to improve system shutdown/reset
2473      sequence
2474    - Return the PMIC to I2C mode after use
2475    - Separate code to power off self and other CPUs
2476    - Split native and SCPI-based PSCI implementations
2477  - Allwinner H6
2478    - Added R_PRCM security setup for H6 board
2479    - Added SPC security setup for H6 board
2480    - Use RSB for the PMIC connection on H6
2481  - Arm
2482    - Store UUID as a string, rather than ints
2483    - Replace FIP base and size macro with a generic name
2484    - Move compile time switch from source to dt file
2485    - Don't provide NT_FW_CONFIG when booting hafnium
2486    - Do not setup 'disabled' regulator
2487    - Increase SP max size
2488    - Remove false dependency of ARM_LINUX_KERNEL_AS_BL33 on RESET_TO_BL31 and
2489      allow it to be enabled independently
2490  - Arm FVP
2491    - Do not map GIC region in BL1 and BL2
2492  - Arm Juno
2493    - Refactor juno_getentropy() to return 64 bits on each call
2494  - Arm Morello
2495    - Remove "virtio-rng" from Morello FVP
2496    - Enable virtIO P9 device for Morello fvp
2497  - Arm RDV1
2498    - Allow all PSCI callbacks on RD-V1
2499    - Rename rddaniel to rdv1
2500  - Arm RDV1MC
2501    - Rename rddanielxlr to rdv1mc
2502    - Initialize TZC-400 controllers
2503  - Arm TC0
2504    - Updated GICR base address
2505    - Use scmi_dvfs clock index 1 for cores 4-7 through fdt
2506    - Added reserved-memory node for OP-TEE fdts
2507    - Enabled Theodul DSU in TC platform
2508    - OP-TEE as S-EL1 SP with SPMC at S-EL2
2509    - Update Matterhorm ELP DVFS clock index
2510  - Arm SGI
2511    - Allow access to TZC controller on all chips
2512    - Define memory regions for multi-chip platforms
2513    - Allow access to nor2 flash and system registers from S-EL0
2514    - Define default list of memory regions for DMC-620 TZC
2515    - Improve macros defining cper buffer memory region
2516    - Refactor DMC-620 error handling SMC function id
2517    - Refactor SDEI specific macros
2518    - Added platform id value for RDN2 platform
2519    - Refactored header file inclusions and inclusion of memory mapping
2520  - Arm RDN2
2521    - Allow usage of secure partitions on RDN2 platform
2522    - Update GIC redistributor and TZC base address
2523  - Arm SGM775
2524    - Deprecate Arm sgm775 FVP platform
2525  - Marvell
2526    - Increase TX FIFO EMPTY timeout from 2ms to 3ms
2527    - Update delay code to be compatible with 1200 MHz CPU
2528  - Marvell ARMADA
2529    - Postpone MSS CPU startup to BL31 stage
2530    - Allow builds without MSS support
2531    - Use MSS SRAM in secure mode
2532    - Added missing FORCE, .PHONY and clean targets
2533    - Cleanup MSS SRAM if used for copy
2534    - Move definition of mrvl_flash target to common marvell_common.mk file
2535    - Show informative build messages and blank lines
2536  - Marvell ARMADA A3K
2537    - Added a new target mrvl_uart which builds UART image
2538    - Added checks that WTP, MV_DDR_PATH and CRYPTOPP_PATH are correctly defined
2539    - Allow use of the system Crypto++ library
2540    - Build \$(WTMI_ENC_IMG) in \$(BUILD_PLAT) directory
2541    - Build intermediate files in \$(BUILD_PLAT) directory
2542    - Build UART image files directly in \$(BUILD_UART) subdirectory
2543    - Correctly set DDR_TOPOLOGY and CLOCKSPRESET for WTMI
2544    - Do not use 'echo -e' in Makefile
2545    - Improve 4GB DRAM usage from 3.375 GB to 3.75 GB
2546    - Remove unused variable WTMI_SYSINIT_IMG from Makefile
2547    - Simplify check if WTP variable is defined
2548    - Split building \$(WTMI_MULTI_IMG) and \$(TIMDDRTOOL)
2549  - Marvell ARMADA A8K
2550    - Allow CP1/CP2 mapping at BLE stage
2551  - Mediatek MT8183
2552    - Added timer V20 compensation
2553  - Nvidia Tegra
2554    - Rename SMC API
2555  - TI K3
2556    - Make plat_get_syscnt_freq2 helper check CNT_FID0 register
2557    - Fill non-message data fields in sec_proxy with 0x0
2558    - Update ti_sci_msg_req_reboot ABI to include domain
2559    - Enable USE_COHERENT_MEM only for the generic board
2560    - Explicitly map SEC_SRAM_BASE to 0x0
2561    - Use BL31_SIZE instead of computing
2562    - Define the correct number of max table entries and increase SRAM size to
2563      account for additional table
2564  - Raspberry Pi4
2565    - Switch to gicv2.mk and GICV2_SOURCES
2566  - Renesas
2567    - Move headers and assembly files to common folder
2568  - Renesas rzg
2569    - Added device tree memory node enhancements
2570  - Rockchip
2571    - Switch to using common gicv3.mk
2572  - STM32MP1
2573    - Set BL sizes regardless of flags
2574  - QEMU
2575    - Include gicv2.mk for compiling GICv2 source files
2576    - Change DEVICE2 definition for MMU
2577    - Added helper to calculate the position shift from MPIDR
2578  - QEMU SBSA
2579    - Include libraries for Cortex-A72
2580    - Increase SHARED_RAM_SIZE
2581    - Addes support in spm_mm for upto 512 cores
2582    - Added support for topology handling
2583  - QTI
2584    - Mandate SMC implementation
2585  - Xilinx
2586    - Rename the IPI CRC checksum macro
2587    - Use fno-jump-tables flag in CPPFLAGS
2588  - Xilinx versal
2589    - Added the IPI CRC checksum macro support
2590    - Mark IPI calls secure/non-secure
2591    - Enable sgi to communicate with linux using IPI
2592    - Remove Cortex-A53 compilation
2593  - Xilinx ZynqMP
2594    - Configure counter frequency during initialization
2595    - Filter errors related to clock gate permissions
2596    - Implement pinctrl request/release EEMI API
2597    - Reimplement pinctrl get/set config parameter EEMI API calls
2598    - Reimplement pinctrl set/get function EEMI API
2599    - Update error codes to match Linux and PMU Firmware
2600    - Update PM version and support PM version check
2601    - Update return type in query functions
2602    - Added missing ids for 43/46/47dr devices
2603    - Checked for DLL status before doing reset
2604    - Disable ITAPDLYENA bit for zero ITAP delay
2605    - Include GICv2 makefile
2606    - Remove the custom crash implementation
2607
2608- Services
2609
2610  - SPMD
2611    - Lock the g_spmd_pm structure
2612    - Declare third cactus instance as UP SP
2613    - Provide number of vCPUs and VM size for first SP
2614    - Remove `chosen` node from SPMC manifests
2615    - Move OP-TEE SP manifest DTS to FVP platform
2616    - Update OP-TEE SP manifest with device-regions node
2617    - Remove device-memory node from SPMC manifests
2618  - SPM_MM
2619    - Use sp_boot_info to set SP context
2620  - SDEI
2621    - Updata the affinity of shared event
2622
2623- Tools
2624
2625  - FIPtool
2626    - Do not print duplicate verbose lines about building fiptool
2627  - CertCreate
2628    - Updated tool for platform defined certs, keys & extensions
2629    - Create only requested certificates
2630    - Avoid duplicates in extension stack
2631
2632### Resolved Issues
2633
2634- Several fixes for typos and mis-spellings in documentation
2635
2636- Build system
2637
2638  - Fixed \$\{FIP_NAME} to be rebuilt only when needed in Makefile
2639  - Do not mark file targets as .PHONY target in Makefile
2640
2641- Drivers
2642
2643  - Authorization
2644    - Avoid NV counter upgrade without certificate validation
2645  - Arm GICv3
2646    - Fixed logical issue for num_eints
2647    - Limit SPI ID to avoid misjudgement in GICD_OFFSET()
2648    - Fixed potential GICD context override with ESPI enabled
2649  - Marvell A3700
2650    - Fixed configuring polarity invert bits
2651  - Arm TZC-400
2652    - Correct FAIL_CONTROL Privileged bit
2653    - Fixed logical error in FILTER_BIT definitions
2654  - Renesas rcar
2655    - Fixed several coding style violations reported by checkpatch
2656
2657- Libraries
2658
2659  - Arch helpers
2660    - Fixed assertions in processing dynamic relocations for AArch64 builds
2661  - C standard library
2662    - Fixed MISRA issues in memset() ABI
2663  - RAS
2664    - Fixed bug of binary search in RAS interrupt handler
2665
2666- Platforms
2667
2668  - Arm
2669    - Fixed missing copyrights in arm-gic.h file
2670    - Fixed the order of header files in several dts files
2671    - Fixed error message printing in board makefile
2672    - Fixed bug of overriding the last node in image load helper API
2673    - Fixed stdout-path in fdts files of TC0 and N1SDP platforms
2674    - Turn ON/OFF redistributor in sync with GIC CPU interface ON/OFF for css
2675      platforms
2676  - Arm FVP
2677    - Fixed Generic Timer interrupt types in platform dts files
2678  - Arm Juno
2679    - Fixed parallel build issue for romlib config
2680  - Arm SGI
2681    - Fixed bug in SDEI receive event of RAS handler
2682  - Intel Agilex
2683    - Fixed PLAT_MAX_PWR_LVL value
2684  - Marvell
2685    - Fixed SPD handling in dram port
2686  - Marvell ARMADA
2687    - Fixed TRNG return SMC handling
2688    - Fixed the logic used for LD selector mask
2689    - Fixed MSS firmware loader for A8K family
2690  - ST
2691    - Fixed few violations reported by coverity static checks
2692  - STM32MP1
2693    - Fixed SELFREF_TO_X32 mask in ddr driver
2694    - Do not keep mmc_device_info in stack
2695    - Correct plat_crash_console_flush()
2696  - QEMU SBSA
2697    - Fixed memory type of secure NOR flash
2698  - QTI
2699    - Fixed NUM_APID and REG_APID_MAP() argument in SPMI driver
2700  - Intel
2701    - Do not keep mmc_device_info in stack
2702  - Hisilicon
2703    - Do not keep mmc_device_info in stack
2704
2705- Services
2706
2707  - EL3 runtime
2708    - Fixed the EL2 context save/restore routine by removing EL2 generic timer
2709      system registers
2710    - Added fix for exception handler in BL31 by synchronizing pending EA using
2711      DSB barrier
2712  - SPMD
2713    - Fixed error codes to use int32_t type
2714  - TSPD
2715    - Added bug fix in tspd interrupt handling when TSP_NS_INTR_ASYNC_PREEMPT is
2716      enabled
2717  - TRNG
2718    - Fixed compilation errors with -O0 compile option
2719  - DebugFS
2720    - Checked channel index before calling clone function
2721  - PSCI
2722    - Fixed limit of 256 CPUs caused by cast to unsigned char
2723  - TSP
2724    - Fixed compilation erros when built with GCC 11.0.0 toolchain
2725
2726- Tools
2727
2728  - FIPtool
2729    - Do not call `make clean` for `all` target
2730  - CertCreate
2731    - Fixed bug to avoid cleaning when building the binary
2732    - Used preallocated parts of the HASH struct to avoid leaking HASH struct
2733      fields
2734    - Free arguments copied with strdup
2735    - Free keys after use
2736    - Free X509_EXTENSION structures on stack to avoid leaking them
2737    - Optimized the code to avoid unnecessary attempts to create non-requested
2738      certificates
2739
2740## [2.4.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.3..refs/tags/v2.4) (2020-11-17)
2741
2742### New Features
2743
2744- Architecture support
2745  - Armv8.6-A
2746    - Added support for Armv8.6 Enhanced Counter Virtualization (ECV)
2747    - Added support for Armv8.6 Fine Grained Traps (FGT)
2748    - Added support for Armv8.6 WFE trap delays
2749- Bootloader images
2750  - Added support for Measured Boot
2751- Build System
2752  - Added build option `COT_DESC_IN_DTB` to create Chain of Trust at runtime
2753  - Added build option `OPENSSL_DIR` to direct tools to OpenSSL libraries
2754  - Added build option `RAS_TRAP_LOWER_EL_ERR_ACCESS` to enable trapping RAS
2755    register accesses from EL1/EL2 to EL3
2756  - Extended build option `BRANCH_PROTECTION` to support branch target
2757    identification
2758- Common components
2759  - Added support for exporting CPU nodes to the device tree
2760  - Added support for single and dual-root Chains of Trust in secure partitions
2761- Drivers
2762  - Added Broadcom RNG driver
2763  - Added Marvell `mg_conf_cm3` driver
2764  - Added System Control and Management Interface (SCMI) driver
2765  - Added STMicroelectronics ETZPC driver
2766  - Arm GICv3
2767    - Added support for detecting topology at runtime
2768  - Dual Root
2769    - Added support for platform certificates
2770  - Marvell Cache LLC
2771    - Added support for mapping the entire LLC into SRAM
2772  - Marvell CCU
2773    - Added workaround for erratum 3033912
2774  - Marvell CP110 COMPHY
2775    - Added support for SATA COMPHY polarity inversion
2776    - Added support for USB COMPHY polarity inversion
2777    - Added workaround for erratum IPCE_COMPHY-1353
2778  - STM32MP1 Clocks
2779    - Added `RTC` as a gateable clock
2780    - Added support for shifted clock selector bit masks
2781    - Added support for using additional clocks as parents
2782- Libraries
2783  - C standard library
2784    - Added support for hexadecimal and pointer format specifiers in `snprint()`
2785    - Added assembly alternatives for various library functions
2786  - CPU support
2787    - Arm Cortex-A53
2788      - Added workaround for erratum 1530924
2789    - Arm Cortex-A55
2790      - Added workaround for erratum 1530923
2791    - Arm Cortex-A57
2792      - Added workaround for erratum 1319537
2793    - Arm Cortex-A76
2794      - Added workaround for erratum 1165522
2795      - Added workaround for erratum 1791580
2796      - Added workaround for erratum 1868343
2797    - Arm Cortex-A72
2798      - Added workaround for erratum 1319367
2799    - Arm Cortex-A77
2800      - Added workaround for erratum 1508412
2801      - Added workaround for erratum 1800714
2802      - Added workaround for erratum 1925769
2803    - Arm Neoverse-N1
2804      - Added workaround for erratum 1868343
2805  - EL3 Runtime
2806    - Added support for saving/restoring registers related to nested
2807      virtualization in EL2 context switches if the architecture supports it
2808  - FCONF
2809    - Added support for Measured Boot
2810    - Added support for populating Chain of Trust properties
2811    - Added support for loading the `fw_config` image
2812  - Measured Boot
2813    - Added support for event logging
2814- Platforms
2815  - Added support for Arm Morello
2816  - Added support for Arm TC0
2817  - Added support for iEi PUZZLE-M801
2818  - Added support for Marvell OCTEON TX2 T9130
2819  - Added support for MediaTek MT8192
2820  - Added support for NXP i.MX 8M Nano
2821  - Added support for NXP i.MX 8M Plus
2822  - Added support for QTI CHIP SC7180
2823  - Added support for STM32MP151F
2824  - Added support for STM32MP153F
2825  - Added support for STM32MP157F
2826  - Added support for STM32MP151D
2827  - Added support for STM32MP153D
2828  - Added support for STM32MP157D
2829  - Arm
2830    - Added support for platform-owned SPs
2831    - Added support for resetting to BL31
2832  - Arm FPGA
2833    - Added support for Klein
2834    - Added support for Matterhorn
2835    - Added support for additional CPU clusters
2836  - Arm FVP
2837    - Added support for performing SDEI platform setup at runtime
2838    - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
2839    - Added an `id` field under the NV-counter node in the device tree to
2840      differentiate between trusted and non-trusted NV-counters
2841    - Added support for extracting the clock frequency from the timer node in
2842      the device tree
2843  - Arm Juno
2844    - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
2845  - Arm N1SDP
2846    - Added support for cross-chip PCI-e
2847  - Marvell
2848    - Added support for AVS reduction
2849  - Marvell ARMADA
2850    - Added support for twin-die combined memory device
2851  - Marvell ARMADA A8K
2852    - Added support for DDR with 32-bit bus width (both ECC and non-ECC)
2853  - Marvell AP806
2854    - Added workaround for erratum FE-4265711
2855  - Marvell AP807
2856    - Added workaround for erratum 3033912
2857  - Nvidia Tegra
2858    - Added debug printouts indicating SC7 entry sequence completion
2859    - Added support for SDEI
2860    - Added support for stack protection
2861    - Added support for GICv3
2862    - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
2863  - Nvidia Tegra194
2864    - Added support for RAS exception handling
2865    - Added support for SPM
2866  - NXP i.MX
2867    - Added support for SDEI
2868  - QEMU SBSA
2869    - Added support for the Secure Partition Manager
2870  - QTI
2871    - Added RNG driver
2872    - Added SPMI PMIC arbitrator driver
2873    - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
2874  - STM32MP1
2875    - Added support for exposing peripheral interfaces to the non-secure world
2876      at runtime
2877    - Added support for SCMI clock and reset services
2878    - Added support for STM32MP15x CPU revision Z
2879    - Added support for SMCCC services in `SP_MIN`
2880- Services
2881  - Secure Payload Dispatcher
2882    - Added a provision to allow clients to retrieve the service UUID
2883  - SPMC
2884    - Added secondary core endpoint information to the SPMC context structure
2885  - SPMD
2886    - Added support for booting OP-TEE as a guest S-EL1 Secure Partition on top
2887      of Hafnium in S-EL2
2888    - Added a provision for handling SPMC messages to register secondary core
2889      entry points
2890    - Added support for power management operations
2891- Tools
2892  - CertCreate
2893    - Added support for secure partitions
2894  - CertTool
2895    - Added support for the `fw_config` image
2896  - FIPTool
2897    - Added support for the `fw_config` image
2898
2899### Changed
2900
2901- Architecture support
2902- Bootloader images
2903- Build System
2904  - The top-level Makefile now supports building FipTool on Windows
2905  - The default value of `KEY_SIZE` has been changed to to 2048 when RSA is in
2906    use
2907  - The previously-deprecated macro `__ASSEMBLY__` has now been removed
2908- Common components
2909  - Certain functions that flush the console will no longer return error
2910    information
2911- Drivers
2912  - Arm GIC
2913    - Usage of `drivers/arm/gic/common/gic_common.c` has now been deprecated in
2914      favour of `drivers/arm/gic/vX/gicvX.mk`
2915    - Added support for detecting the presence of a GIC600-AE
2916    - Added support for detecting the presence of a GIC-Clayton
2917  - Marvell MCI
2918    - Now performs link tuning for all MCI interfaces to improve performance
2919  - Marvell MoChi
2920    - PIDI masters are no longer forced into a non-secure access level when
2921      `LLC_SRAM` is enabled
2922    - The SD/MMC controllers are now accessible from guest virtual machines
2923  - Mbed TLS
2924    - Migrated to Mbed TLS v2.24.0
2925  - STM32 FMC2 NAND
2926    - Adjusted FMC node bindings to include an EBI controller node
2927  - STM32 Reset
2928    - Added an optional timeout argument to assertion functions
2929  - STM32MP1 Clocks
2930    - Enabled several additional system clocks during initialization
2931- Libraries
2932  - C Standard Library
2933    - Improved `memset` performance by avoiding single-byte writes
2934    - Added optimized assembly variants of `memset`
2935  - CPU support
2936    - Renamed Cortex-Hercules to Cortex-A78
2937    - Renamed Cortex-Hercules AE to Cortex-A78 AE
2938    - Renamed Neoverse Zeus to Neoverse V1
2939  - Coreboot
2940    - Updated ‘coreboot_get_memory_type’ API to take an extra argument as a
2941      ’memory size’ that used to return a valid memory type.
2942  - libfdt
2943    - Updated to latest upstream version
2944- Platforms
2945  - Allwinner
2946    - Disabled non-secure access to PRCM power control registers
2947  - Arm
2948    - `BL32_BASE` is now platform-dependent when `SPD_spmd` is enabled
2949    - Added support for loading the Chain of Trust from the device tree
2950    - The firmware update check is now executed only once
2951    - NV-counter base addresses are now loaded from the device tree when
2952      `COT_DESC_IN_DTB` is enabled
2953    - Now loads and populates `fw_config` and `tb_fw_config`
2954    - FCONF population now occurs after caches have been enabled in order to
2955      reduce boot times
2956  - Arm Corstone-700
2957    - Platform support has been split into both an FVP and an FPGA variant
2958  - Arm FPGA
2959    - DTB and BL33 load addresses have been given sensible default values
2960    - Now reads generic timer counter frequency, GICD and GICR base addresses,
2961      and UART address from DT
2962    - Now treats the primary PL011 UART as an SBSA Generic UART
2963  - Arm FVP
2964    - Secure interrupt descriptions, UART parameters, clock frequencies and
2965      GICv3 parameters are now queried through FCONF
2966    - UART parameters are now queried through the device tree
2967    - Added an owner field to Cactus secure partitions
2968    - Increased the maximum size of BL2 when the Chain of Trust is loaded from
2969      the device tree
2970    - Reduces the maximum size of BL31
2971    - The `FVP_USE_SP804_TIMER` and `FVP_VE_USE_SP804_TIMER` build options have
2972      been removed in favour of a common `USE_SP804_TIMER` option
2973    - Added a third Cactus partition to manifests
2974    - Device tree nodes now store UUIDs in big-endian
2975  - Arm Juno
2976    - Increased the maximum size of BL2 when optimizations have not been applied
2977    - Reduced the maximum size of BL31 and BL32
2978  - Marvell AP807
2979    - Enabled snoop filters
2980  - Marvell ARMADA A3K
2981    - UART recovery images are now suffixed with `.bin`
2982  - Marvell ARMADA A8K
2983    - Option `BL31_CACHE_DISABLE` is now disabled (`0`) by default
2984  - Nvidia Tegra
2985    - Added VPR resize supported check when processing video memory resize
2986      requests
2987    - Added SMMU verification to prevent potential issues caused by undetected
2988      corruption of the SMMU configuration during boot
2989    - The GIC CPU interface is now properly disabled after CPU off
2990    - The GICv2 sources list and the `BL31_SIZE` definition have been made
2991      platform-specific
2992    - The SPE driver will no longer flush the console when writing individual
2993      characters
2994  - Nvidia Tegra194
2995    - TZDRAM setup has been moved to platform-specific early boot handlers
2996    - Increased verbosity of debug prints for RAS SErrors
2997    - Support for powering down CPUs during CPU suspend has been removed
2998    - Now verifies firewall settings before using resources
2999  - TI K3
3000    - The UART number has been made configurable through `K3_USART`
3001  - Rockchip RK3368
3002    - The maximum number of memory map regions has been increased to 20
3003  - Socionext Uniphier
3004    - The maximum size of BL33 has been increased to support larger bootloaders
3005  - STM32
3006    - Removed platform-specific DT functions in favour of using existing generic
3007      alternatives
3008  - STM32MP1
3009    - Increased verbosity of exception reports in debug builds
3010    - Device trees have been updated to align with the Linux kernel
3011    - Now uses the ETZPC driver to configure secure-aware interfaces for
3012      assignment to the non-secure world
3013    - Finished good variants have been added to the board identifier
3014      enumerations
3015    - Non-secure access to clocks and reset domains now depends on their state
3016      of registration
3017    - NEON is now disabled in `SP_MIN`
3018    - The last page of `SYSRAM` is now used as SCMI shared memory
3019    - Checks to verify platform compatibility have been added to verify that an
3020      image is compatible with the chip ID of the running platform
3021  - QEMU SBSA
3022    - Removed support for Arm's Cortex-A53
3023- Services
3024  - Renamed SPCI to FF-A
3025  - SPMD
3026    - No longer forwards requests to the non-secure world when retrieving
3027      partition information
3028    - SPMC manifest size is now retrieved directly from SPMD instead of the
3029      device tree
3030    - The FF-A version handler now returns SPMD's version when the origin of the
3031      call is secure, and SPMC's version when the origin of the call is
3032      non-secure
3033  - SPMC
3034    - Updated the manifest to declare CPU nodes in descending order as per the
3035      SPM (Hafnium) multicore requirement
3036    - Updated the device tree to mark 2GB as device memory for the first
3037      partition excluding trusted DRAM region (which is reserved for SPMC)
3038    - Increased the number of EC contexts to the maximum number of PEs as per
3039      the FF-A specification
3040- Tools
3041  - FIPTool
3042    - Now returns `0` on `help` and `help <command>`
3043  - Marvell DoImage
3044    - Updated Mbed TLS support to v2.8
3045  - SPTool
3046    - Now appends CertTool arguments
3047
3048### Resolved Issues
3049
3050- Bootloader images
3051  - Fixed compilation errors for dual-root Chains of Trust caused by symbol
3052    collision
3053  - BL31
3054    - Fixed compilation errors on platforms with fewer than 4 cores caused by
3055      initialization code exceeding the end of the stacks
3056    - Fixed compilation errors when building a position-independent image
3057- Build System
3058  - Fixed invalid empty version strings
3059  - Fixed compilation errors on Windows caused by a non-portable architecture
3060    revision comparison
3061- Drivers
3062  - Arm GIC
3063    - Fixed spurious interrupts caused by a missing barrier
3064  - STM32 Flexible Memory Controller 2 (FMC2) NAND driver
3065    - Fixed runtime instability caused by incorrect error detection logic
3066  - STM32MP1 Clock driver
3067    - Fixed incorrectly-formatted log messages
3068    - Fixed runtime instability caused by improper clock gating procedures
3069  - STMicroelectronics Raw NAND driver
3070    - Fixed runtime instability caused by incorrect unit conversion when waiting
3071      for NAND readiness
3072- Libraries
3073  - AMU
3074    - Fixed timeout errors caused by excess error logging
3075  - EL3 Runtime
3076    - Fixed runtime instability caused by improper register save/restore routine
3077      in EL2
3078  - FCONF
3079    - Fixed failure to initialize GICv3 caused by overly-strict device tree
3080      requirements
3081  - Measured Boot
3082    - Fixed driver errors caused by a missing default value for the `HASH_ALG`
3083      build option
3084  - SPE
3085    - Fixed feature detection check that prevented CPUs supporting SVE from
3086      detecting support for SPE in the non-secure world
3087  - Translation Tables
3088    - Fixed various MISRA-C 2012 static analysis violations
3089- Platforms
3090  - Allwinner A64
3091    - Fixed USB issues on certain battery-powered device caused by improperly
3092      activated USB power rail
3093  - Arm
3094    - Fixed compilation errors caused by increase in BL2 size
3095    - Fixed compilation errors caused by missing Makefile dependencies to
3096      generated files when building the FIP
3097    - Fixed MISRA-C 2012 static analysis violations caused by unused structures
3098      in include directives intended to be feature-gated
3099  - Arm FPGA
3100    - Fixed initialization issues caused by incorrect MPIDR topology mapping
3101      logic
3102  - Arm RD-N1-edge
3103    - Fixed compilation errors caused by mismatched parentheses in Makefile
3104  - Arm SGI
3105    - Fixed crashes due to the flash memory used for cold reboot attack
3106      protection not being mapped
3107  - Intel Agilex
3108    - Fixed initialization issues caused by several compounding bugs
3109  - Marvell
3110    - Fixed compilation warnings caused by multiple Makefile inclusions
3111  - Marvell ARMADA A3K
3112    - Fixed boot issue in debug builds caused by checks on the BL33 load address
3113      that are not appropriate for this platform
3114  - Nvidia Tegra
3115    - Fixed incorrect delay timer reads
3116    - Fixed spurious interrupts in the non-secure world during cold boot caused
3117      by the arbitration bit in the memory controller not being cleared
3118    - Fixed faulty video memory resize sequence
3119  - Nvidia Tegra194
3120    - Fixed incorrect alignment of TZDRAM base address
3121  - NXP iMX8M
3122    - Fixed CPU hot-plug issues caused by race condition
3123  - STM32MP1
3124    - Fixed compilation errors in highly-parallel builds caused by incorrect
3125      Makefile dependencies
3126  - STM32MP157C-ED1
3127    - Fixed initialization issues caused by missing device tree hash node
3128  - Raspberry Pi 3
3129    - Fixed compilation errors caused by incorrect dependency ordering in
3130      Makefile
3131  - Rockchip
3132    - Fixed initialization issues caused by non-critical errors when parsing FDT
3133      being treated as critical
3134  - Rockchip RK3368
3135    - Fixed runtime instability caused by incorrect CPUID shift value
3136  - QEMU
3137    - Fixed compilation errors caused by incorrect dependency ordering in
3138      Makefile
3139  - QEMU SBSA
3140    - Fixed initialization issues caused by FDT exceeding reserved memory size
3141  - QTI
3142    - Fixed compilation errors caused by inclusion of a non-existent file
3143- Services
3144  - FF-A (previously SPCI)
3145    - Fixed SPMD aborts caused by incorrect behaviour when the manifest is
3146      page-aligned
3147- Tools
3148  - Fixed compilation issues when compiling tools from within their respective
3149    directories
3150  - FIPTool
3151    - Fixed command line parsing issues on Windows when using arguments whose
3152      names also happen to be a subset of another's
3153  - Marvell DoImage
3154    - Fixed PKCS signature verification errors at boot on some platforms caused
3155      by generation of misaligned images
3156
3157### Known Issues
3158
3159- Platforms
3160  - NVIDIA Tegra
3161    - Signed comparison compiler warnings occurring in libfdt are currently
3162      being worked around by disabling the warning for the platform until the
3163      underlying issue is resolved in libfdt
3164
3165## [2.3.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.2..refs/tags/v2.3) (2020-04-20)
3166
3167### New Features
3168
3169- Arm Architecture
3170  - Add support for Armv8.4-SecEL2 extension through the SPCI defined SPMD/SPMC
3171    components.
3172  - Build option to support EL2 context save and restore in the secure world
3173    (CTX_INCLUDE_EL2_REGS).
3174  - Add support for SMCCC v1.2 (introducing the new SMCCC_ARCH_SOC_ID SMC). Note
3175    that the support is compliant, but the SVE registers save/restore will be
3176    done as part of future S-EL2/SPM development.
3177- BL-specific
3178  - Enhanced BL2 bootloader flow to load secure partitions based on firmware
3179    configuration data (fconf).
3180  - Changes necessary to support SEPARATE_NOBITS_REGION feature
3181  - TSP and BL2_AT_EL3: Add Position Independent Execution `PIE` support
3182- Build System
3183  - Add support for documentation build as a target in Makefile
3184  - Add `COT` build option to select the Chain of Trust to use when the Trusted
3185    Boot feature is enabled (default: `tbbr`).
3186  - Added creation and injection of secure partition packages into the FIP.
3187  - Build option to support SPMC component loading and run at S-EL1 or S-EL2
3188    (SPMD_SPM_AT_SEL2).
3189  - Enable MTE support
3190  - Enable Link Time Optimization in GCC
3191  - Enable -Wredundant-decls warning check
3192  - Makefile: Add support to optionally encrypt BL31 and BL32
3193  - Add support to pass the nt_fw_config DTB to OP-TEE.
3194  - Introduce per-BL `CPPFLAGS`, `ASFLAGS`, and `LDFLAGS`
3195  - build_macros: Add CREATE_SEQ function to generate sequence of numbers
3196- CPU Support
3197  - cortex-a57: Enable higher performance non-cacheable load forwarding
3198  - Hercules: Workaround for Errata 1688305
3199  - Klein: Support added for Klein CPU
3200  - Matterhorn: Support added for Matterhorn CPU
3201- Drivers
3202  - auth: Add `calc_hash` function for hash calculation. Used for authentication
3203    of images when measured boot is enabled.
3204  - cryptocell: Add authenticated decryption framework, and support for
3205    CryptoCell-713 and CryptoCell-712 RSA 3K
3206  - gic600: Add support for multichip configuration and Clayton
3207  - gicv3: Introduce makefile, Add extended PPI and SPI range, Add support for
3208    probing multiple GIC Redistributor frames
3209  - gicv4: Add GICv4 extension for GIC driver
3210  - io: Add an IO abstraction layer to load encrypted firmwares
3211  - mhu: Derive doorbell base address
3212  - mtd: Add SPI-NOR, SPI-NAND, SPI-MEM, and raw NAND framework
3213  - scmi: Allow use of multiple SCMI channels
3214  - scu: Add a driver for snoop control unit
3215- Libraries
3216  - coreboot: Add memory range parsing and use generic base address
3217  - compiler_rt: Import popcountdi2.c and popcountsi2.c files, aeabi_ldivmode.S
3218    file and dependencies
3219  - debugFS: Add DebugFS functionality
3220  - el3_runtime: Add support for enabling S-EL2
3221  - fconf: Add Firmware Configuration Framework (fconf) (experimental).
3222  - libc: Add memrchr function
3223  - locks: bakery: Use is_dcache_enabled() helper and add a DMB to the
3224    'read_cache_op' macro
3225  - psci: Add support to enable different personality of the same soc.
3226  - xlat_tables_v2: Add support to pass shareability attribute for normal memory
3227    region, use get_current_el_maybe_constant() in is_dcache_enabled(),
3228    read-only xlat tables for BL31 memory, and add enable_mmu()
3229- New Platforms Support
3230  - arm/arm_fpga: New platform support added for FPGA
3231  - arm/rddaniel: New platform support added for rd-daniel platform
3232  - brcm/stingray: New platform support added for Broadcom stingray platform
3233  - nvidia/tegra194: New platform support for Nvidia Tegra194 platform
3234- Platforms
3235  - allwinner: Implement PSCI system suspend using SCPI, add a msgbox driver for
3236    use with SCPI, and reserve and map space for the SCP firmware
3237  - allwinner: axp: Add AXP805 support
3238  - allwinner: power: Add DLDO4 power rail
3239  - amlogic: axg: Add a build flag when using ATOS as BL32 and support for the
3240    A113D (AXG) platform
3241  - arm/a5ds: Add ethernet node and L2 cache node in devicetree
3242  - arm/common: Add support for the new `dualroot` chain of trust
3243  - arm/common: Add support for SEPARATE_NOBITS_REGION
3244  - arm/common: Re-enable PIE when RESET_TO_BL31=1
3245  - arm/common: Allow boards to specify second DRAM Base address and to define
3246    PLAT_ARM_TZC_FILTERS
3247  - arm/corstone700: Add support for mhuv2 and stack protector
3248  - arm/fvp: Add support for fconf in BL31 and SP_MIN. Populate power domain
3249    descriptor dynamically by leveraging fconf APIs.
3250  - arm/fvp: Add Cactus/Ivy Secure Partition information and use two instances
3251    of Cactus at S-EL1
3252  - arm/fvp: Add support to run BL32 in TDRAM and BL31 in secure DRAM
3253  - arm/fvp: Add support for GICv4 extension and BL2 hash calculation in BL1
3254  - arm/n1sdp: Setup multichip gic routing table, update platform macros for
3255    dual-chip setup, introduce platform information SDS region, add support to
3256    update presence of External LLC, and enable the NEOVERSE_N1_EXTERNAL_LLC
3257    flag
3258  - arm/rdn1edge: Add support for dual-chip configuration and use CREATE_SEQ
3259    helper macro to compare chip count
3260  - arm/sgm: Always use SCMI for SGM platforms
3261  - arm/sgm775: Add support for dynamic config using fconf
3262  - arm/sgi: Add multi-chip mode parameter in HW_CONFIG dts, macros for remote
3263    chip device region, chip_id and multi_chip_mode to platform variant info,
3264    and introduce number of chips macro
3265  - brcm: Add BL2 and BL31 support common across Broadcom platforms
3266  - brcm: Add iproc SPI Nor flash support, spi driver, emmc driver, and support
3267    to retrieve plat_toc_flags
3268  - hisilicon: hikey960: Enable system power off callback
3269  - intel: Enable bridge access, SiP SMC secure register access, and uboot
3270    entrypoint support
3271  - intel: Implement platform specific system reset 2
3272  - intel: Introduce mailbox response length handling
3273  - imx: console: Use CONSOLE_T_BASE for UART base address and generic console_t
3274    data structure
3275  - imx8mm: Provide uart base as build option and add the support for opteed spd
3276    on imx8mq/imx8mm
3277  - imx8qx: Provide debug uart num as build
3278  - imx8qm: Apply clk/pinmux configuration for DEBUG_CONSOLE and provide debug
3279    uart num as build param
3280  - marvell: a8k: Implement platform specific power off and add support for
3281    loading MG CM3 images
3282  - mediatek: mt8183: Add Vmodem/Vcore DVS init level
3283  - qemu: Support optional encryption of BL31 and BL32 images and
3284    ARM_LINUX_KERNEL_AS_BL33 to pass FDT address
3285  - qemu: Define ARMV7_SUPPORTS_VFP
3286  - qemu: Implement PSCI_CPU_OFF and qemu_system_off via semihosting
3287  - renesas: rcar_gen3: Add new board revision for M3ULCB
3288  - rockchip: Enable workaround for erratum 855873, claim a macro to enable hdcp
3289    feature for DP, enable power domains of rk3399 before reset, add support for
3290    UART3 as serial output, and initialize reset and poweroff GPIOs with known
3291    invalid value
3292  - rpi: Implement PSCI CPU_OFF, use MMIO accessor, autodetect Mini-UART vs.
3293    PL011 configuration, and allow using PL011 UART for RPi3/RPi4
3294  - rpi3: Include GPIO driver in all BL stages and use same "clock-less" setup
3295    scheme as RPi4
3296  - rpi3/4: Add support for offlining CPUs
3297  - st: stm32mp1: platform.mk: Support generating multiple images in one build,
3298    migrate to implicit rules, derive map file name from target name, generate
3299    linker script with fixed name, and use PHONY for the appropriate targets
3300  - st: stm32mp1: Add support for SPI-NOR, raw NAND, and SPI-NAND boot device,
3301    QSPI, FMC2 driver
3302  - st: stm32mp1: Use stm32mp_get_ddr_ns_size() function, set XN attribute for
3303    some areas in BL2, dynamically map DDR later and non-cacheable during its
3304    test, add a function to get non-secure DDR size, add DT helper for reg by
3305    name, and add compilation flags for boot devices
3306  - socionext: uniphier: Turn on ENABLE_PIE
3307  - ti: k3: Add PIE support
3308  - xilinx: versal: Add set wakeup source, client wakeup, query data, request
3309    wakeup, PM_INIT_FINALIZE, PM_GET_TRUSTZONE_VERSION, PM IOCTL, support for
3310    suspend related, and Get_ChipID APIs
3311  - xilinx: versal: Implement power down/restart related EEMI, SMC handler for
3312    EEMI, PLL related PM, clock related PM, pin control related PM, reset
3313    related PM, device related PM , APIs
3314  - xilinx: versal: Enable ipi mailbox service
3315  - xilinx: versal: Add get_api_version support and support to send PM API to
3316    PMC using IPI
3317  - xilinx: zynqmp: Add checksum support for IPI data, GET_CALLBACK_DATA
3318    function, support to query max divisor, CLK_SET_RATE_PARENT in gem clock
3319    node, support for custom type flags, LPD WDT clock to the pm_clock
3320    structure, idcodes for new RFSoC silicons ZU48DR and ZU49DR, and id for new
3321    RFSoC device ZU39DR
3322- Security
3323  - Use Speculation Barrier instruction for v8.5+ cores
3324  - Add support for optional firmware encryption feature (experimental).
3325  - Introduce a new `dualroot` chain of trust.
3326  - aarch64: Prevent speculative execution past ERET
3327  - aarch32: Stop speculative execution past exception returns.
3328- SPCI
3329  - Introduced the Secure Partition Manager Dispatcher (SPMD) component as a new
3330    standard service.
3331- Tools
3332  - cert_create: Introduce CoT build option and TBBR CoT makefile, and define
3333    the dualroot CoT
3334  - encrypt_fw: Add firmware authenticated encryption tool
3335  - memory: Add show_memory script that prints a representation of the memory
3336    layout for the latest build
3337
3338### Changed
3339
3340- Arm Architecture
3341  - PIE: Make call to GDT relocation fixup generalized
3342- BL-Specific
3343  - Increase maximum size of BL2 image
3344  - BL31: Discard .dynsym .dynstr .hash sections to make ENABLE_PIE work
3345  - BL31: Split into two separate memory regions
3346  - Unify BL linker scripts and reduce code duplication.
3347- Build System
3348  - Changes to drive cert_create for dualroot CoT
3349  - Enable -Wlogical-op always
3350  - Enable -Wshadow always
3351  - Refactor the warning flags
3352  - PIE: Pass PIE options only to BL31
3353  - Reduce space lost to object alignment
3354  - Set lld as the default linker for Clang builds
3355  - Remove -Wunused-const-variable and -Wpadded warning
3356  - Remove -Wmissing-declarations warning from WARNING1 level
3357- Drivers
3358  - authentication: Necessary fix in drivers to upgrade to mbedtls-2.18.0
3359  - console: Integrate UART base address in generic console_t
3360  - gicv3: Change API for GICR_IPRIORITYR accessors and separate GICD and GICR
3361    accessor functions
3362  - io: Change seek offset to signed long long and panic in case of io setup
3363    failure
3364  - smmu: SMMUv3: Changed retry loop to delay timer
3365  - tbbr: Reduce size of hash and ECDSA key buffers when possible
3366- Library Code
3367  - libc: Consolidate the size_t, unified, and NULL definitions, and unify
3368    intmax_t and uintmax_t on AArch32/64
3369  - ROMLIB: Optimize memory layout when ROMLIB is used
3370  - xlat_tables_v2: Use ARRAY_SIZE in REGISTER_XLAT_CONTEXT_FULL_SPEC, merge
3371    REGISTER_XLAT_CONTEXT\_{FULL_SPEC,RO_BASE_TABLE}, and simplify end address
3372    checks in mmap_add_region_check()
3373- Platforms
3374  - allwinner: Adjust SRAM A2 base to include the ARISC vectors, clean up MMU
3375    setup, reenable USE_COHERENT_MEM, remove unused include path, move the
3376    NOBITS region to SRAM A1, convert AXP803 regulator setup code into a driver,
3377    enable clock before resetting I2C/RSB
3378  - allwinner: h6: power: Switch to using the AXP driver
3379  - allwinner: a64: power: Use fdt_for_each_subnode, remove obsolete register
3380    check, remove duplicate DT check, and make sunxi_turn_off_soc static
3381  - allwinner: Build PMIC bus drivers only in BL31, clean up PMIC-related error
3382    handling, and synchronize PMIC enumerations
3383  - arm/a5ds: Change boot address to point to DDR address
3384  - arm/common: Check for out-of-bound accesses in the platform io policies
3385  - arm/corstone700: Updating the kernel arguments to support initramfs, use
3386    fdts DDR memory and XIP rootfs, and set UART clocks to 32MHz
3387  - arm/fvp: Modify multithreaded dts file of DynamIQ FVPs, slightly bump the
3388    stack size for bl1 and bl2, remove re-definition of topology related build
3389    options, stop reclaiming init code with Clang builds, and map only the
3390    needed DRAM region statically in BL31/SP_MIN
3391  - arm/juno: Maximize space allocated to SCP_BL2
3392  - arm/sgi: Bump bl1 RW limit, mark remote chip shared ram as non-cacheable,
3393    move GIC related constants to board files, include AFF3 affinity in core
3394    position calculation, move bl31_platform_setup to board file, and move
3395    topology information to board folder
3396  - common: Refactor load_auth_image_internal().
3397  - hisilicon: Remove uefi-tools in hikey and hikey960 documentation
3398  - intel: Modify non secure access function, BL31 address mapping, mailbox's
3399    get_config_status, and stratix10 BL31 parameter handling
3400  - intel: Remove un-needed checks for qspi driver r/w and s10 unused source
3401    code
3402  - intel: Change all global sip function to static
3403  - intel: Refactor common platform code
3404  - intel: Create SiP service header file
3405  - marvell: armada: scp_bl2: Allow loading up to 8 images
3406  - marvell: comphy-a3700: Support SGMII COMPHY power off and fix USB3 powering
3407    on when on lane 2
3408  - marvell: Consolidate console register calls
3409  - mediatek: mt8183: Protect 4GB~8GB dram memory, refine GIC driver for low
3410    power scenarios, and switch PLL/CLKSQ/ck_off/axi_26m control to SPM
3411  - qemu: Update flash address map to keep FIP in secure FLASH0
3412  - renesas: rcar_gen3: Update IPL and Secure Monitor Rev.2.0.6, update DDR
3413    setting for H3, M3, M3N, change fixed destination address of BL31 and BL32,
3414    add missing #{address,size}-cells into generated DT, pass DT to OpTee OS,
3415    and move DDR drivers out of staging
3416  - rockchip: Make miniloader ddr_parameter handling optional, cleanup securing
3417    of ddr regions, move secure init to separate file, use base+size for secure
3418    ddr regions, bring TZRAM_SIZE values in lined, and prevent macro expansion
3419    in paths
3420  - rpi: Move plat_helpers.S to common
3421  - rpi3: gpio: Simplify GPIO setup
3422  - rpi4: Skip UART initialisation
3423  - st: stm32m1: Use generic console_t data structure, remove second QSPI flash
3424    instance, update for FMC2 pin muxing, and reduce MAX_XLAT_TABLES to 4
3425  - socionext: uniphier: Make on-chip SRAM and I/O register regions configurable
3426  - socionext: uniphier: Make PSCI related, counter control, UART, pinmon, NAND
3427    controller, and eMMC controller base addresses configurable
3428  - socionext: uniphier: Change block_addressing flag and the return value type
3429    of .is_usb_boot() to bool
3430  - socionext: uniphier: Run BL33 at EL2, call uniphier_scp_is_running() only
3431    when on-chip STM is supported, define PLAT_XLAT_TABLES_DYNAMIC only for BL2,
3432    support read-only xlat tables, use enable_mmu() in common function, shrink
3433    UNIPHIER_ROM_REGION_SIZE, prepare uniphier_soc_info() for next SoC, extend
3434    boot device detection for future SoCs, make all BL images completely
3435    position-independent, make uniphier_mmap_setup() work with PIE, pass SCP
3436    base address as a function parameter, set buffer offset and length for
3437    io_block dynamically, and use more mmap_add_dynamic_region() for loading
3438    images
3439  - spd/trusty: Disable error messages seen during boot, allow gic base to be
3440    specified with GICD_BASE, and allow getting trusty memsize from
3441    BL32_MEM_SIZE instead of TSP_SEC_MEM_SIZE
3442  - ti: k3: common: Enable ARM cluster power down and rename device IDs to be
3443    more consistent
3444  - ti: k3: drivers: ti_sci: Put sequence number in coherent memory and remove
3445    indirect structure of const data
3446  - xilinx: Move ipi mailbox svc to xilinx common
3447  - xilinx: zynqmp: Use GIC framework for warm restart
3448  - xilinx: zynqmp: pm: Move custom clock flags to typeflags, remove
3449    CLK_TOPSW_LSBUS from invalid clock list and rename FPD WDT clock ID
3450  - xilinx: versal: Increase OCM memory size for DEBUG builds and adjust cpu
3451    clock, Move versal_def.h and versal_private to include directory
3452- Tools
3453  - sptool: Updated sptool to accommodate building secure partition packages.
3454
3455### Resolved Issues
3456
3457- Arm Architecture
3458  - Fix crash dump for lower EL
3459- BL-Specific
3460  - Bug fix: Protect TSP prints with lock
3461  - Fix boot failures on some builds linked with ld.lld.
3462- Build System
3463  - Fix clang build if CC is not in the path.
3464  - Fix 'BL stage' comment for build macros
3465- Code Quality
3466  - coverity: Fix various MISRA violations including null pointer violations, C
3467    issues in BL1/BL2/BL31 and FDT helper functions, using boolean essential,
3468    type, and removing unnecessary header file and comparisons to LONG_MAX in
3469    debugfs devfip
3470  - Based on coding guidelines, replace all `unsigned long` depending on if
3471    fixed based on AArch32 or AArch64.
3472  - Unify type of "cpu_idx" and Platform specific defines across PSCI module.
3473- Drivers
3474  - auth: Necessary fix in drivers to upgrade to mbedtls-2.18.0
3475  - delay_timer: Fix non-standard frequency issue in udelay
3476  - gicv3: Fix compiler dependent behavior
3477  - gic600: Fix include ordering according to the coding style and power up
3478    sequence
3479- Library Code
3480  - el3_runtime: Fix stack pointer maintenance on EA handling path, fixup
3481    'cm_setup_context' prototype, and adds TPIDR_EL2 register to the context
3482    save restore routines
3483  - libc: Fix SIZE_MAX on AArch32
3484  - locks: T589: Fix insufficient ordering guarantees in bakery lock
3485  - pmf: Fix 'tautological-constant-compare' error, Make the runtime
3486    instrumentation work on AArch32, and Simplify PMF helper macro definitions
3487    across header files
3488  - xlat_tables_v2: Fix assembler warning of PLAT_RO_XLAT_TABLES
3489- Platforms
3490  - allwinner: Fix H6 GPIO and CCU memory map addresses and incorrect ARISC code
3491    patch offset check
3492  - arm/a5ds: Correct system freq and Cache Writeback Granule, and cleanup
3493    enable-method in devicetree
3494  - arm/fvp: Fix incorrect GIC mapping, BL31 load address and image size for
3495    RESET_TO_BL31=1, topology description of cpus for DynamIQ based FVP, and
3496    multithreaded FVP power domain tree
3497  - arm/fvp: spm-mm: Correcting instructions to build SPM for FVP
3498  - arm/common: Fix ROTPK hash generation for ECDSA encryption, BL2 bug in
3499    dynamic configuration initialisation, and current RECLAIM_INIT_CODE behavior
3500  - arm/rde1edge: Fix incorrect topology tree description
3501  - arm/sgi: Fix the incorrect check for SCMI channel ID
3502  - common: Flush dcache when storing timestamp
3503  - intel: Fix UEFI decompression issue, memory calibration, SMC SIP service,
3504    mailbox config return status, mailbox driver logic, FPGA manager on
3505    reconfiguration, and mailbox send_cmd issue
3506  - imx: Fix shift-overflow errors, the rdc memory region slot's offset,
3507    multiple definition of ipc_handle, missing inclusion of cdefs.h, and correct
3508    the SGIs that used for secure interrupt
3509  - mediatek: mt8183: Fix AARCH64 init fail on CPU0
3510  - rockchip: Fix definition of struct param_ddr_usage
3511  - rpi4: Fix documentation of armstub config entry
3512  - st: Correct io possible NULL pointer dereference and device_size type, nand
3513    xor_ecc.val assigned value, static analysis tool issues, and fix incorrect
3514    return value and correctly check pwr-regulators node
3515  - xilinx: zynqmp: Correct syscnt freq for QEMU and fix clock models and IDs of
3516    GEM-related clocks
3517
3518### Known Issues
3519
3520- Build System
3521  - dtb: DTB creation not supported when building on a Windows host.
3522
3523    This step in the build process is skipped when running on a Windows host. A
3524    known issue from the 1.6 release.
3525
3526  - Intermittent assertion firing `ASSERT: services/spd/tspd/tspd_main.c:105`
3527- Coverity
3528  - Intermittent Race condition in Coverity Jenkins Build Job
3529- Platforms
3530  - arm/juno: System suspend from Linux does not function as documented in the
3531    user guide
3532
3533    Following the instructions provided in the user guide document does not
3534    result in the platform entering system suspend state as expected. A message
3535    relating to the hdlcd driver failing to suspend will be emitted on the Linux
3536    terminal.
3537
3538  - mediatek/mt6795: This platform does not build in this release
3539
3540## [2.2.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.1..refs/tags/v2.2) (2019-10-22)
3541
3542### New Features
3543
3544- Architecture
3545  - Enable Pointer Authentication (PAuth) support for Secure World
3546
3547    - Adds support for ARMv8.3-PAuth in BL1 SMC calls and BL2U image for
3548      firmware updates.
3549
3550  - Enable Memory Tagging Extension (MTE) support in both secure and non-secure
3551    worlds
3552
3553    - Adds support for the new Memory Tagging Extension arriving in ARMv8.5. MTE
3554      support is now enabled by default on systems that support it at EL0.
3555    - To enable it at ELx for both the non-secure and the secure world, the
3556      compiler flag `CTX_INCLUDE_MTE_REGS` includes register saving and
3557      restoring when necessary in order to prevent information leakage between
3558      the worlds.
3559
3560  - Add support for Branch Target Identification (BTI)
3561- Build System
3562  - Modify FVP makefile for CPUs that support both AArch64/32
3563  - AArch32: Allow compiling with soft-float toolchain
3564  - Makefile: Add default warning flags
3565  - Add Makefile check for PAuth and AArch64
3566  - Add compile-time errors for HW_ASSISTED_COHERENCY flag
3567  - Apply compile-time check for AArch64-only CPUs
3568  - build_macros: Add mechanism to prevent bin generation.
3569  - Add support for default stack-protector flag
3570  - spd: opteed: Enable NS_TIMER_SWITCH
3571  - plat/arm: Skip BL2U if RESET_TO_SP_MIN flag is set
3572  - Add new build option to let each platform select which implementation of
3573    spinlocks it wants to use
3574- CPU Support
3575  - DSU: Workaround for erratum 798953 and 936184
3576  - Neoverse N1: Force cacheable atomic to near atomic
3577  - Neoverse N1: Workaround for erratum 1073348, 1130799, 1165347, 1207823,
3578    1220197, 1257314, 1262606, 1262888, 1275112, 1315703, 1542419
3579  - Neoverse Zeus: Apply the MSR SSBS instruction
3580  - cortex-Hercules/HerculesAE: Support added for Cortex-Hercules and
3581    Cortex-HerculesAE CPUs
3582  - cortex-Hercules/HerculesAE: Enable AMU for Cortex-Hercules and
3583    Cortex-HerculesAE
3584  - cortex-a76AE: Support added for Cortex-A76AE CPU
3585  - cortex-a76: Workaround for erratum 1257314, 1262606, 1262888, 1275112,
3586    1286807
3587  - cortex-a65/a65AE: Support added for Cortex-A65 and Cortex-A65AE CPUs
3588  - cortex-a65: Enable AMU for Cortex-A65
3589  - cortex-a55: Workaround for erratum 1221012
3590  - cortex-a35: Workaround for erratum 855472
3591  - cortex-a9: Workaround for erratum 794073
3592- Drivers
3593  - console: Allow the console to register multiple times
3594
3595  - delay: Timeout detection support
3596
3597  - gicv3: Enabled multi-socket GIC redistributor frame discovery and migrated
3598    ARM platforms to the new API
3599
3600    - Adds `gicv3_rdistif_probe` function that delegates the responsibility of
3601      discovering the corresponding redistributor base frame to each CPU itself.
3602
3603  - sbsa: Add SBSA watchdog driver
3604
3605  - st/stm32_hash: Add HASH driver
3606
3607  - ti/uart: Add an AArch32 variant
3608- Library at ROM (romlib)
3609  - Introduce BTI support in Library at ROM (romlib)
3610- New Platforms Support
3611  - amlogic: g12a: New platform support added for the S905X2 (G12A) platform
3612  - amlogic: meson/gxl: New platform support added for Amlogic Meson S905x (GXL)
3613  - arm/a5ds: New platform support added for A5 DesignStart
3614  - arm/corstone: New platform support added for Corstone-700
3615  - intel: New platform support added for Agilex
3616  - mediatek: New platform support added for MediaTek mt8183
3617  - qemu/qemu_sbsa: New platform support added for QEMU SBSA platform
3618  - renesas/rcar_gen3: plat: New platform support added for D3
3619  - rockchip: New platform support added for px30
3620  - rockchip: New platform support added for rk3288
3621  - rpi: New platform support added for Raspberry Pi 4
3622- Platforms
3623  - arm/common: Introduce wrapper functions to setup secure watchdog
3624  - arm/fvp: Add Delay Timer driver to BL1 and BL31 and option for defining
3625    platform DRAM2 base
3626  - arm/fvp: Add Linux DTS files for 32 bit threaded FVPs
3627  - arm/n1sdp: Add code for DDR ECC enablement and BL33 copy to DDR, Initialise
3628    CNTFRQ in Non Secure CNTBaseN
3629  - arm/juno: Use shared mbedtls heap between BL1 and BL2 and add basic support
3630    for dynamic config
3631  - imx: Basic support for PicoPi iMX7D, rdc module init, caam module init,
3632    aipstz init, IMX_SIP_GET_SOC_INFO, IMX_SIP_BUILDINFO added
3633  - intel: Add ncore ccu driver
3634  - mediatek/mt81\*: Use new bl31_params_parse() helper
3635  - nvidia: tegra: Add support for multi console interface
3636  - qemu/qemu_sbsa: Adding memory mapping for both FLASH0/FLASH1
3637  - qemu: Added gicv3 support, new console interface in AArch32, and
3638    sub-platforms
3639  - renesas/rcar_gen3: plat: Add R-Car V3M support, new board revision for
3640    H3ULCB, DBSC4 setting before self-refresh mode
3641  - socionext/uniphier: Support console based on multi-console
3642  - st: stm32mp1: Add OP-TEE, Avenger96, watchdog, LpDDR3, authentication
3643    support and general SYSCFG management
3644  - ti/k3: common: Add support for J721E, Use coherent memory for shared data,
3645    Trap all asynchronous bus errors to EL3
3646  - xilinx/zynqmp: Add support for multi console interface, Initialize IPI table
3647    from zynqmp_config_setup()
3648- PSCI
3649  - Adding new optional PSCI hook `pwr_domain_on_finish_late`
3650    - This PSCI hook `pwr_domain_on_finish_late` is similar to
3651      `pwr_domain_on_finish` but is guaranteed to be invoked when the respective
3652      core and cluster are participating in coherency.
3653- Security
3654  - Speculative Store Bypass Safe (SSBS): Further enhance protection against
3655    Spectre variant 4 by disabling speculative loads/stores (SPSR.SSBS bit) by
3656    default.
3657  - UBSAN support and handlers
3658    - Adds support for the Undefined Behaviour sanitizer. There are two types of
3659      support offered - minimalistic trapping support which essentially
3660      immediately crashes on undefined behaviour and full support with full
3661      debug messages.
3662- Tools
3663  - cert_create: Add support for bigger RSA key sizes (3KB and 4KB), previously
3664    the maximum size was 2KB.
3665  - fiptool: Add support to build fiptool on Windows.
3666
3667### Changed
3668
3669- Architecture
3670  - Refactor ARMv8.3 Pointer Authentication support code
3671  - backtrace: Strip PAC field when PAUTH is enabled
3672  - Prettify crash reporting output on AArch64.
3673  - Rework smc_unknown return code path in smc_handler
3674    - Leverage the existing `el3_exit()` return routine for smc_unknown return
3675      path rather than a custom set of instructions.
3676- BL-Specific
3677  - Invalidate dcache build option for BL2 entry at EL3
3678  - Add missing support for BL2_AT_EL3 in XIP memory
3679- Boot Flow
3680  - Add helper to parse BL31 parameters (both versions)
3681  - Factor out cross-BL API into export headers suitable for 3rd party code
3682  - Introduce lightweight BL platform parameter library
3683- Drivers
3684  - auth: Memory optimization for Chain of Trust (CoT) description
3685  - bsec: Move bsec_mode_is_closed_device() service to platform
3686  - cryptocell: Move Cryptocell specific API into driver
3687  - gicv3: Prevent pending G1S interrupt from becoming G0 interrupt
3688  - mbedtls: Remove weak heap implementation
3689  - mmc: Increase delay between ACMD41 retries
3690  - mmc: stm32_sdmmc2: Correctly manage block size
3691  - mmc: stm32_sdmmc2: Manage max-frequency property from DT
3692  - synopsys/emmc: Do not change FIFO TH as this breaks some platforms
3693  - synopsys: Update synopsys drivers to not rely on undefined overflow
3694    behaviour
3695  - ufs: Extend the delay after reset to wait for some slower chips
3696- Platforms
3697  - amlogic/meson/gxl: Remove BL2 dependency from BL31
3698  - arm/common: Shorten the Firmware Update (FWU) process
3699  - arm/fvp: Remove GIC initialisation from secondary core cold boot
3700  - arm/sgm: Temporarily disable shared Mbed TLS heap for SGM
3701  - hisilicon: Update hisilicon drivers to not rely on undefined overflow
3702    behaviour
3703  - imx: imx8: Replace PLAT_IMX8\* with PLAT_imx8\*, remove duplicated linker
3704    symbols and deprecated code include, keep only IRQ 32 unmasked, enable all
3705    power domain by default
3706  - marvell: Prevent SError accessing PCIe link, Switch to xlat_tables_v2, do
3707    not rely on argument passed via smc, make sure that comphy init will use
3708    correct address
3709  - mediatek: mt8173: Refactor RTC and PMIC drivers
3710  - mediatek: mt8173: Apply MULTI_CONSOLE framework
3711  - nvidia: Tegra: memctrl_v2: fix "overflow before widen" coverity issue
3712  - qemu: Simplify the image size calculation, Move and generalise FDT PSCI
3713    fixup, move gicv2 codes to separate file
3714  - renesas/rcar_gen3: Convert to multi-console API, update QoS setting, Update
3715    IPL and Secure Monitor Rev2.0.4, Change to restore timer counter value at
3716    resume, Update DDR setting rev.0.35, qos: change subslot cycle, Change
3717    periodic write DQ training option.
3718  - rockchip: Allow SOCs with undefined wfe check bits, Streamline and complete
3719    UARTn_BASE macros, drop rockchip-specific imported linker symbols for bl31,
3720    Disable binary generation for all SOCs, Allow console device to be set by
3721    DTB, Use new bl31_params_parse functions
3722  - rpi/rpi3: Move shared rpi3 files into common directory
3723  - socionext/uniphier: Set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console
3724    driver
3725  - socionext/uniphier: Replace DIV_ROUND_UP() with div_round_up() from
3726    utils_def.h
3727  - st/stm32mp: Split stm32mp_io_setup function, move
3728    stm32_get_gpio_bank_clock() to private file, correctly handle Clock
3729    Spreading Generator, move oscillator functions to generic file, realign
3730    device tree files with internal devs, enable RTCAPB clock for dual-core
3731    chips, use a common function to check spinlock is available, move
3732    check_header() to common code
3733  - ti/k3: Enable SEPARATE_CODE_AND_RODATA by default, Remove shared RAM space,
3734    Drop \_ADDRESS from K3_USART_BASE to match other defines, Remove MSMC port
3735    definitions, Allow USE_COHERENT_MEM for K3, Set L2 latency on A72 cores
3736- PSCI
3737  - PSCI: Lookup list of parent nodes to lock only once
3738- Secure Partition Manager (SPM): SPCI Prototype
3739  - Fix service UUID lookup
3740  - Adjust size of virtual address space per partition
3741  - Refactor xlat context creation
3742  - Move shim layer to TTBR1_EL1
3743  - Ignore empty regions in resource description
3744- Security
3745  - Refactor SPSR initialisation code
3746  - SMMUv3: Abort DMA transactions
3747    - For security DMA should be blocked at the SMMU by default unless
3748      explicitly enabled for a device. SMMU is disabled after reset with all
3749      streams bypassing the SMMU, and abortion of all incoming transactions
3750      implements a default deny policy on reset.
3751    - Moves `bl1_platform_setup()` function from arm_bl1_setup.c to FVP
3752      platforms' fvp_bl1_setup.c and fvp_ve_bl1_setup.c files.
3753- Tools
3754  - cert_create: Remove RSA PKCS#1 v1.5 support
3755
3756### Resolved Issues
3757
3758- Architecture
3759  - Fix the CAS spinlock implementation by adding a missing DSB in
3760    `spin_unlock()`
3761  - AArch64: Fix SCTLR bit definitions
3762    - Removes incorrect `SCTLR_V_BIT` definition and adds definitions for
3763      ARMv8.3-Pauth `EnIB`, `EnDA` and `EnDB` bits.
3764  - Fix restoration of PAuth context
3765    - Replace call to `pauth_context_save()` with `pauth_context_restore()` in
3766      case of unknown SMC call.
3767- BL-Specific Issues
3768  - Fix BL31 crash reporting on AArch64 only platforms
3769- Build System
3770  - Remove several warnings reported with W=2 and W=1
3771- Code Quality Issues
3772  - SCTLR and ACTLR are 32-bit for AArch32 and 64-bit for AArch64
3773  - Unify type of "cpu_idx" across PSCI module.
3774  - Assert if power level value greater then PSCI_INVALID_PWR_LVL
3775  - Unsigned long should not be used as per coding guidelines
3776  - Reduce the number of memory leaks in cert_create
3777  - Fix type of cot_desc_ptr
3778  - Use explicit-width data types in AAPCS parameter structs
3779  - Add python configuration for editorconfig
3780  - BL1: Fix type consistency
3781  - Enable -Wshift-overflow=2 to check for undefined shift behavior
3782  - Updated upstream platforms to not rely on undefined overflow behaviour
3783- Coverity Quality Issues
3784  - Remove GGC ignore -Warray-bounds
3785  - Fix Coverity #261967, Infinite loop
3786  - Fix Coverity #343017, Missing unlock
3787  - Fix Coverity #343008, Side affect in assertion
3788  - Fix Coverity #342970, Uninitialized scalar variable
3789- CPU Support
3790  - cortex-a12: Fix MIDR mask
3791- Drivers
3792  - console: Remove Arm console unregister on suspend
3793  - gicv3: Fix support for full SPI range
3794  - scmi: Fix wrong payload length
3795- Library Code
3796  - libc: Fix sparse warning for \_\_assert()
3797  - libc: Fix memchr implementation
3798- Platforms
3799  - rpi: rpi3: Fix compilation error when stack protector is enabled
3800  - socionext/uniphier: Fix compilation fail for SPM support build config
3801  - st/stm32mp1: Fix TZC400 configuration against non-secure DDR
3802  - ti/k3: common: Fix RO data area size calculation
3803- Security
3804  - AArch32: Disable Secure Cycle Counter
3805    - Changes the implementation for disabling Secure Cycle Counter. For ARMv8.5
3806      the counter gets disabled by setting `SDCR.SCCD` bit on CPU cold/warm
3807      boot. For the earlier architectures PMCR register is saved/restored on
3808      secure world entry/exit from/to Non-secure state, and cycle counting gets
3809      disabled by setting PMCR.DP bit.
3810  - AArch64: Disable Secure Cycle Counter
3811    - For ARMv8.5 the counter gets disabled by setting `MDCR_El3.SCCD` bit on
3812      CPU cold/warm boot. For the earlier architectures PMCR_EL0 register is
3813      saved/restored on secure world entry/exit from/to Non-secure state, and
3814      cycle counting gets disabled by setting PMCR_EL0.DP bit.
3815
3816### Deprecations
3817
3818- Common Code
3819  - Remove MULTI_CONSOLE_API flag and references to it
3820  - Remove deprecated `plat_crash_console_*`
3821  - Remove deprecated interfaces `get_afflvl_shift`, `mpidr_mask_lower_afflvls`,
3822    `eret`
3823  - AARCH32/AARCH64 macros are now deprecated in favor of `__aarch64__`
3824  - `__ASSEMBLY__` macro is now deprecated in favor of `__ASSEMBLER__`
3825- Drivers
3826  - console: Removed legacy console API
3827  - console: Remove deprecated finish_console_register
3828  - tzc: Remove deprecated types `tzc_action_t` and `tzc_region_attributes_t`
3829- Secure Partition Manager (SPM):
3830  - Prototype SPCI-based SPM (services/std_svc/spm) will be replaced with
3831    alternative methods of secure partitioning support.
3832
3833### Known Issues
3834
3835- Build System Issues
3836  - dtb: DTB creation not supported when building on a Windows host.
3837
3838    This step in the build process is skipped when running on a Windows host. A
3839    known issue from the 1.6 release.
3840- Platform Issues
3841  - arm/juno: System suspend from Linux does not function as documented in the
3842    user guide
3843
3844    Following the instructions provided in the user guide document does not
3845    result in the platform entering system suspend state as expected. A message
3846    relating to the hdlcd driver failing to suspend will be emitted on the Linux
3847    terminal.
3848
3849  - mediatek/mt6795: This platform does not build in this release
3850
3851## [2.1.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.0..refs/tags/v2.1) (2019-03-29)
3852
3853### New Features
3854
3855- Architecture
3856
3857  - Support for ARMv8.3 pointer authentication in the normal and secure worlds
3858
3859    The use of pointer authentication in the normal world is enabled whenever
3860    architectural support is available, without the need for additional build
3861    flags.
3862
3863    Use of pointer authentication in the secure world remains an experimental
3864    configuration at this time. Using both the `ENABLE_PAUTH` and
3865    `CTX_INCLUDE_PAUTH_REGS` build flags, pointer authentication can be enabled
3866    in EL3 and S-EL1/0.
3867
3868    See the {ref}`Firmware Design` document for additional details on the use of
3869    pointer authentication.
3870
3871  - Enable Data Independent Timing (DIT) in EL3, where supported
3872
3873- Build System
3874
3875  - Support for BL-specific build flags
3876
3877  - Support setting compiler target architecture based on `ARM_ARCH_MINOR` build
3878    option.
3879
3880  - New `RECLAIM_INIT_CODE` build flag:
3881
3882    A significant amount of the code used for the initialization of BL31 is not
3883    needed again after boot time. In order to reduce the runtime memory
3884    footprint, the memory used for this code can be reclaimed after
3885    initialization.
3886
3887    Certain boot-time functions were marked with the `__init` attribute to
3888    enable this reclamation.
3889
3890- CPU Support
3891
3892  - cortex-a76: Workaround for erratum 1073348
3893  - cortex-a76: Workaround for erratum 1220197
3894  - cortex-a76: Workaround for erratum 1130799
3895  - cortex-a75: Workaround for erratum 790748
3896  - cortex-a75: Workaround for erratum 764081
3897  - cortex-a73: Workaround for erratum 852427
3898  - cortex-a73: Workaround for erratum 855423
3899  - cortex-a57: Workaround for erratum 817169
3900  - cortex-a57: Workaround for erratum 814670
3901  - cortex-a55: Workaround for erratum 903758
3902  - cortex-a55: Workaround for erratum 846532
3903  - cortex-a55: Workaround for erratum 798797
3904  - cortex-a55: Workaround for erratum 778703
3905  - cortex-a55: Workaround for erratum 768277
3906  - cortex-a53: Workaround for erratum 819472
3907  - cortex-a53: Workaround for erratum 824069
3908  - cortex-a53: Workaround for erratum 827319
3909  - cortex-a17: Workaround for erratum 852423
3910  - cortex-a17: Workaround for erratum 852421
3911  - cortex-a15: Workaround for erratum 816470
3912  - cortex-a15: Workaround for erratum 827671
3913
3914- Documentation
3915
3916  - Exception Handling Framework documentation
3917  - Library at ROM (romlib) documentation
3918  - RAS framework documentation
3919  - Coding Guidelines document
3920
3921- Drivers
3922
3923  - ccn: Add API for setting and reading node registers
3924
3925    - Adds `ccn_read_node_reg` function
3926    - Adds `ccn_write_node_reg` function
3927
3928  - partition: Support MBR partition entries
3929
3930  - scmi: Add `plat_css_get_scmi_info` function
3931
3932    Adds a new API `plat_css_get_scmi_info` which lets the platform register a
3933    platform-specific instance of `scmi_channel_plat_info_t` and remove the
3934    default values
3935
3936  - tzc380: Add TZC-380 TrustZone Controller driver
3937
3938  - tzc-dmc620: Add driver to manage the TrustZone Controller within the DMC-620
3939    Dynamic Memory Controller
3940
3941- Library at ROM (romlib)
3942
3943  - Add platform-specific jump table list
3944
3945  - Allow patching of romlib functions
3946
3947    This change allows patching of functions in the romlib. This can be done by
3948    adding "patch" at the end of the jump table entry for the function that
3949    needs to be patched in the file jmptbl.i.
3950
3951- Library Code
3952
3953  - Support non-LPAE-enabled MMU tables in AArch32
3954  - mmio: Add `mmio_clrsetbits_16` function
3955    - 16-bit variant of `mmio_clrsetbits`
3956  - object_pool: Add Object Pool Allocator
3957    - Manages object allocation using a fixed-size static array
3958    - Adds `pool_alloc` and `pool_alloc_n` functions
3959    - Does not provide any functions to free allocated objects (by design)
3960  - libc: Added `strlcpy` function
3961  - libc: Import `strrchr` function from FreeBSD
3962  - xlat_tables: Add support for ARMv8.4-TTST
3963  - xlat_tables: Support mapping regions without an explicitly specified VA
3964
3965- Math
3966
3967  - Added softudiv macro to support software division
3968
3969- Memory Partitioning And Monitoring (MPAM)
3970
3971  - Enabled MPAM EL2 traps (`MPAMHCR_EL2` and `MPAM_EL2`)
3972
3973- Platforms
3974
3975  - amlogic: Add support for Meson S905 (GXBB)
3976
3977  - arm/fvp_ve: Add support for FVP Versatile Express platform
3978
3979  - arm/n1sdp: Add support for Neoverse N1 System Development platform
3980
3981  - arm/rde1edge: Add support for Neoverse E1 platform
3982
3983  - arm/rdn1edge: Add support for Neoverse N1 platform
3984
3985  - arm: Add support for booting directly to Linux without an intermediate
3986    loader (AArch32)
3987
3988  - arm/juno: Enable new CPU errata workarounds for A53 and A57
3989
3990  - arm/juno: Add romlib support
3991
3992    Building a combined BL1 and ROMLIB binary file with the correct page
3993    alignment is now supported on the Juno platform. When `USE_ROMLIB` is set
3994    for Juno, it generates the combined file `bl1_romlib.bin` which needs to be
3995    used instead of bl1.bin.
3996
3997  - intel/stratix: Add support for Intel Stratix 10 SoC FPGA platform
3998
3999  - marvell: Add support for Armada-37xx SoC platform
4000
4001  - nxp: Add support for i.MX8M and i.MX7 Warp7 platforms
4002
4003  - renesas: Add support for R-Car Gen3 platform
4004
4005  - xilinx: Add support for Versal ACAP platforms
4006
4007- Position-Independent Executable (PIE)
4008
4009  PIE support has initially been added to BL31. The `ENABLE_PIE` build flag is
4010  used to enable or disable this functionality as required.
4011
4012- Secure Partition Manager
4013
4014  - New SPM implementation based on SPCI Alpha 1 draft specification
4015
4016    A new version of SPM has been implemented, based on the SPCI (Secure
4017    Partition Client Interface) and SPRT (Secure Partition Runtime) draft
4018    specifications.
4019
4020    The new implementation is a prototype that is expected to undergo intensive
4021    rework as the specifications change. It has basic support for multiple
4022    Secure Partitions and Resource Descriptions.
4023
4024    The older version of SPM, based on MM (ARM Management Mode Interface
4025    Specification), is still present in the codebase. A new build flag, `SPM_MM`
4026    has been added to allow selection of the desired implementation. This flag
4027    defaults to 1, selecting the MM-based implementation.
4028
4029- Security
4030
4031  - Spectre Variant-1 mitigations (`CVE-2017-5753`)
4032
4033  - Use Speculation Store Bypass Safe (SSBS) functionality where available
4034
4035    Provides mitigation against `CVE-2018-19440` (Not saving x0 to x3 registers
4036    can leak information from one Normal World SMC client to another)
4037
4038### Changed
4039
4040- Build System
4041
4042  - Warning levels are now selectable with `W=<1,2,3>`
4043  - Removed unneeded include paths in PLAT_INCLUDES
4044  - "Warnings as errors" (Werror) can be disabled using `E=0`
4045  - Support totally quiet output with `-s` flag
4046  - Support passing options to checkpatch using `CHECKPATCH_OPTS=<opts>`
4047  - Invoke host compiler with `HOSTCC / HOSTCCFLAGS` instead of `CC / CFLAGS`
4048  - Make device tree pre-processing similar to U-boot/Linux by:
4049    - Creating separate `CPPFLAGS` for DT preprocessing so that compiler options
4050      specific to it can be accommodated.
4051    - Replacing `CPP` with `PP` for DT pre-processing
4052
4053- CPU Support
4054
4055  - Errata report function definition is now mandatory for CPU support files
4056
4057    CPU operation files must now define a `<name>_errata_report` function to
4058    print errata status. This is no longer a weak reference.
4059
4060- Documentation
4061
4062  - Migrated some content from GitHub wiki to `docs/` directory
4063  - Security advisories now have CVE links
4064  - Updated copyright guidelines
4065
4066- Drivers
4067
4068  - console: The `MULTI_CONSOLE_API` framework has been rewritten in C
4069
4070  - console: Ported multi-console driver to AArch32
4071
4072  - gic: Remove 'lowest priority' constants
4073
4074    Removed `GIC_LOWEST_SEC_PRIORITY` and `GIC_LOWEST_NS_PRIORITY`. Platforms
4075    should define these if required, or instead determine the correct priority
4076    values at runtime.
4077
4078  - delay_timer: Check that the Generic Timer extension is present
4079
4080  - mmc: Increase command reply timeout to 10 milliseconds
4081
4082  - mmc: Poll eMMC device status to ensure `EXT_CSD` command completion
4083
4084  - mmc: Correctly check return code from `mmc_fill_device_info`
4085
4086- External Libraries
4087
4088  - libfdt: Upgraded from 1.4.2 to 1.4.6-9
4089
4090  >
4091
4092  - mbed TLS: Upgraded from 2.12 to 2.16
4093
4094  >
4095
4096  This change incorporates fixes for security issues that should be reviewed to
4097  determine if they are relevant for software implementations using Trusted
4098  Firmware-A. See the [mbed TLS releases] page for details on changes from the
4099  2.12 to the 2.16 release.
4100
4101- Library Code
4102
4103  - compiler-rt: Updated `lshrdi3.c` and `int_lib.h` with changes from LLVM
4104    master branch (r345645)
4105  - cpu: Updated macro that checks need for `CVE-2017-5715` mitigation
4106  - libc: Made setjmp and longjmp C standard compliant
4107  - libc: Allowed overriding the default libc (use `OVERRIDE_LIBC`)
4108  - libc: Moved setjmp and longjmp to the `libc/` directory
4109
4110- Platforms
4111
4112  - Removed Mbed TLS dependency from plat_bl_common.c
4113
4114  - arm: Removed unused `ARM_MAP_BL_ROMLIB` macro
4115
4116  - arm: Removed `ARM_BOARD_OPTIMISE_MEM` feature and build flag
4117
4118  - arm: Moved several components into `drivers/` directory
4119
4120    This affects the SDS, SCP, SCPI, MHU and SCMI components
4121
4122  - arm/juno: Increased maximum BL2 image size to `0xF000`
4123
4124    This change was required to accommodate a larger `libfdt` library
4125
4126- SCMI
4127
4128  - Optimized bakery locks when hardware-assisted coherency is enabled using the
4129    `HW_ASSISTED_COHERENCY` build flag
4130
4131- SDEI
4132
4133  - Added support for unconditionally resuming secure world execution after {{
4134    SDEI }} event processing completes
4135
4136    {{ SDEI }} interrupts, although targeting EL3, occur on behalf of the
4137    non-secure world, and may have higher priority than secure world interrupts.
4138    Therefore they might preempt secure execution and yield execution to the
4139    non-secure {{ SDEI }} handler. Upon completion of {{ SDEI }} event handling,
4140    resume secure execution if it was preempted.
4141
4142- Translation Tables (XLAT)
4143
4144  - Dynamically detect need for `Common not Private (TTBRn_ELx.CnP)` bit
4145
4146    Properly handle the case where `ARMv8.2-TTCNP` is implemented in a CPU that
4147    does not implement all mandatory v8.2 features (and so must claim to
4148    implement a lower architecture version).
4149
4150### Resolved Issues
4151
4152- Architecture
4153  - Incorrect check for SSBS feature detection
4154  - Unintentional register clobber in AArch32 reset_handler function
4155- Build System
4156  - Dependency issue during DTB image build
4157  - Incorrect variable expansion in Arm platform makefiles
4158  - Building on Windows with verbose mode (`V=1`) enabled is broken
4159  - AArch32 compilation flags is missing `$(march32-directive)`
4160- BL-Specific Issues
4161  - bl2: `uintptr_t is not defined` error when `BL2_IN_XIP_MEM` is defined
4162  - bl2: Missing prototype warning in `bl2_arch_setup`
4163  - bl31: Omission of Global Offset Table (GOT) section
4164- Code Quality Issues
4165  - Multiple MISRA compliance issues
4166  - Potential NULL pointer dereference (Coverity-detected)
4167- Drivers
4168  - mmc: Local declaration of `scr` variable causes a cache issue when
4169    invalidating after the read DMA transfer completes
4170  - mmc: `ACMD41` does not send voltage information during initialization,
4171    resulting in the command being treated as a query. This prevents the command
4172    from initializing the controller.
4173  - mmc: When checking device state using `mmc_device_state()` there are no
4174    retries attempted in the event of an error
4175  - ccn: Incorrect Region ID calculation for RN-I nodes
4176  - console: `Fix MULTI_CONSOLE_API` when used as a crash console
4177  - partition: Improper NULL checking in gpt.c
4178  - partition: Compilation failure in `VERBOSE` mode (`V=1`)
4179- Library Code
4180  - common: Incorrect check for Address Authentication support
4181
4182  - xlat: Fix XLAT_V1 / XLAT_V2 incompatibility
4183
4184    The file `arm_xlat_tables.h` has been renamed to `xlat_tables_compat.h` and
4185    has been moved to a common folder. This header can be used to guarantee
4186    compatibility, as it includes the correct header based on
4187    `XLAT_TABLES_LIB_V2`.
4188
4189  - xlat: armclang unused-function warning on `xlat_clean_dcache_range`
4190
4191  - xlat: Invalid `mm_cursor` checks in `mmap_add` and `mmap_add_ctx`
4192
4193  - sdei: Missing `context.h` header
4194- Platforms
4195  - common: Missing prototype warning for `plat_log_get_prefix`
4196
4197  - arm: Insufficient maximum BL33 image size
4198
4199  - arm: Potential memory corruption during BL2-BL31 transition
4200
4201    On Arm platforms, the BL2 memory can be overlaid by BL31/BL32. The memory
4202    descriptors describing the list of executable images are created in BL2 R/W
4203    memory, which could be possibly corrupted later on by BL31/BL32 due to
4204    overlay. This patch creates a reserved location in SRAM for these
4205    descriptors and are copied over by BL2 before handing over to next BL image.
4206
4207  - juno: Invalid behaviour when `CSS_USE_SCMI_SDS_DRIVER` is not set
4208
4209    In `juno_pm.c` the `css_scmi_override_pm_ops` function was used regardless
4210    of whether the build flag was set. The original behaviour has been restored
4211    in the case where the build flag is not set.
4212- Tools
4213  - fiptool: Incorrect UUID parsing of blob parameters
4214  - doimage: Incorrect object rules in Makefile
4215
4216### Deprecations
4217
4218- Common Code
4219  - `plat_crash_console_init` function
4220  - `plat_crash_console_putc` function
4221  - `plat_crash_console_flush` function
4222  - `finish_console_register` macro
4223- AArch64-specific Code
4224  - helpers: `get_afflvl_shift`
4225  - helpers: `mpidr_mask_lower_afflvls`
4226  - helpers: `eret`
4227- Secure Partition Manager (SPM)
4228  - Boot-info structure
4229
4230### Known Issues
4231
4232- Build System Issues
4233  - dtb: DTB creation not supported when building on a Windows host.
4234
4235    This step in the build process is skipped when running on a Windows host. A
4236    known issue from the 1.6 release.
4237- Platform Issues
4238  - arm/juno: System suspend from Linux does not function as documented in the
4239    user guide
4240
4241    Following the instructions provided in the user guide document does not
4242    result in the platform entering system suspend state as expected. A message
4243    relating to the hdlcd driver failing to suspend will be emitted on the Linux
4244    terminal.
4245
4246  - arm/juno: The firmware update use-cases do not work with motherboard
4247    firmware version \< v1.5.0 (the reset reason is not preserved). The Linaro
4248    18.04 release has MB v1.4.9. The MB v1.5.0 is available in Linaro 18.10
4249    release.
4250
4251  - mediatek/mt6795: This platform does not build in this release
4252
4253## [2.0.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.6..refs/tags/v2.0) (2018-10-02)
4254
4255### New Features
4256
4257- Removal of a number of deprecated APIs
4258
4259  - A new Platform Compatibility Policy document has been created which
4260    references a wiki page that maintains a listing of deprecated interfaces and
4261    the release after which they will be removed.
4262  - All deprecated interfaces except the MULTI_CONSOLE_API have been removed
4263    from the code base.
4264  - Various Arm and partner platforms have been updated to remove the use of
4265    removed APIs in this release.
4266  - This release is otherwise unchanged from 1.6 release
4267
4268### Issues resolved since last release
4269
4270- No issues known at 1.6 release resolved in 2.0 release
4271
4272### Known Issues
4273
4274- DTB creation not supported when building on a Windows host. This step in the
4275  build process is skipped when running on a Windows host. Known issue from 1.6
4276  version.
4277- As a result of removal of deprecated interfaces the Nvidia Tegra, Marvell
4278  Armada 8K and MediaTek MT6795 platforms do not build in this release. Also
4279  MediaTek MT8173, NXP QorIQ LS1043A, NXP i.MX8QX, NXP i.MX8QMa, Rockchip
4280  RK3328, Rockchip RK3368 and Rockchip RK3399 platforms have not been confirmed
4281  to be working after the removal of the deprecated interfaces although they do
4282  build.
4283
4284## [1.6.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.5..refs/tags/v1.6) (2018-09-21)
4285
4286### New Features
4287
4288- Addressing Speculation Security Vulnerabilities
4289
4290  - Implement static workaround for CVE-2018-3639 for AArch32 and AArch64
4291  - Add support for dynamic mitigation for CVE-2018-3639
4292  - Implement dynamic mitigation for CVE-2018-3639 on Cortex-A76
4293  - Ensure {{ SDEI }} handler executes with CVE-2018-3639 mitigation enabled
4294
4295- Introduce RAS handling on AArch64
4296
4297  - Some RAS extensions are mandatory for Armv8.2 CPUs, with others mandatory
4298    for Armv8.4 CPUs however, all extensions are also optional extensions to the
4299    base Armv8.0 architecture.
4300  - The Armv8 RAS Extensions introduced Standard Error Records which are a set
4301    of standard registers to configure RAS node policy and allow RAS Nodes to
4302    record and expose error information for error handling agents.
4303  - Capabilities are provided to support RAS Node enumeration and iteration
4304    along with individual interrupt registrations and fault injections support.
4305  - Introduce handlers for Uncontainable errors, Double Faults and EL3 External
4306    Aborts
4307
4308- Enable Memory Partitioning And Monitoring (MPAM) for lower EL's
4309
4310  - Memory Partitioning And Monitoring is an Armv8.4 feature that enables
4311    various memory system components and resources to define partitions.
4312    Software running at various ELs can then assign themselves to the desired
4313    partition to control their performance aspects.
4314  - When ENABLE_MPAM_FOR_LOWER_ELS is set to 1, EL3 allows lower ELs to access
4315    their own MPAM registers without trapping to EL3. This patch however,
4316    doesn't make use of partitioning in EL3; platform initialisation code should
4317    configure and use partitions in EL3 if required.
4318
4319- Introduce ROM Lib Feature
4320
4321  - Support combining several libraries into a self-called "romlib" image, that
4322    may be shared across images to reduce memory footprint. The romlib image is
4323    stored in ROM but is accessed through a jump-table that may be stored in
4324    read-write memory, allowing for the library code to be patched.
4325
4326- Introduce Backtrace Feature
4327
4328  - This function displays the backtrace, the current EL and security state to
4329    allow a post-processing tool to choose the right binary to interpret the
4330    dump.
4331  - Print backtrace in assert() and panic() to the console.
4332
4333- Code hygiene changes and alignment with MISRA C-2012 guideline with fixes
4334  addressing issues complying to the following rules:
4335
4336  - MISRA rules 4.9, 5.1, 5.3, 5.7, 8.2-8.5, 8.8, 8.13, 9.3, 10.1, 10.3-10.4,
4337    10.8, 11.3, 11.6, 12.1, 14.4, 15.7, 16.1-16.7, 17.7-17.8, 20.7, 20.10,
4338    20.12, 21.1, 21.15, 22.7
4339  - Clean up the usage of void pointers to access symbols
4340  - Increase usage of static qualifier to locally used functions and data
4341  - Migrated to use of u_register_t for register read/write to better match
4342    AArch32 and AArch64 type sizes
4343  - Use int-ll64 for both AArch32 and AArch64 to assist in consistent format
4344    strings between architectures
4345  - Clean up TF-A libc by removing non arm copyrighted implementations and
4346    replacing them with modified FreeBSD and SCC implementations
4347
4348- Various changes to support Clang linker and assembler
4349
4350  - The clang assembler/preprocessor is used when Clang is selected. However,
4351    the clang linker is not used because it is unable to link TF-A objects due
4352    to immaturity of clang linker functionality at this time.
4353
4354- Refactor support APIs into Libraries
4355
4356  - Evolve libfdt, mbed TLS library and standard C library sources as proper
4357    libraries that TF-A may be linked against.
4358
4359- CPU Enhancements
4360
4361  - Add CPU support for Cortex-Ares and Cortex-A76
4362  - Add AMU support for Cortex-Ares
4363  - Add initial CPU support for Cortex-Deimos
4364  - Add initial CPU support for Cortex-Helios
4365  - Implement dynamic mitigation for CVE-2018-3639 on Cortex-A76
4366  - Implement Cortex-Ares erratum 1043202 workaround
4367  - Implement DSU erratum 936184 workaround
4368  - Check presence of fix for errata 843419 in Cortex-A53
4369  - Check presence of fix for errata 835769 in Cortex-A53
4370
4371- Translation Tables Enhancements
4372
4373  - The xlat v2 library has been refactored in order to be reused by different
4374    TF components at different EL's including the addition of EL2. Some
4375    refactoring to make the code more generic and less specific to TF, in order
4376    to reuse the library outside of this project.
4377
4378- SPM Enhancements
4379
4380  - General cleanups and refactoring to pave the way to multiple partitions
4381    support
4382
4383- SDEI Enhancements
4384
4385  - Allow platforms to define explicit events
4386  - Determine client EL from NS context's SCR_EL3
4387  - Make dispatches synchronous
4388  - Introduce jump primitives for BL31
4389  - Mask events after CPU wakeup in {{ SDEI }} dispatcher to conform to the
4390    specification
4391
4392- Misc TF-A Core Common Code Enhancements
4393
4394  - Add support for eXecute In Place (XIP) memory in BL2
4395  - Add support for the SMC Calling Convention 2.0
4396  - Introduce External Abort handling on AArch64 External Abort routed to EL3
4397    was reported as an unhandled exception and caused a panic. This change
4398    enables Trusted Firmware-A to handle External Aborts routed to EL3.
4399  - Save value of ACTLR_EL1 implementation-defined register in the CPU context
4400    structure rather than forcing it to 0.
4401  - Introduce ARM_LINUX_KERNEL_AS_BL33 build option, which allows BL31 to
4402    directly jump to a Linux kernel. This makes for a quicker and simpler boot
4403    flow, which might be useful in some test environments.
4404  - Add dynamic configurations for BL31, BL32 and BL33 enabling support for
4405    Chain of Trust (COT).
4406  - Make TF UUID RFC 4122 compliant
4407
4408- New Platform Support
4409
4410  - Arm SGI-575
4411  - Arm SGM-775
4412  - Allwinner sun50i_64
4413  - Allwinner sun50i_h6
4414  - NXP QorIQ LS1043A
4415  - NXP i.MX8QX
4416  - NXP i.MX8QM
4417  - NXP i.MX7Solo WaRP7
4418  - TI K3
4419  - Socionext Synquacer SC2A11
4420  - Marvell Armada 8K
4421  - STMicroelectronics STM32MP1
4422
4423- Misc Generic Platform Common Code Enhancements
4424
4425  - Add MMC framework that supports both eMMC and SD card devices
4426
4427- Misc Arm Platform Common Code Enhancements
4428
4429  - Demonstrate PSCI MEM_PROTECT from el3_runtime
4430  - Provide RAS support
4431  - Migrate AArch64 port to the multi console driver. The old API is deprecated
4432    and will eventually be removed.
4433  - Move BL31 below BL2 to enable BL2 overlay resulting in changes in the layout
4434    of BL images in memory to enable more efficient use of available space.
4435  - Add cpp build processing for dtb that allows processing device tree with
4436    external includes.
4437  - Extend FIP io driver to support multiple FIP devices
4438  - Add support for SCMI AP core configuration protocol v1.0
4439  - Use SCMI AP core protocol to set the warm boot entrypoint
4440  - Add support to Mbed TLS drivers for shared heap among different BL images to
4441    help optimise memory usage
4442  - Enable non-secure access to UART1 through a build option to support a serial
4443    debug port for debugger connection
4444
4445- Enhancements for Arm Juno Platform
4446
4447  - Add support for TrustZone Media Protection 1 (TZMP1)
4448
4449- Enhancements for Arm FVP Platform
4450
4451  - Dynamic_config: remove the FVP dtb files
4452  - Set DYNAMIC_WORKAROUND_CVE_2018_3639=1 on FVP by default
4453  - Set the ability to dynamically disable Trusted Boot Board authentication to
4454    be off by default with DYN_DISABLE_AUTH
4455  - Add librom enhancement support in FVP
4456  - Support shared Mbed TLS heap between BL1 and BL2 that allow a reduction in
4457    BL2 size for FVP
4458
4459- Enhancements for Arm SGI/SGM Platform
4460
4461  - Enable ARM_PLAT_MT flag for SGI-575
4462  - Add dts files to enable support for dynamic config
4463  - Add RAS support
4464  - Support shared Mbed TLS heap for SGI and SGM between BL1 and BL2
4465
4466- Enhancements for Non Arm Platforms
4467
4468  - Raspberry Pi Platform
4469  - Hikey Platforms
4470  - Xilinx Platforms
4471  - QEMU Platform
4472  - Rockchip rk3399 Platform
4473  - TI Platforms
4474  - Socionext Platforms
4475  - Allwinner Platforms
4476  - NXP Platforms
4477  - NVIDIA Tegra Platform
4478  - Marvell Platforms
4479  - STMicroelectronics STM32MP1 Platform
4480
4481### Issues resolved since last release
4482
4483- No issues known at 1.5 release resolved in 1.6 release
4484
4485### Known Issues
4486
4487- DTB creation not supported when building on a Windows host. This step in the
4488  build process is skipped when running on a Windows host. Known issue from 1.5
4489  version.
4490
4491## [1.5.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.4..refs/tags/v1.5) (2018-03-20)
4492
4493### New features
4494
4495- Added new firmware support to enable RAS (Reliability, Availability, and
4496  Serviceability) functionality.
4497
4498  - Secure Partition Manager (SPM): A Secure Partition is a software execution
4499    environment instantiated in S-EL0 that can be used to implement simple
4500    management and security services. The SPM is the firmware component that is
4501    responsible for managing a Secure Partition.
4502
4503  - SDEI dispatcher: Support for interrupt-based {{ SDEI }} events and all
4504    interfaces as defined by the {{ SDEI }} specification v1.0, see
4505    [SDEI Specification]
4506
4507  - Exception Handling Framework (EHF): Framework that allows dispatching of EL3
4508    interrupts to their registered handlers which are registered based on their
4509    priorities. Facilitates firmware-first error handling policy where
4510    asynchronous exceptions may be routed to EL3.
4511
4512    Integrated the TSPD with EHF.
4513
4514- Updated PSCI support:
4515
4516  - Implemented PSCI v1.1 optional features `MEM_PROTECT` and `SYSTEM_RESET2`.
4517    The supported PSCI version was updated to v1.1.
4518
4519  - Improved PSCI STAT timestamp collection, including moving accounting for
4520    retention states to be inside the locks and fixing handling of wrap-around
4521    when calculating residency in AArch32 execution state.
4522
4523  - Added optional handler for early suspend that executes when suspending to a
4524    power-down state and with data caches enabled.
4525
4526    This may provide a performance improvement on platforms where it is safe to
4527    perform some or all of the platform actions from `pwr_domain_suspend` with
4528    the data caches enabled.
4529
4530- Enabled build option, BL2_AT_EL3, for BL2 to allow execution at EL3 without
4531  any dependency on TF BL1.
4532
4533  This allows platforms which already have a non-TF Boot ROM to directly load
4534  and execute BL2 and subsequent BL stages without need for BL1. This was not
4535  previously possible because BL2 executes at S-EL1 and cannot jump straight to
4536  EL3.
4537
4538- Implemented support for SMCCC v1.1, including `SMCCC_VERSION` and
4539  `SMCCC_ARCH_FEATURES`.
4540
4541  Additionally, added support for `SMCCC_VERSION` in PSCI features to enable
4542  discovery of the SMCCC version via PSCI feature call.
4543
4544- Added Dynamic Configuration framework which enables each of the boot loader
4545  stages to be dynamically configured at runtime if required by the platform.
4546  The boot loader stage may optionally specify a firmware configuration file
4547  and/or hardware configuration file that can then be shared with the next boot
4548  loader stage.
4549
4550  Introduced a new BL handover interface that essentially allows passing of 4
4551  arguments between the different BL stages.
4552
4553  Updated cert_create and fip_tool to support the dynamic configuration files.
4554  The COT also updated to support these new files.
4555
4556- Code hygiene changes and alignment with MISRA guideline:
4557
4558  - Fix use of undefined macros.
4559  - Achieved compliance with Mandatory MISRA coding rules.
4560  - Achieved compliance for following Required MISRA rules for the default build
4561    configurations on FVP and Juno platforms : 7.3, 8.3, 8.4, 8.5 and 8.8.
4562
4563- Added support for Armv8.2-A architectural features:
4564
4565  - Updated translation table set-up to set the CnP (Common not Private) bit for
4566    secure page tables so that multiple PEs in the same Inner Shareable domain
4567    can use the same translation table entries for a given stage of translation
4568    in a particular translation regime.
4569  - Extended the supported values of ID_AA64MMFR0_EL1.PARange to include the
4570    52-bit Physical Address range.
4571  - Added support for the Scalable Vector Extension to allow Normal world
4572    software to access SVE functionality but disable access to SVE, SIMD and
4573    floating point functionality from the Secure world in order to prevent
4574    corruption of the Z-registers.
4575
4576- Added support for Armv8.4-A architectural feature Activity Monitor Unit (AMU)
4577
4578  extensions.
4579
4580  In addition to the v8.4 architectural extension, AMU support on Cortex-A75 was
4581  implemented.
4582
4583- Enhanced OP-TEE support to enable use of pageable OP-TEE image. The Arm
4584  standard platforms are updated to load up to 3 images for OP-TEE; header,
4585  pager image and paged image.
4586
4587  The chain of trust is extended to support the additional images.
4588
4589- Enhancements to the translation table library:
4590
4591  - Introduced APIs to get and set the memory attributes of a region.
4592  - Added support to manage both privilege levels in translation regimes that
4593    describe translations for 2 Exception levels, specifically the EL1&0
4594    translation regime, and extended the memory map region attributes to include
4595    specifying Non-privileged access.
4596  - Added support to specify the granularity of the mappings of each region, for
4597    instance a 2MB region can be specified to be mapped with 4KB page tables
4598    instead of a 2MB block.
4599  - Disabled the higher VA range to avoid unpredictable behaviour if there is an
4600    attempt to access addresses in the higher VA range.
4601  - Added helpers for Device and Normal memory MAIR encodings that align with
4602    the Arm Architecture Reference Manual for Armv8-A (Arm DDI0487B.b).
4603  - Code hygiene including fixing type length and signedness of constants,
4604    refactoring of function to enable the MMU, removing all instances where the
4605    virtual address space is hardcoded and added comments that document
4606    alignment needed between memory attributes and attributes specified in
4607    TCR_ELx.
4608
4609- Updated GIC support:
4610
4611  - Introduce new APIs for GICv2 and GICv3 that provide the capability to
4612    specify interrupt properties rather than list of interrupt numbers alone.
4613    The Arm platforms and other upstream platforms are migrated to use interrupt
4614    properties.
4615
4616  - Added helpers to save / restore the GICv3 context, specifically the
4617    Distributor and Redistributor contexts and architectural parts of the ITS
4618    power management. The Distributor and Redistributor helpers also support the
4619    implementation-defined part of GIC-500 and GIC-600.
4620
4621    Updated the Arm FVP platform to save / restore the GICv3 context on system
4622    suspend / resume as an example of how to use the helpers.
4623
4624    Introduced a new TZC secured DDR carve-out for use by Arm platforms for
4625    storing EL3 runtime data such as the GICv3 register context.
4626
4627- Added support for Armv7-A architecture via build option ARM_ARCH_MAJOR=7. This
4628  includes following features:
4629
4630  - Updates GICv2 driver to manage GICv1 with security extensions.
4631  - Software implementation for 32bit division.
4632  - Enabled use of generic timer for platforms that do not set
4633    ARM_CORTEX_Ax=yes.
4634  - Support for Armv7-A Virtualization extensions \[DDI0406C_C\].
4635  - Support for both Armv7-A platforms that only have 32-bit addressing and
4636    Armv7-A platforms that support large page addressing.
4637  - Included support for following Armv7 CPUs: Cortex-A12, Cortex-A17,
4638    Cortex-A7, Cortex-A5, Cortex-A9, Cortex-A15.
4639  - Added support in QEMU for Armv7-A/Cortex-A15.
4640
4641- Enhancements to Firmware Update feature:
4642
4643  - Updated the FWU documentation to describe the additional images needed for
4644    Firmware update, and how they are used for both the Juno platform and the
4645    Arm FVP platforms.
4646
4647- Enhancements to Trusted Board Boot feature:
4648
4649  - Added support to cert_create tool for RSA PKCS1# v1.5 and SHA384, SHA512 and
4650    SHA256.
4651  - For Arm platforms added support to use ECDSA keys.
4652  - Enhanced the mbed TLS wrapper layer to include support for both RSA and
4653    ECDSA to enable runtime selection between RSA and ECDSA keys.
4654
4655- Added support for secure interrupt handling in AArch32 sp_min, hardcoded to
4656  only handle FIQs.
4657
4658- Added support to allow a platform to load images from multiple boot sources,
4659  for example from a second flash drive.
4660
4661- Added a logging framework that allows platforms to reduce the logging level at
4662  runtime and additionally the prefix string can be defined by the platform.
4663
4664- Further improvements to register initialisation:
4665
4666  - Control register PMCR_EL0 / PMCR is set to prohibit cycle counting in the
4667    secure world. This register is added to the list of registers that are saved
4668    and restored during world switch.
4669  - When EL3 is running in AArch32 execution state, the Non-secure version of
4670    SCTLR is explicitly initialised during the warmboot flow rather than relying
4671    on the hardware to set the correct reset values.
4672
4673- Enhanced support for Arm platforms:
4674
4675  - Introduced driver for Shared-Data-Structure (SDS) framework which is used
4676    for communication between SCP and the AP CPU, replacing Boot-Over_MHU (BOM)
4677    protocol.
4678
4679    The Juno platform is migrated to use SDS with the SCMI support added in v1.3
4680    and is set as default.
4681
4682    The driver can be found in the plat/arm/css/drivers folder.
4683
4684  - Improved memory usage by only mapping TSP memory region when the TSPD has
4685    been included in the build. This reduces the memory footprint and avoids
4686    unnecessary memory being mapped.
4687
4688  - Updated support for multi-threading CPUs for FVP platforms - always check
4689    the MT field in MPDIR and access the bit fields accordingly.
4690
4691  - Support building for platforms that model DynamIQ configuration by
4692    implementing all CPUs in a single cluster.
4693
4694  - Improved nor flash driver, for instance clearing status registers before
4695    sending commands. Driver can be found plat/arm/board/common folder.
4696
4697- Enhancements to QEMU platform:
4698
4699  - Added support for TBB.
4700  - Added support for using OP-TEE pageable image.
4701  - Added support for LOAD_IMAGE_V2.
4702  - Migrated to use translation table library v2 by default.
4703  - Added support for SEPARATE_CODE_AND_RODATA.
4704
4705- Applied workarounds CVE-2017-5715 on Arm Cortex-A57, -A72, -A73 and -A75, and
4706  for Armv7-A CPUs Cortex-A9, -A15 and -A17.
4707
4708- Applied errata workaround for Arm Cortex-A57: 859972.
4709
4710- Applied errata workaround for Arm Cortex-A72: 859971.
4711
4712- Added support for Poplar 96Board platform.
4713
4714- Added support for Raspberry Pi 3 platform.
4715
4716- Added Call Frame Information (CFI) assembler directives to the vector entries
4717  which enables debuggers to display the backtrace of functions that triggered a
4718  synchronous abort.
4719
4720- Added ability to build dtb.
4721
4722- Added support for pre-tool (cert_create and fiptool) image processing enabling
4723  compression of the image files before processing by cert_create and fiptool.
4724
4725  This can reduce fip size and may also speed up loading of images. The image
4726  verification will also get faster because certificates are generated based on
4727  compressed images.
4728
4729  Imported zlib 1.2.11 to implement gunzip() for data compression.
4730
4731- Enhancements to fiptool:
4732
4733  - Enabled the fiptool to be built using Visual Studio.
4734  - Added padding bytes at the end of the last image in the fip to be facilitate
4735    transfer by DMA.
4736
4737### Issues resolved since last release
4738
4739- TF-A can be built with optimisations disabled (-O0).
4740- Memory layout updated to enable Trusted Board Boot on Juno platform when
4741  running TF-A in AArch32 execution mode (resolving [tf-issue#501]).
4742
4743### Known Issues
4744
4745- DTB creation not supported when building on a Windows host. This step in the
4746  build process is skipped when running on a Windows host.
4747
4748## [1.4.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.3..refs/tags/v1.4) (2017-07-07)
4749
4750### New features
4751
4752- Enabled support for platforms with hardware assisted coherency.
4753
4754  A new build option HW_ASSISTED_COHERENCY allows platforms to take advantage of
4755  the following optimisations:
4756
4757  - Skip performing cache maintenance during power-up and power-down.
4758  - Use spin-locks instead of bakery locks.
4759  - Enable data caches early on warm-booted CPUs.
4760
4761- Added support for Cortex-A75 and Cortex-A55 processors.
4762
4763  Both Cortex-A75 and Cortex-A55 processors use the Arm DynamIQ Shared Unit
4764  (DSU). The power-down and power-up sequences are therefore mostly managed in
4765  hardware, reducing complexity of the software operations.
4766
4767- Introduced Arm GIC-600 driver.
4768
4769  Arm GIC-600 IP complies with Arm GICv3 architecture. For FVP platforms, the
4770  GIC-600 driver is chosen when FVP_USE_GIC_DRIVER is set to FVP_GIC600.
4771
4772- Updated GICv3 support:
4773
4774  - Introduced power management APIs for GICv3 Redistributor. These APIs allow
4775    platforms to power down the Redistributor during CPU power on/off. Requires
4776    the GICv3 implementations to have power management operations.
4777
4778    Implemented the power management APIs for FVP.
4779
4780  - GIC driver data is flushed by the primary CPU so that secondary CPU do not
4781    read stale GIC data.
4782
4783- Added support for Arm System Control and Management Interface v1.0 (SCMI).
4784
4785  The SCMI driver implements the power domain management and system power
4786  management protocol of the SCMI specification (Arm DEN 0056ASCMI) for
4787  communicating with any compliant power controller.
4788
4789  Support is added for the Juno platform. The driver can be found in the
4790  plat/arm/css/drivers folder.
4791
4792- Added support to enable pre-integration of TBB with the Arm TrustZone
4793  CryptoCell product, to take advantage of its hardware Root of Trust and crypto
4794  acceleration services.
4795
4796- Enabled Statistical Profiling Extensions for lower ELs.
4797
4798  The firmware support is limited to the use of SPE in the Non-secure state and
4799  accesses to the SPE specific registers from S-EL1 will trap to EL3.
4800
4801  The SPE are architecturally specified for AArch64 only.
4802
4803- Code hygiene changes aligned with MISRA guidelines:
4804
4805  - Fixed signed / unsigned comparison warnings in the translation table
4806    library.
4807  - Added U(\_x) macro and together with the existing ULL(\_x) macro fixed some
4808    of the signed-ness defects flagged by the MISRA scanner.
4809
4810- Enhancements to Firmware Update feature:
4811
4812  - The FWU logic now checks for overlapping images to prevent execution of
4813    unauthenticated arbitrary code.
4814  - Introduced new FWU_SMC_IMAGE_RESET SMC that changes the image loading state
4815    machine to go from COPYING, COPIED or AUTHENTICATED states to RESET state.
4816    Previously, this was only possible when the authentication of an image
4817    failed or when the execution of the image finished.
4818  - Fixed integer overflow which addressed TFV-1: Malformed Firmware Update SMC
4819    can result in copy of unexpectedly large data into secure memory.
4820
4821- Introduced support for Arm Compiler 6 and LLVM (clang).
4822
4823  TF-A can now also be built with the Arm Compiler 6 or the clang compilers. The
4824  assembler and linker must be provided by the GNU toolchain.
4825
4826  Tested with Arm CC 6.7 and clang 3.9.x and 4.0.x.
4827
4828- Memory footprint improvements:
4829
4830  - Introduced `tf_snprintf`, a reduced version of `snprintf` which has support
4831    for a limited set of formats.
4832
4833    The mbedtls driver is updated to optionally use `tf_snprintf` instead of
4834    `snprintf`.
4835
4836  - The `assert()` is updated to no longer print the function name, and
4837    additional logging options are supported via an optional platform define
4838    `PLAT_LOG_LEVEL_ASSERT`, which controls how verbose the assert output is.
4839
4840- Enhancements to TF-A support when running in AArch32 execution state:
4841
4842  - Support booting SP_MIN and BL33 in AArch32 execution mode on Juno. Due to
4843    hardware limitations, BL1 and BL2 boot in AArch64 state and there is
4844    additional trampoline code to warm reset into SP_MIN in AArch32 execution
4845    state.
4846  - Added support for Arm Cortex-A53/57/72 MPCore processors including the
4847    errata workarounds that are already implemented for AArch64 execution state.
4848  - For FVP platforms, added AArch32 Trusted Board Boot support, including the
4849    Firmware Update feature.
4850
4851- Introduced Arm SiP service for use by Arm standard platforms.
4852
4853  - Added new Arm SiP Service SMCs to enable the Non-secure world to read PMF
4854    timestamps.
4855
4856    Added PMF instrumentation points in TF-A in order to quantify the overall
4857    time spent in the PSCI software implementation.
4858
4859  - Added new Arm SiP service SMC to switch execution state.
4860
4861    This allows the lower exception level to change its execution state from
4862    AArch64 to AArch32, or vice verse, via a request to EL3.
4863
4864- Migrated to use SPDX\[0\] license identifiers to make software license
4865  auditing simpler.
4866
4867  \:::\{note} Files that have been imported by FreeBSD have not been modified.
4868  \:::
4869
4870  \[0\]: <https://spdx.org/>
4871
4872- Enhancements to the translation table library:
4873
4874  - Added version 2 of translation table library that allows different
4875    translation tables to be modified by using different 'contexts'. Version 1
4876    of the translation table library only allows the current EL's translation
4877    tables to be modified.
4878
4879    Version 2 of the translation table also added support for dynamic regions;
4880    regions that can be added and removed dynamically whilst the MMU is enabled.
4881    Static regions can only be added or removed before the MMU is enabled.
4882
4883    The dynamic mapping functionality is enabled or disabled when compiling by
4884    setting the build option PLAT_XLAT_TABLES_DYNAMIC to 1 or 0. This can be
4885    done per-image.
4886
4887  - Added support for translation regimes with two virtual address spaces such
4888    as the one shared by EL1 and EL0.
4889
4890    The library does not support initializing translation tables for EL0
4891    software.
4892
4893  - Added support to mark the translation tables as non-cacheable using an
4894    additional build option `XLAT_TABLE_NC`.
4895
4896- Added support for GCC stack protection. A new build option
4897  ENABLE_STACK_PROTECTOR was introduced that enables compilation of all BL
4898  images with one of the GCC -fstack-protector-\* options.
4899
4900  A new platform function plat_get_stack_protector_canary() was introduced that
4901  returns a value used to initialize the canary for stack corruption detection.
4902  For increased effectiveness of protection platforms must provide an
4903  implementation that returns a random value.
4904
4905- Enhanced support for Arm platforms:
4906
4907  - Added support for multi-threading CPUs, indicated by `MT` field in MPDIR. A
4908    new build flag `ARM_PLAT_MT` is added, and when enabled, the functions
4909    accessing MPIDR assume that the `MT` bit is set for the platform and access
4910    the bit fields accordingly.
4911
4912    Also, a new API `plat_arm_get_cpu_pe_count` is added when `ARM_PLAT_MT` is
4913    enabled, returning the Processing Element count within the physical CPU
4914    corresponding to `mpidr`.
4915
4916  - The Arm platforms migrated to use version 2 of the translation tables.
4917
4918  - Introduced a new Arm platform layer API `plat_arm_psci_override_pm_ops`
4919    which allows Arm platforms to modify `plat_arm_psci_pm_ops` and therefore
4920    dynamically define PSCI capability.
4921
4922  - The Arm platforms migrated to use IMAGE_LOAD_V2 by default.
4923
4924- Enhanced reporting of errata workaround status with the following policy:
4925
4926  - If an errata workaround is enabled:
4927
4928    - If it applies (i.e. the CPU is affected by the errata), an INFO message is
4929      printed, confirming that the errata workaround has been applied.
4930    - If it does not apply, a VERBOSE message is printed, confirming that the
4931      errata workaround has been skipped.
4932
4933  - If an errata workaround is not enabled, but would have applied had it been,
4934    a WARN message is printed, alerting that errata workaround is missing.
4935
4936- Added build options ARM_ARCH_MAJOR and ARM_ARM_MINOR to choose the
4937  architecture version to target TF-A.
4938
4939- Updated the spin lock implementation to use the more efficient CAS (Compare
4940  And Swap) instruction when available. This instruction was introduced in
4941  Armv8.1-A.
4942
4943- Applied errata workaround for Arm Cortex-A53: 855873.
4944
4945- Applied errata workaround for Arm-Cortex-A57: 813419.
4946
4947- Enabled all A53 and A57 errata workarounds for Juno, both in AArch64 and
4948  AArch32 execution states.
4949
4950- Added support for Socionext UniPhier SoC platform.
4951
4952- Added support for Hikey960 and Hikey platforms.
4953
4954- Added support for Rockchip RK3328 platform.
4955
4956- Added support for NVidia Tegra T186 platform.
4957
4958- Added support for Designware emmc driver.
4959
4960- Imported libfdt v1.4.2 that addresses buffer overflow in fdt_offset_ptr().
4961
4962- Enhanced the CPU operations framework to allow power handlers to be registered
4963  on per-level basis. This enables support for future CPUs that have multiple
4964  threads which might need powering down individually.
4965
4966- Updated register initialisation to prevent unexpected behaviour:
4967
4968  - Debug registers MDCR-EL3/SDCR and MDCR_EL2/HDCR are initialised to avoid
4969    unexpected traps into the higher exception levels and disable secure
4970    self-hosted debug. Additionally, secure privileged external debug on Juno is
4971    disabled by programming the appropriate Juno SoC registers.
4972  - EL2 and EL3 configurable controls are initialised to avoid unexpected traps
4973    in the higher exception levels.
4974  - Essential control registers are fully initialised on EL3 start-up, when
4975    initialising the non-secure and secure context structures and when preparing
4976    to leave EL3 for a lower EL. This gives better alignment with the Arm ARM
4977    which states that software must initialise RES0 and RES1 fields with 0 / 1.
4978
4979- Enhanced PSCI support:
4980
4981  - Introduced new platform interfaces that decouple PSCI stat residency
4982    calculation from PMF, enabling platforms to use alternative methods of
4983    capturing timestamps.
4984  - PSCI stat accounting performed for retention/standby states when requested
4985    at multiple power levels.
4986
4987- Simplified fiptool to have a single linked list of image descriptors.
4988
4989- For the TSP, resolved corruption of pre-empted secure context by aborting any
4990  pre-empted SMC during PSCI power management requests.
4991
4992### Issues resolved since last release
4993
4994- TF-A can be built with the latest mbed TLS version (v2.4.2). The earlier
4995  version 2.3.0 cannot be used due to build warnings that the TF-A build system
4996  interprets as errors.
4997- TBBR, including the Firmware Update feature is now supported on FVP platforms
4998  when running TF-A in AArch32 state.
4999- The version of the AEMv8 Base FVP used in this release has resolved the issue
5000  of the model executing a reset instead of terminating in response to a
5001  shutdown request using the PSCI SYSTEM_OFF API.
5002
5003### Known Issues
5004
5005- Building TF-A with compiler optimisations disabled (-O0) fails.
5006- Trusted Board Boot currently does not work on Juno when running Trusted
5007  Firmware in AArch32 execution state due to error when loading the sp_min to
5008  memory because of lack of free space available. See [tf-issue#501] for more
5009  details.
5010- The errata workaround for A53 errata 843419 is only available from binutils
5011  2.26 and is not present in GCC4.9. If this errata is applicable to the
5012  platform, please use GCC compiler version of at least 5.0. See [PR#1002] for
5013  more details.
5014
5015## [1.3.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.2..refs/tags/v1.3) (2016-10-13)
5016
5017### New features
5018
5019- Added support for running TF-A in AArch32 execution state.
5020
5021  The PSCI library has been refactored to allow integration with **EL3 Runtime
5022  Software**. This is software that is executing at the highest secure privilege
5023  which is EL3 in AArch64 or Secure SVC/Monitor mode in AArch32. See
5024  \{ref}`PSCI Library Integration guide for Armv8-A AArch32 systems`.
5025
5026  Included is a minimal AArch32 Secure Payload, **SP-MIN**, that illustrates the
5027  usage and integration of the PSCI library with EL3 Runtime Software running in
5028  AArch32 state.
5029
5030  Booting to the BL1/BL2 images as well as booting straight to the Secure
5031  Payload is supported.
5032
5033- Improvements to the initialization framework for the PSCI service and Arm
5034  Standard Services in general.
5035
5036  The PSCI service is now initialized as part of Arm Standard Service
5037  initialization. This consolidates the initializations of any Arm Standard
5038  Service that may be added in the future.
5039
5040  A new function `get_arm_std_svc_args()` is introduced to get arguments
5041  corresponding to each standard service and must be implemented by the EL3
5042  Runtime Software.
5043
5044  For PSCI, a new versioned structure `psci_lib_args_t` is introduced to
5045  initialize the PSCI Library. **Note** this is a compatibility break due to the
5046  change in the prototype of `psci_setup()`.
5047
5048- To support AArch32 builds of BL1 and BL2, implemented a new, alternative
5049  firmware image loading mechanism that adds flexibility.
5050
5051  The current mechanism has a hard-coded set of images and execution order
5052  (BL31, BL32, etc). The new mechanism is data-driven by a list of image
5053  descriptors provided by the platform code.
5054
5055  Arm platforms have been updated to support the new loading mechanism.
5056
5057  The new mechanism is enabled by a build flag (`LOAD_IMAGE_V2`) which is
5058  currently off by default for the AArch64 build.
5059
5060  **Note** `TRUSTED_BOARD_BOOT` is currently not supported when `LOAD_IMAGE_V2`
5061  is enabled.
5062
5063- Updated requirements for making contributions to TF-A.
5064
5065  Commits now must have a 'Signed-off-by:' field to certify that the
5066  contribution has been made under the terms of the
5067  {download}`Developer Certificate of Origin <../dco.txt>`.
5068
5069  A signed CLA is no longer required.
5070
5071  The {ref}`Contributor's Guide` has been updated to reflect this change.
5072
5073- Introduced Performance Measurement Framework (PMF) which provides support for
5074  capturing, storing, dumping and retrieving time-stamps to measure the
5075  execution time of critical paths in the firmware. This relies on defining
5076  fixed sample points at key places in the code.
5077
5078- To support the QEMU platform port, imported libfdt v1.4.1 from
5079  <https://git.kernel.org/pub/scm/utils/dtc/dtc.git>
5080
5081- Updated PSCI support:
5082
5083  - Added support for PSCI NODE_HW_STATE API for Arm platforms.
5084  - New optional platform hook, `pwr_domain_pwr_down_wfi()`, in `plat_psci_ops`
5085    to enable platforms to perform platform-specific actions needed to enter
5086    powerdown, including the 'wfi' invocation.
5087  - PSCI STAT residency and count functions have been added on Arm platforms by
5088    using PMF.
5089
5090- Enhancements to the translation table library:
5091
5092  - Limited memory mapping support for region overlaps to only allow regions to
5093    overlap that are identity mapped or have the same virtual to physical
5094    address offset, and overlap completely but must not cover the same area.
5095
5096    This limitation will enable future enhancements without having to support
5097    complex edge cases that may not be necessary.
5098
5099  - The initial translation lookup level is now inferred from the virtual
5100    address space size. Previously, it was hard-coded.
5101
5102  - Added support for mapping Normal, Inner Non-cacheable, Outer Non-cacheable
5103    memory in the translation table library.
5104
5105    This can be useful to map a non-cacheable memory region, such as a DMA
5106    buffer.
5107
5108  - Introduced the MT_EXECUTE/MT_EXECUTE_NEVER memory mapping attributes to
5109    specify the access permissions for instruction execution of a memory region.
5110
5111- Enabled support to isolate code and read-only data on separate memory pages,
5112  allowing independent access control to be applied to each.
5113
5114- Enabled SCR_EL3.SIF (Secure Instruction Fetch) bit in BL1 and BL31 common
5115  architectural setup code, preventing fetching instructions from non-secure
5116  memory when in secure state.
5117
5118- Enhancements to FIP support:
5119
5120  - Replaced `fip_create` with `fiptool` which provides a more consistent and
5121    intuitive interface as well as additional support to remove an image from a
5122    FIP file.
5123  - Enabled printing the SHA256 digest with info command, allowing quick
5124    verification of an image within a FIP without having to extract the image
5125    and running sha256sum on it.
5126  - Added support for unpacking the contents of an existing FIP file into the
5127    working directory.
5128  - Aligned command line options for specifying images to use same naming
5129    convention as specified by TBBR and already used in cert_create tool.
5130
5131- Refactored the TZC-400 driver to also support memory controllers that
5132  integrate TZC functionality, for example Arm CoreLink DMC-500. Also added
5133  DMC-500 specific support.
5134
5135- Implemented generic delay timer based on the system generic counter and
5136  migrated all platforms to use it.
5137
5138- Enhanced support for Arm platforms:
5139
5140  - Updated image loading support to make SCP images (SCP_BL2 and SCP_BL2U)
5141    optional.
5142  - Enhanced topology description support to allow multi-cluster topology
5143    definitions.
5144  - Added interconnect abstraction layer to help platform ports select the right
5145    interconnect driver, CCI or CCN, for the platform.
5146  - Added support to allow loading BL31 in the TZC-secured DRAM instead of the
5147    default secure SRAM.
5148  - Added support to use a System Security Control (SSC) Registers Unit enabling
5149    TF-A to be compiled to support multiple Arm platforms and then select one at
5150    runtime.
5151  - Restricted mapping of Trusted ROM in BL1 to what is actually needed by BL1
5152    rather than entire Trusted ROM region.
5153  - Flash is now mapped as execute-never by default. This increases security by
5154    restricting the executable region to what is strictly needed.
5155
5156- Applied following erratum workarounds for Cortex-A57: 833471, 826977, 829520,
5157  828024 and 826974.
5158
5159- Added support for Mediatek MT6795 platform.
5160
5161- Added support for QEMU virtualization Armv8-A target.
5162
5163- Added support for Rockchip RK3368 and RK3399 platforms.
5164
5165- Added support for Xilinx Zynq UltraScale+ MPSoC platform.
5166
5167- Added support for Arm Cortex-A73 MPCore Processor.
5168
5169- Added support for Arm Cortex-A72 processor.
5170
5171- Added support for Arm Cortex-A35 processor.
5172
5173- Added support for Arm Cortex-A32 MPCore Processor.
5174
5175- Enabled preloaded BL33 alternative boot flow, in which BL2 does not load BL33
5176  from non-volatile storage and BL31 hands execution over to a preloaded BL33.
5177  The User Guide has been updated with an example of how to use this option with
5178  a bootwrapped kernel.
5179
5180- Added support to build TF-A on a Windows-based host machine.
5181
5182- Updated Trusted Board Boot prototype implementation:
5183
5184  - Enabled the ability for a production ROM with TBBR enabled to boot test
5185    software before a real ROTPK is deployed (e.g. manufacturing mode). Added
5186    support to use ROTPK in certificate without verifying against the platform
5187    value when `ROTPK_NOT_DEPLOYED` bit is set.
5188  - Added support for non-volatile counter authentication to the Authentication
5189    Module to protect against roll-back.
5190
5191- Updated GICv3 support:
5192
5193  - Enabled processor power-down and automatic power-on using GICv3.
5194  - Enabled G1S or G0 interrupts to be configured independently.
5195  - Changed FVP default interrupt driver to be the GICv3-only driver. **Note**
5196    the default build of TF-A will not be able to boot Linux kernel with GICv2
5197    FDT blob.
5198  - Enabled wake-up from CPU_SUSPEND to stand-by by temporarily re-routing
5199    interrupts and then restoring after resume.
5200
5201### Issues resolved since last release
5202
5203### Known issues
5204
5205- The version of the AEMv8 Base FVP used in this release resets the model
5206  instead of terminating its execution in response to a shutdown request using
5207  the PSCI `SYSTEM_OFF` API. This issue will be fixed in a future version of the
5208  model.
5209- Building TF-A with compiler optimisations disabled (`-O0`) fails.
5210- TF-A cannot be built with mbed TLS version v2.3.0 due to build warnings that
5211  the TF-A build system interprets as errors.
5212- TBBR is not currently supported when running TF-A in AArch32 state.
5213
5214## [1.2.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.1..refs/tags/v1.2) (2015-12-22)
5215
5216### New features
5217
5218- The Trusted Board Boot implementation on Arm platforms now conforms to the
5219  mandatory requirements of the TBBR specification.
5220
5221  In particular, the boot process is now guarded by a Trusted Watchdog, which
5222  will reset the system in case of an authentication or loading error. On Arm
5223  platforms, a secure instance of Arm SP805 is used as the Trusted Watchdog.
5224
5225  Also, a firmware update process has been implemented. It enables authenticated
5226  firmware to update firmware images from external interfaces to SoC
5227  Non-Volatile memories. This feature functions even when the current firmware
5228  in the system is corrupt or missing; it therefore may be used as a recovery
5229  mode.
5230
5231- Improvements have been made to the Certificate Generation Tool (`cert_create`)
5232  as follows.
5233
5234  - Added support for the Firmware Update process by extending the Chain of
5235    Trust definition in the tool to include the Firmware Update certificate and
5236    the required extensions.
5237  - Introduced a new API that allows one to specify command line options in the
5238    Chain of Trust description. This makes the declaration of the tool's
5239    arguments more flexible and easier to extend.
5240  - The tool has been reworked to follow a data driven approach, which makes it
5241    easier to maintain and extend.
5242
5243- Extended the FIP tool (`fip_create`) to support the new set of images involved
5244  in the Firmware Update process.
5245
5246- Various memory footprint improvements. In particular:
5247
5248  - The bakery lock structure for coherent memory has been optimised.
5249  - The mbed TLS SHA1 functions are not needed, as SHA256 is used to generate
5250    the certificate signature. Therefore, they have been compiled out, reducing
5251    the memory footprint of BL1 and BL2 by approximately 6 KB.
5252  - On Arm development platforms, each BL stage now individually defines the
5253    number of regions that it needs to map in the MMU.
5254
5255- Added the following new design documents:
5256
5257  - {ref}`Authentication Framework & Chain of Trust`
5258  - {ref}`Firmware Update (FWU)`
5259  - {ref}`CPU Reset`
5260  - {ref}`PSCI Power Domain Tree Structure`
5261
5262- Applied the new image terminology to the code base and documentation, as
5263  described in the {ref}`Image Terminology` document.
5264
5265- The build system has been reworked to improve readability and facilitate
5266  adding future extensions.
5267
5268- On Arm standard platforms, BL31 uses the boot console during cold boot but
5269  switches to the runtime console for any later logs at runtime. The TSP uses
5270  the runtime console for all output.
5271
5272- Implemented a basic NOR flash driver for Arm platforms. It programs the device
5273  using CFI (Common Flash Interface) standard commands.
5274
5275- Implemented support for booting EL3 payloads on Arm platforms, which reduces
5276  the complexity of developing EL3 baremetal code by doing essential baremetal
5277  initialization.
5278
5279- Provided separate drivers for GICv3 and GICv2. These expect the entire
5280  software stack to use either GICv2 or GICv3; hybrid GIC software systems are
5281  no longer supported and the legacy Arm GIC driver has been deprecated.
5282
5283- Added support for Juno r1 and r2. A single set of Juno TF-A binaries can run
5284  on Juno r0, r1 and r2 boards. Note that this TF-A version depends on a Linaro
5285  release that does *not* contain Juno r2 support.
5286
5287- Added support for MediaTek mt8173 platform.
5288
5289- Implemented a generic driver for Arm CCN IP.
5290
5291- Major rework of the PSCI implementation.
5292
5293  - Added framework to handle composite power states.
5294  - Decoupled the notions of affinity instances (which describes the
5295    hierarchical arrangement of cores) and of power domain topology, instead of
5296    assuming a one-to-one mapping.
5297  - Better alignment with version 1.0 of the PSCI specification.
5298
5299- Added support for the SYSTEM_SUSPEND PSCI API on Arm platforms. When invoked
5300  on the last running core on a supported platform, this puts the system into a
5301  low power mode with memory retention.
5302
5303- Unified the reset handling code as much as possible across BL stages. Also
5304  introduced some build options to enable optimization of the reset path on
5305  platforms that support it.
5306
5307- Added a simple delay timer API, as well as an SP804 timer driver, which is
5308  enabled on FVP.
5309
5310- Added support for NVidia Tegra T210 and T132 SoCs.
5311
5312- Reorganised Arm platforms ports to greatly improve code shareability and
5313  facilitate the reuse of some of this code by other platforms.
5314
5315- Added support for Arm Cortex-A72 processor in the CPU specific framework.
5316
5317- Provided better error handling. Platform ports can now define their own error
5318  handling, for example to perform platform specific bookkeeping or post-error
5319  actions.
5320
5321- Implemented a unified driver for Arm Cache Coherent Interconnects used for
5322  both CCI-400 & CCI-500 IPs. Arm platforms ports have been migrated to this
5323  common driver. The standalone CCI-400 driver has been deprecated.
5324
5325### Issues resolved since last release
5326
5327- The Trusted Board Boot implementation has been redesigned to provide greater
5328  modularity and scalability. See the
5329  \{ref}`Authentication Framework & Chain of Trust` document. All missing
5330  mandatory features are now implemented.
5331- The FVP and Juno ports may now use the hash of the ROTPK stored in the Trusted
5332  Key Storage registers to verify the ROTPK. Alternatively, a development public
5333  key hash embedded in the BL1 and BL2 binaries might be used instead. The
5334  location of the ROTPK is chosen at build-time using the `ARM_ROTPK_LOCATION`
5335  build option.
5336- GICv3 is now fully supported and stable.
5337
5338### Known issues
5339
5340- The version of the AEMv8 Base FVP used in this release resets the model
5341  instead of terminating its execution in response to a shutdown request using
5342  the PSCI `SYSTEM_OFF` API. This issue will be fixed in a future version of the
5343  model.
5344- While this version has low on-chip RAM requirements, there are further RAM
5345  usage enhancements that could be made.
5346- The upstream documentation could be improved for structural consistency,
5347  clarity and completeness. In particular, the design documentation is
5348  incomplete for PSCI, the TSP(D) and the Juno platform.
5349- Building TF-A with compiler optimisations disabled (`-O0`) fails.
5350
5351## [1.1.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.0..refs/tags/v1.1) (2015-02-04)
5352
5353### New features
5354
5355- A prototype implementation of Trusted Board Boot has been added. Boot loader
5356  images are verified by BL1 and BL2 during the cold boot path. BL1 and BL2 use
5357  the PolarSSL SSL library to verify certificates and images. The OpenSSL
5358  library is used to create the X.509 certificates. Support has been added to
5359  `fip_create` tool to package the certificates in a FIP.
5360
5361- Support for calling CPU and platform specific reset handlers upon entry into
5362  BL3-1 during the cold and warm boot paths has been added. This happens after
5363  another Boot ROM `reset_handler()` has already run. This enables a developer
5364  to perform additional actions or undo actions already performed during the
5365  first call of the reset handlers e.g. apply additional errata workarounds.
5366
5367- Support has been added to demonstrate routing of IRQs to EL3 instead of S-EL1
5368  when execution is in secure world.
5369
5370- The PSCI implementation now conforms to version 1.0 of the PSCI specification.
5371  All the mandatory APIs and selected optional APIs are supported. In
5372  particular, support for the `PSCI_FEATURES` API has been added. A capability
5373  variable is constructed during initialization by examining the `plat_pm_ops`
5374  and `spd_pm_ops` exported by the platform and the Secure Payload Dispatcher.
5375  This is used by the PSCI FEATURES function to determine which PSCI APIs are
5376  supported by the platform.
5377
5378- Improvements have been made to the PSCI code as follows.
5379
5380  - The code has been refactored to remove redundant parameters from internal
5381    functions.
5382  - Changes have been made to the code for PSCI `CPU_SUSPEND`, `CPU_ON` and
5383    `CPU_OFF` calls to facilitate an early return to the caller in case a
5384    failure condition is detected. For example, a PSCI `CPU_SUSPEND` call
5385    returns `SUCCESS` to the caller if a pending interrupt is detected early in
5386    the code path.
5387  - Optional platform APIs have been added to validate the `power_state` and
5388    `entrypoint` parameters early in PSCI `CPU_ON` and `CPU_SUSPEND` code paths.
5389  - PSCI migrate APIs have been reworked to invoke the SPD hook to determine the
5390    type of Trusted OS and the CPU it is resident on (if applicable). Also,
5391    during a PSCI `MIGRATE` call, the SPD hook to migrate the Trusted OS is
5392    invoked.
5393
5394- It is now possible to build TF-A without marking at least an extra page of
5395  memory as coherent. The build flag `USE_COHERENT_MEM` can be used to choose
5396  between the two implementations. This has been made possible through these
5397  changes.
5398
5399  - An implementation of Bakery locks, where the locks are not allocated in
5400    coherent memory has been added.
5401  - Memory which was previously marked as coherent is now kept coherent through
5402    the use of software cache maintenance operations.
5403
5404  Approximately, 4K worth of memory is saved for each boot loader stage when
5405  `USE_COHERENT_MEM=0`. Enabling this option increases the latencies associated
5406  with acquire and release of locks. It also requires changes to the platform
5407  ports.
5408
5409- It is now possible to specify the name of the FIP at build time by defining
5410  the `FIP_NAME` variable.
5411
5412- Issues with dependencies on the 'fiptool' makefile target have been rectified.
5413  The `fip_create` tool is now rebuilt whenever its source files change.
5414
5415- The BL3-1 runtime console is now also used as the crash console. The crash
5416  console is changed to SoC UART0 (UART2) from the previous FPGA UART0 (UART0)
5417  on Juno. In FVP, it is changed from UART0 to UART1.
5418
5419- CPU errata workarounds are applied only when the revision and part number
5420  match. This behaviour has been made consistent across the debug and release
5421  builds. The debug build additionally prints a warning if a mismatch is
5422  detected.
5423
5424- It is now possible to issue cache maintenance operations by set/way for a
5425  particular level of data cache. Levels 1-3 are currently supported.
5426
5427- The following improvements have been made to the FVP port.
5428
5429  - The build option `FVP_SHARED_DATA_LOCATION` which allowed relocation of
5430    shared data into the Trusted DRAM has been deprecated. Shared data is now
5431    always located at the base of Trusted SRAM.
5432  - BL2 Translation tables have been updated to map only the region of DRAM
5433    which is accessible to normal world. This is the region of the 2GB DDR-DRAM
5434    memory at 0x80000000 excluding the top 16MB. The top 16MB is accessible to
5435    only the secure world.
5436  - BL3-2 can now reside in the top 16MB of DRAM which is accessible only to the
5437    secure world. This can be done by setting the build flag
5438    `FVP_TSP_RAM_LOCATION` to the value `dram`.
5439
5440- Separate translation tables are created for each boot loader image. The
5441  `IMAGE_BLx` build options are used to do this. This allows each stage to
5442  create mappings only for areas in the memory map that it needs.
5443
5444- A Secure Payload Dispatcher (OPTEED) for the OP-TEE Trusted OS has been added.
5445  Details of using it with TF-A can be found in {ref}`OP-TEE Dispatcher`
5446
5447### Issues resolved since last release
5448
5449- The Juno port has been aligned with the FVP port as follows.
5450
5451  - Support for reclaiming all BL1 RW memory and BL2 memory by overlaying the
5452    BL3-1/BL3-2 NOBITS sections on top of them has been added to the Juno port.
5453  - The top 16MB of the 2GB DDR-DRAM memory at 0x80000000 is configured using
5454    the TZC-400 controller to be accessible only to the secure world.
5455  - The Arm GIC driver is used to configure the GIC-400 instead of using a GIC
5456    driver private to the Juno port.
5457  - PSCI `CPU_SUSPEND` calls that target a standby state are now supported.
5458  - The TZC-400 driver is used to configure the controller instead of direct
5459    accesses to the registers.
5460
5461- The Linux kernel version referred to in the user guide has DVFS and HMP
5462  support enabled.
5463
5464- DS-5 v5.19 did not detect Version 5.8 of the Cortex-A57-A53 Base FVPs in CADI
5465  server mode. This issue is not seen with DS-5 v5.20 and Version 6.2 of the
5466  Cortex-A57-A53 Base FVPs.
5467
5468### Known issues
5469
5470- The Trusted Board Boot implementation is a prototype. There are issues with
5471  the modularity and scalability of the design. Support for a Trusted Watchdog,
5472  firmware update mechanism, recovery images and Trusted debug is absent. These
5473  issues will be addressed in future releases.
5474- The FVP and Juno ports do not use the hash of the ROTPK stored in the Trusted
5475  Key Storage registers to verify the ROTPK in the `plat_match_rotpk()`
5476  function. This prevents the correct establishment of the Chain of Trust at the
5477  first step in the Trusted Board Boot process.
5478- The version of the AEMv8 Base FVP used in this release resets the model
5479  instead of terminating its execution in response to a shutdown request using
5480  the PSCI `SYSTEM_OFF` API. This issue will be fixed in a future version of the
5481  model.
5482- GICv3 support is experimental. There are known issues with GICv3
5483  initialization in the TF-A.
5484- While this version greatly reduces the on-chip RAM requirements, there are
5485  further RAM usage enhancements that could be made.
5486- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
5487  its dispatcher (TSPD) is incomplete. Similarly for the PSCI section.
5488- The Juno-specific firmware design documentation is incomplete.
5489
5490## [1.0.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v0.4..refs/tags/v1.0) (2014-08-28)
5491
5492### New features
5493
5494- It is now possible to map higher physical addresses using non-flat virtual to
5495  physical address mappings in the MMU setup.
5496
5497- Wider use is now made of the per-CPU data cache in BL3-1 to store:
5498
5499  - Pointers to the non-secure and secure security state contexts.
5500  - A pointer to the CPU-specific operations.
5501  - A pointer to PSCI specific information (for example the current power
5502    state).
5503  - A crash reporting buffer.
5504
5505- The following RAM usage improvements result in a BL3-1 RAM usage reduction
5506  from 96KB to 56KB (for FVP with TSPD), and a total RAM usage reduction across
5507  all images from 208KB to 88KB, compared to the previous release.
5508
5509  - Removed the separate `early_exception` vectors from BL3-1 (2KB code size
5510    saving).
5511  - Removed NSRAM from the FVP memory map, allowing the removal of one (4KB)
5512    translation table.
5513  - Eliminated the internal `psci_suspend_context` array, saving 2KB.
5514  - Correctly dimensioned the PSCI `aff_map_node` array, saving 1.5KB in the FVP
5515    port.
5516  - Removed calling CPU mpidr from the bakery lock API, saving 160 bytes.
5517  - Removed current CPU mpidr from PSCI common code, saving 160 bytes.
5518  - Inlined the mmio accessor functions, saving 360 bytes.
5519  - Fully reclaimed all BL1 RW memory and BL2 memory on the FVP port by
5520    overlaying the BL3-1/BL3-2 NOBITS sections on top of these at runtime.
5521  - Made storing the FP register context optional, saving 0.5KB per context (8KB
5522    on the FVP port, with TSPD enabled and running on 8 CPUs).
5523  - Implemented a leaner `tf_printf()` function, allowing the stack to be
5524    greatly reduced.
5525  - Removed coherent stacks from the codebase. Stacks allocated in normal memory
5526    are now used before and after the MMU is enabled. This saves 768 bytes per
5527    CPU in BL3-1.
5528  - Reworked the crash reporting in BL3-1 to use less stack.
5529  - Optimized the EL3 register state stored in the `cpu_context` structure so
5530    that registers that do not change during normal execution are re-initialized
5531    each time during cold/warm boot, rather than restored from memory. This
5532    saves about 1.2KB.
5533  - As a result of some of the above, reduced the runtime stack size in all BL
5534    images. For BL3-1, this saves 1KB per CPU.
5535
5536- PSCI SMC handler improvements to correctly handle calls from secure states and
5537  from AArch32.
5538
5539- CPU contexts are now initialized from the `entry_point_info`. BL3-1 fully
5540  determines the exception level to use for the non-trusted firmware (BL3-3)
5541  based on the SPSR value provided by the BL2 platform code (or otherwise
5542  provided to BL3-1). This allows platform code to directly run non-trusted
5543  firmware payloads at either EL2 or EL1 without requiring an EL2 stub or OS
5544  loader.
5545
5546- Code refactoring improvements:
5547
5548  - Refactored `fvp_config` into a common platform header.
5549  - Refactored the fvp gic code to be a generic driver that no longer has an
5550    explicit dependency on platform code.
5551  - Refactored the CCI-400 driver to not have dependency on platform code.
5552  - Simplified the IO driver so it's no longer necessary to call `io_init()` and
5553    moved all the IO storage framework code to one place.
5554  - Simplified the interface the the TZC-400 driver.
5555  - Clarified the platform porting interface to the TSP.
5556  - Reworked the TSPD setup code to support the alternate BL3-2 initialization
5557    flow where BL3-1 generic code hands control to BL3-2, rather than expecting
5558    the TSPD to hand control directly to BL3-2.
5559  - Considerable rework to PSCI generic code to support CPU specific operations.
5560
5561- Improved console log output, by:
5562
5563  - Adding the concept of debug log levels.
5564  - Rationalizing the existing debug messages and adding new ones.
5565  - Printing out the version of each BL stage at runtime.
5566  - Adding support for printing console output from assembler code, including
5567    when a crash occurs before the C runtime is initialized.
5568
5569- Moved up to the latest versions of the FVPs, toolchain, EDK2, kernel, Linaro
5570  file system and DS-5.
5571
5572- On the FVP port, made the use of the Trusted DRAM region optional at build
5573  time (off by default). Normal platforms will not have such a "ready-to-use"
5574  DRAM area so it is not a good example to use it.
5575
5576- Added support for PSCI `SYSTEM_OFF` and `SYSTEM_RESET` APIs.
5577
5578- Added support for CPU specific reset sequences, power down sequences and
5579  register dumping during crash reporting. The CPU specific reset sequences
5580  include support for errata workarounds.
5581
5582- Merged the Juno port into the master branch. Added support for CPU hotplug and
5583  CPU idle. Updated the user guide to describe how to build and run on the Juno
5584  platform.
5585
5586### Issues resolved since last release
5587
5588- Removed the concept of top/bottom image loading. The image loader now
5589  automatically detects the position of the image inside the current memory
5590  layout and updates the layout to minimize fragmentation. This resolves the
5591  image loader limitations of previously releases. There are currently no plans
5592  to support dynamic image loading.
5593- CPU idle now works on the publicized version of the Foundation FVP.
5594- All known issues relating to the compiler version used have now been resolved.
5595  This TF-A version uses Linaro toolchain 14.07 (based on GCC 4.9).
5596
5597### Known issues
5598
5599- GICv3 support is experimental. The Linux kernel patches to support this are
5600  not widely available. There are known issues with GICv3 initialization in the
5601  TF-A.
5602
5603- While this version greatly reduces the on-chip RAM requirements, there are
5604  further RAM usage enhancements that could be made.
5605
5606- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
5607  its dispatcher (TSPD) is incomplete. Similarly for the PSCI section.
5608
5609- The Juno-specific firmware design documentation is incomplete.
5610
5611- Some recent enhancements to the FVP port have not yet been translated into the
5612  Juno port. These will be tracked via the tf-issues project.
5613
5614- The Linux kernel version referred to in the user guide has DVFS and HMP
5615  support disabled due to some known instabilities at the time of this release.
5616  A future kernel version will re-enable these features.
5617
5618- DS-5 v5.19 does not detect Version 5.8 of the Cortex-A57-A53 Base FVPs in CADI
5619  server mode. This is because the `<SimName>` reported by the FVP in this
5620  version has changed. For example, for the Cortex-A57x4-A53x4 Base FVP, the
5621  `<SimName>` reported by the FVP is `FVP_Base_Cortex_A57x4_A53x4`, while DS-5
5622  expects it to be `FVP_Base_A57x4_A53x4`.
5623
5624  The temporary fix to this problem is to change the name of the FVP in
5625  `sw/debugger/configdb/Boards/ARM FVP/Base_A57x4_A53x4/cadi_config.xml`. Change
5626  the following line:
5627
5628  ```
5629  <SimName>System Generator:FVP_Base_A57x4_A53x4</SimName>
5630  ```
5631
5632  to System Generator:FVP_Base_Cortex-A57x4_A53x4
5633
5634  A similar change can be made to the other Cortex-A57-A53 Base FVP variants.
5635
5636## [0.4.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v0.3..refs/tags/v0.4) (2014-06-03)
5637
5638### New features
5639
5640- Makefile improvements:
5641
5642  - Improved dependency checking when building.
5643  - Removed `dump` target (build now always produces dump files).
5644  - Enabled platform ports to optionally make use of parts of the Trusted
5645    Firmware (e.g. BL3-1 only), rather than being forced to use all parts. Also
5646    made the `fip` target optional.
5647  - Specified the full path to source files and removed use of the `vpath`
5648    keyword.
5649
5650- Provided translation table library code for potential re-use by platforms
5651  other than the FVPs.
5652
5653- Moved architectural timer setup to platform-specific code.
5654
5655- Added standby state support to PSCI cpu_suspend implementation.
5656
5657- SRAM usage improvements:
5658
5659  - Started using the `-ffunction-sections`, `-fdata-sections` and
5660    `--gc-sections` compiler/linker options to remove unused code and data from
5661    the images. Previously, all common functions were being built into all
5662    binary images, whether or not they were actually used.
5663  - Placed all assembler functions in their own section to allow more unused
5664    functions to be removed from images.
5665  - Updated BL1 and BL2 to use a single coherent stack each, rather than one per
5666    CPU.
5667  - Changed variables that were unnecessarily declared and initialized as
5668    non-const (i.e. in the .data section) so they are either uninitialized (zero
5669    init) or const.
5670
5671- Moved the Test Secure-EL1 Payload (BL3-2) to execute in Trusted SRAM by
5672  default. The option for it to run in Trusted DRAM remains.
5673
5674- Implemented a TrustZone Address Space Controller (TZC-400) driver. A default
5675  configuration is provided for the Base FVPs. This means the model parameter
5676  `-C bp.secure_memory=1` is now supported.
5677
5678- Started saving the PSCI cpu_suspend 'power_state' parameter prior to
5679  suspending a CPU. This allows platforms that implement multiple power-down
5680  states at the same affinity level to identify a specific state.
5681
5682- Refactored the entire codebase to reduce the amount of nesting in header files
5683  and to make the use of system/user includes more consistent. Also split
5684  platform.h to separate out the platform porting declarations from the required
5685  platform porting definitions and the definitions/declarations specific to the
5686  platform port.
5687
5688- Optimized the data cache clean/invalidate operations.
5689
5690- Improved the BL3-1 unhandled exception handling and reporting. Unhandled
5691  exceptions now result in a dump of registers to the console.
5692
5693- Major rework to the handover interface between BL stages, in particular the
5694  interface to BL3-1. The interface now conforms to a specification and is more
5695  future proof.
5696
5697- Added support for optionally making the BL3-1 entrypoint a reset handler
5698  (instead of BL1). This allows platforms with an alternative image loading
5699  architecture to re-use BL3-1 with fewer modifications to generic code.
5700
5701- Reserved some DDR DRAM for secure use on FVP platforms to avoid future
5702  compatibility problems with non-secure software.
5703
5704- Added support for secure interrupts targeting the Secure-EL1 Payload (SP)
5705  (using GICv2 routing only). Demonstrated this working by adding an interrupt
5706  target and supporting test code to the TSP. Also demonstrated non-secure
5707  interrupt handling during TSP processing.
5708
5709### Issues resolved since last release
5710
5711- Now support use of the model parameter `-C bp.secure_memory=1` in the Base
5712  FVPs (see **New features**).
5713- Support for secure world interrupt handling now available (see **New
5714  features**).
5715- Made enough SRAM savings (see **New features**) to enable the Test Secure-EL1
5716  Payload (BL3-2) to execute in Trusted SRAM by default.
5717- The tested filesystem used for this release (Linaro AArch64 OpenEmbedded
5718  14.04) now correctly reports progress in the console.
5719- Improved the Makefile structure to make it easier to separate out parts of the
5720  TF-A for re-use in platform ports. Also, improved target dependency checking.
5721
5722### Known issues
5723
5724- GICv3 support is experimental. The Linux kernel patches to support this are
5725  not widely available. There are known issues with GICv3 initialization in the
5726  TF-A.
5727- Dynamic image loading is not available yet. The current image loader
5728  implementation (used to load BL2 and all subsequent images) has some
5729  limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to
5730  loading errors, even if the images should theoretically fit in memory.
5731- TF-A still uses too much on-chip Trusted SRAM. A number of RAM usage
5732  enhancements have been identified to rectify this situation.
5733- CPU idle does not work on the advertised version of the Foundation FVP. Some
5734  FVP fixes are required that are not available externally at the time of
5735  writing. This can be worked around by disabling CPU idle in the Linux kernel.
5736- Various bugs in TF-A, UEFI and the Linux kernel have been observed when using
5737  Linaro toolchain versions later than 13.11. Although most of these have been
5738  fixed, some remain at the time of writing. These mainly seem to relate to a
5739  subtle change in the way the compiler converts between 64-bit and 32-bit
5740  values (e.g. during casting operations), which reveals previously hidden bugs
5741  in client code.
5742- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
5743  its dispatcher (TSPD) is incomplete. Similarly for the PSCI section.
5744
5745## [0.3.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v0.2..refs/tags/v0.3) (2014-02-28)
5746
5747### New features
5748
5749- Support for Foundation FVP Version 2.0 added. The documented UEFI
5750  configuration disables some devices that are unavailable in the Foundation
5751  FVP, including MMC and CLCD. The resultant UEFI binary can be used on the
5752  AEMv8 and Cortex-A57-A53 Base FVPs, as well as the Foundation FVP.
5753
5754  \:::\{note} The software will not work on Version 1.0 of the Foundation FVP.
5755  \:::
5756
5757- Enabled third party contributions. Added a new contributing.md containing
5758  instructions for how to contribute and updated copyright text in all files to
5759  acknowledge contributors.
5760
5761- The PSCI CPU_SUSPEND API has been stabilised to the extent where it can be
5762  used for entry into power down states with the following restrictions:
5763
5764  - Entry into standby states is not supported.
5765  - The API is only supported on the AEMv8 and Cortex-A57-A53 Base FVPs.
5766
5767- The PSCI AFFINITY_INFO api has undergone limited testing on the Base FVPs to
5768  allow experimental use.
5769
5770- Required C library and runtime header files are now included locally in TF-A
5771  instead of depending on the toolchain standard include paths. The local
5772  implementation has been cleaned up and reduced in scope.
5773
5774- Added I/O abstraction framework, primarily to allow generic code to load
5775  images in a platform-independent way. The existing image loading code has been
5776  reworked to use the new framework. Semi-hosting and NOR flash I/O drivers are
5777  provided.
5778
5779- Introduced Firmware Image Package (FIP) handling code and tools. A FIP
5780  combines multiple firmware images with a Table of Contents (ToC) into a single
5781  binary image. The new FIP driver is another type of I/O driver. The Makefile
5782  builds a FIP by default and the FVP platform code expect to load a FIP from
5783  NOR flash, although some support for image loading using semi- hosting is
5784  retained.
5785
5786  \:::\{note} Building a FIP by default is a non-backwards-compatible change. :::
5787
5788  \:::\{note} Generic BL2 code now loads a BL3-3 (non-trusted firmware) image
5789  into DRAM instead of expecting this to be pre-loaded at known location. This
5790  is also a non-backwards-compatible change. :::
5791
5792  \:::\{note} Some non-trusted firmware (e.g. UEFI) will need to be rebuilt so
5793  that it knows the new location to execute from and no longer needs to copy
5794  particular code modules to DRAM itself. :::
5795
5796- Reworked BL2 to BL3-1 handover interface. A new composite structure
5797  (bl31_args) holds the superset of information that needs to be passed from BL2
5798  to BL3-1, including information on how handover execution control to BL3-2 (if
5799  present) and BL3-3 (non-trusted firmware).
5800
5801- Added library support for CPU context management, allowing the saving and
5802  restoring of
5803
5804  - Shared system registers between Secure-EL1 and EL1.
5805  - VFP registers.
5806  - Essential EL3 system registers.
5807
5808- Added a framework for implementing EL3 runtime services. Reworked the PSCI
5809  implementation to be one such runtime service.
5810
5811- Reworked the exception handling logic, making use of both SP_EL0 and SP_EL3
5812  stack pointers for determining the type of exception, managing general purpose
5813  and system register context on exception entry/exit, and handling SMCs. SMCs
5814  are directed to the correct EL3 runtime service.
5815
5816- Added support for a Test Secure-EL1 Payload (TSP) and a corresponding
5817  Dispatcher (TSPD), which is loaded as an EL3 runtime service. The TSPD
5818  implements Secure Monitor functionality such as world switching and EL1
5819  context management, and is responsible for communication with the TSP.
5820
5821  \:::\{note} The TSPD does not yet contain support for secure world interrupts.
5822  \:::
5823
5824  \:::\{note} The TSP/TSPD is not built by default. :::
5825
5826### Issues resolved since last release
5827
5828- Support has been added for switching context between secure and normal worlds
5829  in EL3.
5830- PSCI API calls `AFFINITY_INFO` & `PSCI_VERSION` have now been tested (to a
5831  limited extent).
5832- The TF-A build artifacts are now placed in the `./build` directory and
5833  sub-directories instead of being placed in the root of the project.
5834- TF-A is now free from build warnings. Build warnings are now treated as
5835  errors.
5836- TF-A now provides C library support locally within the project to maintain
5837  compatibility between toolchains/systems.
5838- The PSCI locking code has been reworked so it no longer takes locks in an
5839  incorrect sequence.
5840- The RAM-disk method of loading a Linux file-system has been confirmed to work
5841  with the TF-A and Linux kernel version (based on version 3.13) used in this
5842  release, for both Foundation and Base FVPs.
5843
5844### Known issues
5845
5846The following is a list of issues which are expected to be fixed in the future
5847releases of TF-A.
5848
5849- The TrustZone Address Space Controller (TZC-400) is not being programmed yet.
5850  Use of model parameter `-C bp.secure_memory=1` is not supported.
5851- No support yet for secure world interrupt handling.
5852- GICv3 support is experimental. The Linux kernel patches to support this are
5853  not widely available. There are known issues with GICv3 initialization in
5854  TF-A.
5855- Dynamic image loading is not available yet. The current image loader
5856  implementation (used to load BL2 and all subsequent images) has some
5857  limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to
5858  loading errors, even if the images should theoretically fit in memory.
5859- TF-A uses too much on-chip Trusted SRAM. Currently the Test Secure-EL1 Payload
5860  (BL3-2) executes in Trusted DRAM since there is not enough SRAM. A number of
5861  RAM usage enhancements have been identified to rectify this situation.
5862- CPU idle does not work on the advertised version of the Foundation FVP. Some
5863  FVP fixes are required that are not available externally at the time of
5864  writing.
5865- Various bugs in TF-A, UEFI and the Linux kernel have been observed when using
5866  Linaro toolchain versions later than 13.11. Although most of these have been
5867  fixed, some remain at the time of writing. These mainly seem to relate to a
5868  subtle change in the way the compiler converts between 64-bit and 32-bit
5869  values (e.g. during casting operations), which reveals previously hidden bugs
5870  in client code.
5871- The tested filesystem used for this release (Linaro AArch64 OpenEmbedded
5872  14.01) does not report progress correctly in the console. It only seems to
5873  produce error output, not standard output. It otherwise appears to function
5874  correctly. Other filesystem versions on the same software stack do not exhibit
5875  the problem.
5876- The Makefile structure doesn't make it easy to separate out parts of the TF-A
5877  for re-use in platform ports, for example if only BL3-1 is required in a
5878  platform port. Also, dependency checking in the Makefile is flawed.
5879- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
5880  its dispatcher (TSPD) is incomplete. Similarly for the PSCI section.
5881
5882## [0.2.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4b825dc642cb6eb9a060e54bf8d69288fbee4904..refs/tags/v0.2) (2013-10-25)
5883
5884### New features
5885
5886- First source release.
5887- Code for the PSCI suspend feature is supplied, although this is not enabled by
5888  default since there are known issues (see below).
5889
5890### Issues resolved since last release
5891
5892- The "psci" nodes in the FDTs provided in this release now fully comply with
5893  the recommendations made in the PSCI specification.
5894
5895### Known issues
5896
5897The following is a list of issues which are expected to be fixed in the future
5898releases of TF-A.
5899
5900- The TrustZone Address Space Controller (TZC-400) is not being programmed yet.
5901  Use of model parameter `-C bp.secure_memory=1` is not supported.
5902- No support yet for secure world interrupt handling or for switching context
5903  between secure and normal worlds in EL3.
5904- GICv3 support is experimental. The Linux kernel patches to support this are
5905  not widely available. There are known issues with GICv3 initialization in
5906  TF-A.
5907- Dynamic image loading is not available yet. The current image loader
5908  implementation (used to load BL2 and all subsequent images) has some
5909  limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to
5910  loading errors, even if the images should theoretically fit in memory.
5911- Although support for PSCI `CPU_SUSPEND` is present, it is not yet stable and
5912  ready for use.
5913- PSCI API calls `AFFINITY_INFO` & `PSCI_VERSION` are implemented but have not
5914  been tested.
5915- The TF-A make files result in all build artifacts being placed in the root of
5916  the project. These should be placed in appropriate sub-directories.
5917- The compilation of TF-A is not free from compilation warnings. Some of these
5918  warnings have not been investigated yet so they could mask real bugs.
5919- TF-A currently uses toolchain/system include files like stdio.h. It should
5920  provide versions of these within the project to maintain compatibility between
5921  toolchains/systems.
5922- The PSCI code takes some locks in an incorrect sequence. This may cause
5923  problems with suspend and hotplug in certain conditions.
5924- The Linux kernel used in this release is based on version 3.12-rc4. Using this
5925  kernel with the TF-A fails to start the file-system as a RAM-disk. It fails to
5926  execute user-space `init` from the RAM-disk. As an alternative, the
5927  VirtioBlock mechanism can be used to provide a file-system to the kernel.
5928
5929______________________________________________________________________
5930
5931*Copyright (c) 2013-2022, Arm Limited and Contributors. All rights reserved.*
5932
5933[mbed tls releases]: https://tls.mbed.org/tech-updates/releases
5934[pr#1002]: https://github.com/ARM-software/arm-trusted-firmware/pull/1002#issuecomment-312650193
5935[sdei specification]: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf
5936[tf-issue#501]: https://github.com/ARM-software/tf-issues/issues/501
5937