| 685e5609 | 03-Jun-2020 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: sanity check NS address and size before use
This patch updates the 'bl31_check_ns_address()' helper function to check that the memory address and size passed by the NS world are not zero.
Th
Tegra: sanity check NS address and size before use
This patch updates the 'bl31_check_ns_address()' helper function to check that the memory address and size passed by the NS world are not zero.
The helper fucntion also returns the error code as soon as it detects inconsistencies, to avoid multiple error paths from kicking in for the same input parameters.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: I46264f913954614bedcbde12e47ea0c70cd19be0
show more ...
|
| 47d1773f | 15-Apr-2019 |
Konstantin Porotchkin <kostap@marvell.com> |
plat: marvell: armada: a8k: add OP-TEE OS MMU tables
Adjust the latest OP-TEE memory definitions to the newest TF-A baseline.
Change-Id: Ib9c82b85f868adaf3c7285eb340486bda9c59c36 Signed-off-by: Kon
plat: marvell: armada: a8k: add OP-TEE OS MMU tables
Adjust the latest OP-TEE memory definitions to the newest TF-A baseline.
Change-Id: Ib9c82b85f868adaf3c7285eb340486bda9c59c36 Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
show more ...
|
| 5a40d70f | 31-Mar-2019 |
Konstantin Porotchkin <kostap@marvell.com> |
drivers: marvell: add support for mapping the entire LLC to SRAM
Add llc_sram_enable() and llc_sram_disable() APIs to Marvell cache_lls driver. Add LLC_SRAM definition to Marvell common makefile - d
drivers: marvell: add support for mapping the entire LLC to SRAM
Add llc_sram_enable() and llc_sram_disable() APIs to Marvell cache_lls driver. Add LLC_SRAM definition to Marvell common makefile - disabled by the default. Add description of LLC_SRAM flag to the build documentation.
Change-Id: Ib348e09752ce1206d29268ef96c9018b781db182 Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
show more ...
|
| 85440805 | 31-Mar-2019 |
Konstantin Porotchkin <kostap@marvell.com> |
plat: marvell: armada: add LLC SRAM CCU setup for AP806/AP807 platforms
Extend the CCU tables with secure SRAM window in all board setups that uses SoCs based on AP806/AP807 North Bridges
Change-Id
plat: marvell: armada: add LLC SRAM CCU setup for AP806/AP807 platforms
Extend the CCU tables with secure SRAM window in all board setups that uses SoCs based on AP806/AP807 North Bridges
Change-Id: I4dc315e4ea847562ac8648d8a8739244b548c70e Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
show more ...
|
| 94d6f483 | 19-Jun-2020 |
Marcin Wojtas <mw@semihalf.com> |
plat: marvell: armada: reduce memory size reserved for FIP image
It is not needed to reserve 64MB for FIP. Limit this to 4MB for both supported Armada SoC families.
Change-Id: I58a8ce4408a646fe1afd
plat: marvell: armada: reduce memory size reserved for FIP image
It is not needed to reserve 64MB for FIP. Limit this to 4MB for both supported Armada SoC families.
Change-Id: I58a8ce4408a646fe1afd3c1ea1ed54007c8d205d Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> [Extract from bigger commit] Signed-off-by: Marcin Wojtas <mw@semihalf.com>
show more ...
|
| 63a0b127 | 19-Jun-2020 |
Konstantin Porotchkin <kostap@marvell.com> |
plat: marvell: armada: platform definitions cleanup
- Remove TRUSTED_DRAM_BASE TRUSTED_DRAM_SIZE MARVELL_TRUSTED_SRAM_BASE - Rename PLAT_MARVELL_TRUSTED_DRAM_* -> PLAT_MARVELL_TRUSTE
plat: marvell: armada: platform definitions cleanup
- Remove TRUSTED_DRAM_BASE TRUSTED_DRAM_SIZE MARVELL_TRUSTED_SRAM_BASE - Rename PLAT_MARVELL_TRUSTED_DRAM_* -> PLAT_MARVELL_TRUSTED_RAM_* PLAT_MARVELL_TRUSTED_SRAM_* -> MARVELL_TRUSTED_DRAM_* MARVELL_MAP_SHARED_RAM -> MARVELL_MAP_SECURE_RAM - Move MARVELL_TRUSTED_DRAM_SIZE to marvell_def.h - Enable MARVELL_MAP_SECURE_RAM region in BL2U memory map - Add dependency of MARVELL_MAP_SHARED_RAM on LLC_SRAM - Add minor style improvents
Change-Id: Iebc03361e4f88489af1597f54e137b27c241814c Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> [Improve patch after rebase] Signed-off-by: Marcin Wojtas <mw@semihalf.com>
show more ...
|
| c96aa7fb | 31-Mar-2019 |
Konstantin Porotchkin <kostap@marvell.com> |
plat: marvell: armada: a8k: check CCU window state before loading MSS BL2
Make sure the current CCU window is not in use before adding a new address map during MSS BL2 image load preparations. At BL
plat: marvell: armada: a8k: check CCU window state before loading MSS BL2
Make sure the current CCU window is not in use before adding a new address map during MSS BL2 image load preparations. At BL2 stage the CCU Win-2 points to DRAM. If additional mapping is added to MSS BL2 stage initialization, the DDR entry will be destroyed and lead to the system hang.
Change-Id: I215e83508acc37d54dab6954d791b9a74cc883ca Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
show more ...
|
| 957a5add | 31-Mar-2019 |
Konstantin Porotchkin <kostap@marvell.com> |
drivers: marvell: add CCU driver API for window state checking
Add ccu_is_win_enabled() API for checking the CCU window state using AP and window indexes.
Change-Id: Ib955a2cac28b2729b0a763f3bbbea2
drivers: marvell: add CCU driver API for window state checking
Add ccu_is_win_enabled() API for checking the CCU window state using AP and window indexes.
Change-Id: Ib955a2cac28b2729b0a763f3bbbea28b476a2fe4 Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
show more ...
|
| 772aa5ba | 25-Mar-2019 |
Konstantin Porotchkin <kostap@marvell.com> |
drivers: marvell: align and extend llc macros
Make all LLC-related macros to start with the same prefix Add more LLC control registers definitions This patch is a preparation step for LLC SRAM suppo
drivers: marvell: align and extend llc macros
Make all LLC-related macros to start with the same prefix Add more LLC control registers definitions This patch is a preparation step for LLC SRAM support
Change-Id: I0a4f0fc83e8ef35be93dd239a85f2a9f88d1ab19 Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
show more ...
|
| e825176f | 26-Mar-2019 |
Ben Peled <bpeled@marvell.com> |
plat: marvell: a8k: move address config of cp1/2 to BL2
The configuration space of each standalone CP was updated in BL31. Loading FW procedure take places earlier in SCP_BL2. It needs to be done af
plat: marvell: a8k: move address config of cp1/2 to BL2
The configuration space of each standalone CP was updated in BL31. Loading FW procedure take places earlier in SCP_BL2. It needs to be done after access to each CP is provided. Moving the proper configuration from BL31 to BL2 solves it.
Change-Id: I44cf88dfd4ebf09130544332bfdd3d16ef2674ea Signed-off-by: Ben Peled <bpeled@marvell.com>
show more ...
|
| cdfbbfef | 14-Mar-2019 |
Konstantin Porotchkin <kostap@marvell.com> |
plat: marvell: armada: re-enable BL32_BASE definition
As a preparation to support proper loading the OPTEE OS image, enable the BL32 specific defines in case the SPD is used.
On the occasion move t
plat: marvell: armada: re-enable BL32_BASE definition
As a preparation to support proper loading the OPTEE OS image, enable the BL32 specific defines in case the SPD is used.
On the occasion move two BL32-related macros to marvell_def.h and fix BL32_LIMIT definition.
Change-Id: Id4e2d81833bc1895650cca8b0fc0bfc341cf77f3 Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> Signed-off-by: Marcin Wojtas <mw@semihalf.com>
show more ...
|
| 814ce2f9 | 28-Mar-2019 |
Grzegorz Jaszczyk <jaz@semihalf.com> |
plat: marvell: a8k: extend includes to take advantage of the phy_porting_layer
The phy porting layer uses defaults defined in "phy-default-porting-layer.h" when board specific file "phy-porting-laye
plat: marvell: a8k: extend includes to take advantage of the phy_porting_layer
The phy porting layer uses defaults defined in "phy-default-porting-layer.h" when board specific file "phy-porting-layer.h" is not found. Because of the regression the board specific directory was not included, therefore all boards used default parameters.
Change-Id: I66e5e6eb8a39cca5aeeb4de6dab2ceddc39c1e31 Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
show more ...
|
| 050eb19c | 28-Mar-2019 |
Grzegorz Jaszczyk <jaz@semihalf.com> |
marvell: comphy: initialize common phy selector for AP mode
Configuring common phy selector which was missing for AP mode.
Change-Id: I15be1ba50b8aafe9094734abec139d72c18bb224 Signed-off-by: Grzego
marvell: comphy: initialize common phy selector for AP mode
Configuring common phy selector which was missing for AP mode.
Change-Id: I15be1ba50b8aafe9094734abec139d72c18bb224 Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
show more ...
|
| 8e8ec8cf | 08-Mar-2019 |
Grzegorz Jaszczyk <jaz@semihalf.com> |
marvell: comphy: update rx_training procedure
1) Relay only on rx training, remove parts responsible for tx training (trx training). 2) Add extra steps e.g. preconfigure FFE before starting training
marvell: comphy: update rx_training procedure
1) Relay only on rx training, remove parts responsible for tx training (trx training). 2) Add extra steps e.g. preconfigure FFE before starting training. 3) Remove some unnecessary steps like RRBS31 loopback setting which shouldn't be relevant for tx_training.
Change-Id: Ib1e8567714f9ce33578186a262c339aa4b1c51f2 Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
show more ...
|
| ed84fe88 | 12-Apr-2019 |
Grzegorz Jaszczyk <jaz@semihalf.com> |
plat: marvell: armada: configure amb for all CPs
Before this patch the configuration took place only for CP0 and CP1, but since new platforms can contains up to 3 CPs update is required.
Change-Id:
plat: marvell: armada: configure amb for all CPs
Before this patch the configuration took place only for CP0 and CP1, but since new platforms can contains up to 3 CPs update is required.
Change-Id: Iebd50bbe7b9772063e2c4efb3a7ecbfd593e950d Signed-off-by: Grzegorz Jaszczyk <jaz@semihalf.com>
show more ...
|
| 3768fecf | 19-Jun-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
TF-A: Add ARMv8.5 'bti' build option
This patch adds BRANCH_PROTECTION = 4 'bti' build option which turns on branch target identification mechanism.
Change-Id: I32464a6b51726a100519f449a95aea5331f0
TF-A: Add ARMv8.5 'bti' build option
This patch adds BRANCH_PROTECTION = 4 'bti' build option which turns on branch target identification mechanism.
Change-Id: I32464a6b51726a100519f449a95aea5331f0e82d Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| 5e1b83aa | 12-Jun-2020 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: introduce support for GICv3
This patch provides the platform level support to enable GICv3 drivers on future Tegra platforms.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I9
Tegra: introduce support for GICv3
This patch provides the platform level support to enable GICv3 drivers on future Tegra platforms.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I966a4502b2a4a7bd1ce66da843997c9ed605c59f
show more ...
|
| a7749acc | 03-Jun-2020 |
Varun Wadekar <vwadekar@nvidia.com> |
Tegra: memctrl_v2: fixup sequence to resize video memory
The previous sequence used by the driver to program the new memory aperture settings and clear the non-overlapping memory was faulty. The seq
Tegra: memctrl_v2: fixup sequence to resize video memory
The previous sequence used by the driver to program the new memory aperture settings and clear the non-overlapping memory was faulty. The sequence locked the non-overlapping regions twice, leading to faults when trying to clear it.
This patch modifies the sequence to follow these steps:
* move the previous memory region to a new firewall register * program the new memory aperture settings * clean the non-overlapping memory
This patch also maps the non-overlapping memory as Device memory to follow guidance from the arch. team.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I7cf6e05b2dd372103dc7229e37b1b3fc269a57ae
show more ...
|
| b5c850d4 | 18-Jun-2020 |
Marcin Wojtas <mw@semihalf.com> |
plat: marvell: armada: modify PLAT_FAMILY name for 37xx SoCs
The Marvell Armada 37xx SoCs-based platforms contain a bit awkward directory structure because the currently only one supported PLAT and
plat: marvell: armada: modify PLAT_FAMILY name for 37xx SoCs
The Marvell Armada 37xx SoCs-based platforms contain a bit awkward directory structure because the currently only one supported PLAT and PLAT_FAMILY are the same. Modify the latter to 'a3k' in order to improve it and keep plat/marvell/armada tree more consistent:
plat/marvell/ ├── armada │ ├── a3k │ │ ├── a3700
[...]
│ ├── a8k │ │ ├── a70x0
[...]
Change-Id: I693a6ef88e6ce49a326a3328875c90bbc186066a Signed-off-by: Marcin Wojtas <mw@semihalf.com>
show more ...
|
| 9935047b | 17-Jun-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I80316689,I23cac4fb,If911e7de,I169ff358,I4e040cd5, ... into integration
* changes: ddr: a80x0: add DDR 32-bit ECC mode support ble: ap807: improve PLL configuration sequence ble:
Merge changes I80316689,I23cac4fb,If911e7de,I169ff358,I4e040cd5, ... into integration
* changes: ddr: a80x0: add DDR 32-bit ECC mode support ble: ap807: improve PLL configuration sequence ble: ap807: clean-up PLL configuration sequence ddr: a80x0: add DDR 32-bit mode support plat: marvell: mci: perform mci link tuning for all mci interfaces plat: marvell: mci: use more meaningful name for mci link tuning plat: marvell: a8k: remove wrong or unnecessary comments plat: marvell: ap807: enable snoop filter for ap807 plat: marvell: ap807: update configuration space of each CP plat: marvell: ap807: use correct address for MCIx4 register plat: marvell: add support for PLL 2.2GHz mode plat: marvell: armada: make a8k_common.mk and mss_common.mk more generic marvell: armada: add extra level in marvell platform hierarchy
show more ...
|
| 7d6fa6ec | 01-May-2020 |
Etienne Carriere <etienne.carriere@st.com> |
drivers/scmi-msg: smt entry points for incoming messages
This change implements SCMI channels for reading a SCMI message from a shared memory and call the SCMI message drivers to route the message t
drivers/scmi-msg: smt entry points for incoming messages
This change implements SCMI channels for reading a SCMI message from a shared memory and call the SCMI message drivers to route the message to the target platform services.
SMT refers to the shared memory management protocol which is used to get/put message/response in shared memory. SMT is a 28byte header stating shared memory state and exchanged protocol data.
The processing entry for a SCMI message can be a secure interrupt or fastcall SMCCC invocation.
SMT description in this implementation is based on the OP-TEE project [1] itself based in the SCP-firmware implementation [2].
Link: [1] https://github.com/OP-TEE/optee_os/commit/a58c4d706d2333d2b21a3eba7e2ec0cb257bca1d Link: [2] https://github.com/ARM-software/SCP-firmware.git
Change-Id: I416c7dab5c67954c6fe80bae8d8cdfdcda66873e Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| a53e89bc | 17-Jun-2020 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "plat/arm: Fix load address of TB_FW_CONFIG" into integration |
| 6cc2c1cb | 01-May-2020 |
Etienne Carriere <etienne.carriere@st.com> |
drivers/scmi-msg: support for reset domain protocol
Adds SCMI reset domain protocol support in the SCMI message drivers as defined in SCMI specification v2.0 [1]. Not all the messages defined in the
drivers/scmi-msg: support for reset domain protocol
Adds SCMI reset domain protocol support in the SCMI message drivers as defined in SCMI specification v2.0 [1]. Not all the messages defined in the specification are supported.
scmi_msg_get_rd_handler() sanitizes the message_id value against any speculative use of reset domain ID as a index since by SCMI specification, IDs are indices.
This implementation is based on the OP-TEE project implementation [2] itself based on the SCP-firmware implementation [3] of the SCMI protocol server side.
Link: [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf Link: [2] https://github.com/OP-TEE/optee_os/commit/56a1f10ed99d683ee3a8af29b6147a59a99ef3e0 Link: [3] https://github.com/ARM-software/SCP-firmware.git
Change-Id: If7cf13de40a815dedb40dcd5af8b6bb6725d9078 Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| c9e83000 | 01-May-2020 |
Etienne Carriere <etienne.carriere@st.com> |
drivers/scmi-msg: support for clock protocol
Adds SCMI clock protocol support in the SCMI message drivers as defined in SCMI specification v2.0 [1] for clock protocol messages.
Platform can provide
drivers/scmi-msg: support for clock protocol
Adds SCMI clock protocol support in the SCMI message drivers as defined in SCMI specification v2.0 [1] for clock protocol messages.
Platform can provide one of the plat_scmi_clock_*() handler for the supported operations set/get state/rate and others.
scmi_msg_get_clock_handler() sanitizes the message_id value against any speculative use of clock ID as a index since by SCMI specification, IDs are indices.
This implementation is based on the OP-TEE project implementation [2] itself based on the SCP-firmware implementation [3] of the SCMI protocol server side.
Link: [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf Link: [2] https://github.com/OP-TEE/optee_os/commit/a7a9e3ba71dd908aafdc4c5ed9b29b15faa9692d Link: [3] https://github.com/ARM-software/SCP-firmware.git
Change-Id: Ib56e096512042d4f7b9563d1e4181554eb8ed02c Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 75366ccd | 28-Nov-2019 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers/scmi-msg: driver for processing scmi messages
This change introduces drivers to allow a platform to create a basic SCMI service and register handlers for client request (SCMI agent) on syste
drivers/scmi-msg: driver for processing scmi messages
This change introduces drivers to allow a platform to create a basic SCMI service and register handlers for client request (SCMI agent) on system resources. This is the first piece of the drivers: an entry function, the SCMI base protocol support and helpers for create the response message.
With this change, scmi_process_message() is the entry function to process an incoming SCMI message. The function expect the message is already copied from shared memory into secure memory. The message structure stores message reference and output buffer reference where response message shall be stored.
scmi_process_message() calls the SCMI protocol driver according to the protocol ID in the message. The SCMI protocol driver will call defined platform handlers according to the message content.
This change introduces only the SCMI base protocol as defined in SCMI specification v2.0 [1]. Not all the messages defined in the specification are supported.
The SCMI message implementation is derived from the OP-TEE project [2] itself based on the SCP-firmware implementation [3] of the SCMI protocol server side.
Link: [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/DEN0056A_System_Control_and_Management_Interface.pdf Link: [2] https://github.com/OP-TEE/optee_os/commit/ae8c8068098d291e6e55744dbc237ec39fd9840a Link: [3] https://github.com/ARM-software/SCP-firmware/tree/v2.6.0
Change-Id: I639c4154a39fca60606264baf8d32452641f45e9 Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|