summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-12-17UPSTREAM: rockchip: make miniloader ddr_parameter handling optionalv2.2-somHeiko Stuebner
Transfering the regions of ddr memory to additionally protect is very much specific to some rockchip internal first stage bootloader and doesn't get used in either mainline uboot or even Rockchip's published vendor uboot sources. This results in a big error ERROR: over or zero region, nr=0, max=10 getting emitted on every boot for most users and such a message coming from early firmware might actually confuse developers working with the system. As this mechanism seems to be only be used by Rockchip's internal miniloader hide it behind a build conditional, so it doesn't confuse people too much. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Change-Id: I52c02decc60fd431ea78c7486cad5bac82bdbfbe (cherry picked from commit df5a96831764c62deaf30b537987ab349abda2f6) Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
2019-12-17UPSTREAM: rockchip: px30: cleanup securing of ddr regionsHeiko Stuebner
So far the px30-related ddr security was loading data for regions to secure from a pre-specified memory location and also setting region0 to secure the first megabyte of memory in hard-coded setting (top=0, end=0, meaning 1MB). To make things more explicit and easier to read add a function doing the settings for specified memory areas, like other socs have and also add an assert to make sure any descriptor read from memory does not overlap the TZRAM security in region0 and TEE security in region1. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Change-Id: I78441875112bf66a62fde5f1789f4e52a78ef95f (cherry picked from commit f55ef85ebfd61d708f6c77465edf3f8d059ca93d) Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
2019-12-17UPSTREAM: rockchip: px30: move secure init to separate fileHeiko Stuebner
Similar to others like rk3399 and rk3288 move the secure init to a separate file to unclutter the soc init a bit. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Change-Id: Iebb38e24f1c7fe5353f139c896fb8ca769bf9691 (cherry picked from commit d2483afac92c952b969c4443e3a9ae65bcbb485d) Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
2019-12-17UPSTREAM: rockchip: really use base+size for secure ddr regionsHeiko Stuebner
The calls to secure ddr regions on rk3288 and rk3399 use parameters of base and size - as it custom for specifying memory regions, but the functions themself expect start and endpoints of the area. This only works by chance for the TZRAM, as it starts a 0x0 and therefore its end location is the same as its size. To not fall into a trap later on adapt the functions to really take base+size parameters. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Change-Id: Idb9fab38aa081f3335a4eca971e7b7f6757fbbab (cherry picked from commit 7f0b2e78e0ca4ce686ac632170073f924e34c5a3) Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
2019-12-17UPSTREAM: rockchip: bring TZRAM_SIZE values in lineHeiko Stuebner
The agreed upon division of early boot locations is 0x40000 for bl31 to leave enough room for u-boot-spl and 0x100000 for bl33 (u-boot). rk3288 and rk3399 already correctly secure the ddr up to the 1MB boundary so pull the other platforms along to also give the Rockchip TF-A enough room to comfortably live in. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Change-Id: Ie9e0c927d3074a418b6fd23b599d2ed7c15c8c6f (cherry picked from commit c6ee020ea2c7d416d269e92fbb841f8db424ea0f) Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
2019-12-17UPSTREAM: rockchip: px30: Add support for UART3 as serial outputPaul Kocialkowski
Add the UART3 base definition for serial output, which is used on some PX30 SoM boards. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Change-Id: I8490b15c9f129a33c01cb78bd78675014bc7b015 (cherry picked from commit 48393e30c330e42cdd7b547cb0b7e2d745015afb) Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
2019-12-17UPSTREAM: plat/rockchip: initialize reset and poweroff GPIOs with known ↵Vasily Khoruzhick
invalid value And return NULL if we didn't get them in bl aux params otherwise reset and poweroff will be broken on platforms that do not have reset and poweroff GPIOs. Fixes: c1185ffde17c ("plat/rockchip: Switch to use new common BL aux parameter library") Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Change-Id: Ic6cf6383d8f05d745e2c5d5e1b1df38514ea8429 (cherry picked from commit d52331d01e0efae36e837af90887a8aed33ff604) Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
2019-10-22Merge "Update TF-A version to 2.2" into integrationPaul Beesley
2019-10-22Merge "Update change log for v2.2 Release" into integrationPaul Beesley
2019-10-22Merge "Update release-information for v2.2 Release" into integrationPaul Beesley
2019-10-22Merge "doc: Final, pre-release fixes and updates" into integrationPaul Beesley
2019-10-22doc: Final, pre-release fixes and updatesPaul Beesley
A small set of misc changes to ensure correctness before the v2.2 release tagging. Change-Id: I888840b9483ea1a1633d204fbbc0f9594072101e Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-22Update release-information for v2.2 Releaselaurenw-arm
Removed deprecated interfaces that have been removed from the TF-A project, updated the deprecated list with new deprecations for v2.2 Release, added upcoming release information, remove mentions of PR from github. Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Signed-off-by: Paul Beesley <paul.beesley@arm.com> Change-Id: I2b59d351cde9860ad0dcb6520a8bd2827ad403cf
2019-10-22Merge "doc: Expand contact information in About section" into integrationPaul Beesley
2019-10-22doc: Expand contact information in About sectionPaul Beesley
Giving a bit more background information about the issue tracker and mailing lists. Change-Id: I68921d54e3113d348f1e16c685f74d32df2ca19f Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-22Merge "doc: Move platform list to the Platform Ports index page" into ↵Paul Beesley
integration
2019-10-22Merge "doc: Move "About" content from index.rst to a new chapter" into ↵Paul Beesley
integration
2019-10-21Update change log for v2.2 Releaselaurenw-arm
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I53a7706016539e7de7fdbe87b786d99665bbe1d8
2019-10-21doc: Move platform list to the Platform Ports index pagePaul Beesley
The list of upstream platforms on the index page is growing quite long, especially with all the FVP variants being listed individually. This patch leverages the "Platform Ports" chapter in the docs table of contents to condense this information. Almost all platform ports now have documentation, so the table of contents serves as the list of upstream platforms by itself. For those upstream platforms that do not have corresponding documentation, the top-level "Platform Ports" page mentions them individually. It also mentions each Arm FVP, just as the index page did before. Note that there is an in-progress patch that creates new platform port documentation for the Arm Juno and Arm FVP platforms, so this list of "other platforms" will soon be reduced further as those platforms become part of the table of contents as well. Change-Id: I6b1eab8cba71a599d85a6e22553a34b07f213268 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-21doc: Move "About" content from index.rst to a new chapterPaul Beesley
The index.rst page is now the primary landing page for the TF-A documentation. It contains quite a lot of content these days, including: - The project purpose and general intro - A list of functionality - A list of planned functionality - A list of supported platforms - "Getting started" links to other documents - Contact information for raising issues This patch creates an "About" chapter in the table of contents and moves some content there. In order, the above listed content: - Stayed where it is. This is the right place for it. - Moved to About->Features - Moved to About->Features (in subsection) - Stayed where it is. Moved in a later patch. - Was expanded in-place - Moved to About->Contact Change-Id: I254bb87560fd09140b9e485cf15246892aa45943 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-21Merge "xlat_table_v2: Fix enable WARMBOOT_ENABLE_DCACHE_EARLY config" into ↵Soby Mathew
integration
2019-10-21Merge "Replace deprecated __ASSEMBLY__ macro with __ASSEMBLER__" into ↵Soby Mathew
integration
2019-10-18xlat_table_v2: Fix enable WARMBOOT_ENABLE_DCACHE_EARLY configArtsem Artsemenka
The WARMBOOT_ENABLE_DCACHE_EARLY allows caches to be turned on early during the boot. But the xlat_change_mem_attributes_ctx() API did not do the required cache maintenance after the mmap tables are modified if WARMBOOT_ENABLE_DCACHE_EARLY is enabled. This meant that when the caches are turned off during power down, the tables in memory are accessed as part of cache maintenance for power down, and the tables are not correct at this point which results in a data abort. This patch removes the optimization within xlat_change_mem_attributes_ctx() when WARMBOOT_ENABLE_DCACHE_EARLY is enabled. Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com> Change-Id: I82de3decba87dd13e9856b5f3620a1c8571c8d87
2019-10-18Merge "Fix documentation" into integrationPaul Beesley
2019-10-18Merge "doc: Remove version and release variables from conf.py" into integrationPaul Beesley
2019-10-17doc: Remove version and release variables from conf.pyPaul Beesley
We would need to update this version for the release but, in fact, it is not required for our publishing workflow; the hosted version of the docs uses git commit/tag information in place of these variables anyway. Instead of updating the version, just remove these variables entirely. Change-Id: I424c4e45786e87604e91c7197b7983579afe4806 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-15Fix documentationArtsem Artsemenka
User guide: 1. Remove obsolete note saying only FVP is supported with AArch32 2. Switch compiler for Juno AArch32 to arm-eabi 3. Mention SOFTWARE folder in Juno Linaro release Index.rst: 1. Switch default FVP model to Version 11.6 Build 45 Signed-off-by: Artsem Artsemenka <artsem.artsemenka@arm.com> Change-Id: Ib47a2ea314e2b8394a20189bf91796de0e17de53
2019-10-15Update TF-A version to 2.2Deepika Bhavnani
Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: Ia03701e2e37e3a00a501b144960a4a65aedbfde9
2019-10-15Merge "Correct UART PL011 initialization calculation" into integrationPaul Beesley
2019-10-15Merge "doc: Update Linaro release mentioned on index page" into integrationPaul Beesley
2019-10-15doc: Update Linaro release mentioned on index pagePaul Beesley
The version of the Linaro release that is used for testing was updated in 35010bb8 and the user guide was updated with the correct version, however the version is also mentioned on the index page and that was missed. Update the index page with the new version. We can come back and de-duplicate this content later, to ease future maintenance. Change-Id: I3fe83d7a1c59ab8d3ce2b18bcc23e16c93f7af97 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-11Merge "doc: Misc syntax and spelling fixes" into integrationPaul Beesley
2019-10-11doc: Misc syntax and spelling fixesPaul Beesley
Tidying up a few Sphinx warnings that had built-up over time. None of these are critical but it cleans up the Sphinx output. At the same time, fixing some spelling errors that were detected. Change-Id: I38209e235481eed287f8008c6de9dedd6b12ab2e Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-11Replace deprecated __ASSEMBLY__ macro with __ASSEMBLER__Balint Dobszay
Change-Id: I497072575231730a216220f84a6d349a48eaf5e3 Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
2019-10-09Merge "doc: Formatting fixes for readme.rst" into integrationPaul Beesley
2019-10-09doc: Formatting fixes for readme.rstPaul Beesley
The readme.rst file in the project root is the front-page that is displayed on Github and if viewing the TF-A repository on git.trustedfirmware.org in the "about" view. It now contains a small amount of stub content, and directs readers to the ReadTheDocs documentation via trustedfirmware.org/docs/tf-a. The Github renderer is displaying the content fine but the cgit viewer displays some "backlink" errors because some content substitutions were left in place (terms surrounded by pipe symbols), e.g. |TF-A|. This patch removes those substitutions, that are not supported by cgit, and also updates one heading to clarify where to find the new docs. Change-Id: I358451df45b8c99975ba0b6db8ea61253a10560d Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-09Merge changes from topic "pb/readthedocs" into integrationPaul Beesley
* changes: doc: Add guide for building the docs locally doc: De-duplicate readme and license files doc: Convert internal links to RST format
2019-10-09doc: Add guide for building the docs locallyPaul Beesley
This new page contains instructions for doing a local build of the documentation, plus information on the environment setup that needs to be done beforehand. Change-Id: If563145ab40639cabbe25d0f62759981a33692c6 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-08doc: De-duplicate readme and license filesPaul Beesley
The readme.rst and license.rst files in the project root overlap with the index.rst and license.rst files in the docs/ folder. We need to use the latter when building the documentation, as Sphinx requires all included files to be under a common root. However, the files in the root are currently used by the cgit and Github viewers. Using symlinks in Git presents some difficulties so the best course of action is likely to leave these files but in stub form. The license.rst file in the root will simply tell the reader to refer to docs/license.rst. The readme.rst file will contain a small amount of content that is derived from the docs/index.rst file, so that the Github main page will have something valid to show, but it will also contain a link to the full documentation on ReadTheDocs. Change-Id: I6dc46f08777e8d7ecb32ca7afc07a28486c9f77a Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-08doc: Convert internal links to RST formatPaul Beesley
Currently links between documents are using the format: <path/to/><filename>.rst This was required for services like GitHub because they render each document in isolation - linking to another document is like linking to any other file, just provide the full path. However, with the new approach, the .rst files are only the raw source for the documents. Once the documents have been rendered the output is now in another format (HTML in our case) and so, when linking to another document, the link must point to the rendered version and not the .rst file. The RST spec provides a few methods for linking between content. The parent of this patch enabled the automatic creation of anchors for document titles - we will use these anchors as the targets for our links. Additional anchors can be added by hand if needed, on section and sub-section titles, for example. An example of this new format, for a document with the title "Firmware Design" is :ref:`Firmware Design`. One big advantage of this is that anchors are not dependent on paths. We can then move documents around, even between directories, without breaking any links between documents. Links will need to be updated only if the title of a document changes. Change-Id: I9e2340a61dd424cbd8fd1ecc2dc166f460d81703 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-08Merge "doc: Add more missing platforms" into integrationSoby Mathew
2019-10-08Merge "delay: correct timeout_init_us()" into integrationSoby Mathew
2019-10-08Correct UART PL011 initialization calculationAvinash Mehta
Currently for Armv7 plaforms the quotient calculated in pl011 uart init code is moved to register r1. This patch moves the quotient to register r2 as done for other platforms in the udiv instruction. Value of register r2 is then used to calculate the values for IBRD and FBRD register Change-Id: Ie6622f9f0e6d634378b471df5d02823b492c8a24 Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
2019-10-08delay: correct timeout_init_us()Yann Gautier
The function has to use read_cntpct_el0() to update the counter, and not read_cntfrq_el0(). Change-Id: I9c676466e784c3122e9ffc2d87e66708797086e7 Signed-off-by: Yann Gautier <yann.gautier@st.com>
2019-10-07doc: Add more missing platformsPaul Beesley
Add meson-g12a, qemu-sbsa and rpi4 to the documentation index so that they will have their docs rendered and integrated into the table of contents. Change-Id: Id972bf2fee67312dd7bff29f92bea67842e62431 Signed-off-by: Paul Beesley <paul.beesley@arm.com>
2019-10-07Merge "Explicitly disable the SPME bit in MDCR_EL3" into integrationSoby Mathew
2019-10-07Merge "Neoverse N1 Errata Workaround 1542419" into integrationSoby Mathew
2019-10-07Merge "Fix the CAS spinlock implementation" into integrationSoby Mathew
2019-10-07Explicitly disable the SPME bit in MDCR_EL3Petre-Ionut Tudor
Currently the MDCR_EL3 initialisation implicitly disables MDCR_EL3.SPME by using mov_imm. This patch makes the SPME bit more visible by explicitly disabling it and documenting its use in different versions of the architecture. Signed-off-by: Petre-Ionut Tudor <petre-ionut.tudor@arm.com> Change-Id: I221fdf314f01622f46ac5aa43388f59fa17a29b3
2019-10-04Neoverse N1 Errata Workaround 1542419laurenw-arm
Coherent I-cache is causing a prefetch violation where when the core executes an instruction that has recently been modified, the core might fetch a stale instruction which violates the ordering of instruction fetches. The workaround includes an instruction sequence to implementation defined registers to trap all EL0 IC IVAU instructions to EL3 and a trap handler to execute a TLB inner-shareable invalidation to an arbitrary address followed by a DSB. Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: Ic3b7cbb11cf2eaf9005523ef5578a372593ae4d6