1Platform Compatibility Policy
2=============================
3
4Introduction
5------------
6
7This document clarifies the project's policy around compatibility for upstream
8platforms.
9
10Platform compatibility policy
11-----------------------------
12
13Platform compatibility is mainly affected by changes to Platform APIs (as
14documented in the :ref:`Porting Guide`), driver APIs (like the GICv3 drivers) or
15library interfaces (like xlat_table library). The project will try to maintain
16compatibility for upstream platforms. Due to evolving requirements and
17enhancements, there might be changes affecting platform compatibility which
18means the previous interface needs to be deprecated and a new interface
19introduced to replace it. In case the migration to the new interface is trivial,
20the contributor of the change is expected to make good effort to migrate the
21upstream platforms to the new interface.
22
23The deprecated interfaces are listed inside :ref:`Release Processes` as well as
24the release after which each one will be removed. When an interface is
25deprecated, the page must be updated to indicate the release after which the
26interface will be removed. This must be at least 1 full release cycle in future.
27For non-trivial interface changes, an email should be sent out to the `TF-A
28public mailing list`_ to notify platforms that they should migrate away from the
29deprecated interfaces. Platforms are expected to migrate before the removal of
30the deprecated interface.
31
32--------------
33
34*Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved.*
35
36.. _TF-A public mailing list: https://lists.trustedfirmware.org/mailman/listinfo/tf-a
37