History log of /rk3399_ARM-atf/ (Results 10901 – 10925 of 18314)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
685e560903-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 ...

47d1773f15-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 ...

5a40d70f31-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 ...

8544080531-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 ...

94d6f48319-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 ...

63a0b12719-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 ...

c96aa7fb31-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 ...

957a5add31-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 ...

772aa5ba25-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 ...

e825176f26-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 ...

cdfbbfef14-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 ...

814ce2f928-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 ...

050eb19c28-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 ...

8e8ec8cf08-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 ...

ed84fe8812-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 ...

3768fecf19-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 ...

5e1b83aa12-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 ...

a7749acc03-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 ...

b5c850d418-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 ...

9935047b17-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 ...


docs/plat/marvell/armada/build.rst
docs/plat/marvell/armada/misc/mvebu-a8k-addr-map.rst
docs/plat/marvell/armada/misc/mvebu-amb.rst
docs/plat/marvell/armada/misc/mvebu-ccu.rst
docs/plat/marvell/armada/misc/mvebu-io-win.rst
docs/plat/marvell/armada/misc/mvebu-iob.rst
docs/plat/marvell/armada/porting.rst
docs/plat/marvell/index.rst
drivers/marvell/ap807_clocks_init.c
drivers/marvell/comphy/phy-comphy-cp110.c
drivers/marvell/comphy/phy-comphy-cp110.h
drivers/marvell/mci.c
drivers/marvell/mochi/ap807_setup.c
drivers/marvell/mochi/apn806_setup.c
include/drivers/marvell/aro.h
include/drivers/marvell/mci.h
include/drivers/marvell/mochi/ap_setup.h
include/plat/marvell/armada/a3700/common/armada_common.h
include/plat/marvell/armada/a3700/common/board_marvell_def.h
include/plat/marvell/armada/a3700/common/marvell_def.h
include/plat/marvell/armada/a3700/common/plat_marvell.h
include/plat/marvell/armada/a8k/common/armada_common.h
include/plat/marvell/armada/a8k/common/board_marvell_def.h
include/plat/marvell/armada/a8k/common/marvell_def.h
include/plat/marvell/armada/a8k/common/plat_marvell.h
include/plat/marvell/armada/a8k/common/plat_pm_trace.h
include/plat/marvell/armada/common/aarch64/cci_macros.S
include/plat/marvell/armada/common/aarch64/marvell_macros.S
include/plat/marvell/armada/common/marvell_plat_priv.h
include/plat/marvell/armada/common/marvell_pm.h
include/plat/marvell/armada/common/mvebu.h
plat/marvell/armada/a3700/a3700/board/pm_src.c
plat/marvell/armada/a3700/a3700/mvebu_def.h
plat/marvell/armada/a3700/a3700/plat_bl31_setup.c
plat/marvell/armada/a3700/a3700/platform.mk
plat/marvell/armada/a3700/common/a3700_common.mk
plat/marvell/armada/a3700/common/a3700_ea.c
plat/marvell/armada/a3700/common/a3700_sip_svc.c
plat/marvell/armada/a3700/common/aarch64/a3700_common.c
plat/marvell/armada/a3700/common/aarch64/plat_helpers.S
plat/marvell/armada/a3700/common/dram_win.c
plat/marvell/armada/a3700/common/include/a3700_plat_def.h
plat/marvell/armada/a3700/common/include/a3700_pm.h
plat/marvell/armada/a3700/common/include/ddr_info.h
plat/marvell/armada/a3700/common/include/dram_win.h
plat/marvell/armada/a3700/common/include/io_addr_dec.h
plat/marvell/armada/a3700/common/include/plat_macros.S
plat/marvell/armada/a3700/common/include/platform_def.h
plat/marvell/armada/a3700/common/io_addr_dec.c
plat/marvell/armada/a3700/common/marvell_plat_config.c
plat/marvell/armada/a3700/common/plat_pm.c
plat/marvell/armada/a8k/a70x0/board/dram_port.c
plat/marvell/armada/a8k/a70x0/board/marvell_plat_config.c
plat/marvell/armada/a8k/a70x0/mvebu_def.h
plat/marvell/armada/a8k/a70x0/platform.mk
plat/marvell/armada/a8k/a70x0_amc/board/dram_port.c
plat/marvell/armada/a8k/a70x0_amc/board/marvell_plat_config.c
plat/marvell/armada/a8k/a70x0_amc/mvebu_def.h
plat/marvell/armada/a8k/a70x0_amc/platform.mk
plat/marvell/armada/a8k/a80x0/board/dram_port.c
plat/marvell/armada/a8k/a80x0/board/marvell_plat_config.c
plat/marvell/armada/a8k/a80x0/board/phy-porting-layer.h
plat/marvell/armada/a8k/a80x0/mvebu_def.h
plat/marvell/armada/a8k/a80x0/platform.mk
plat/marvell/armada/a8k/a80x0_mcbin/board/dram_port.c
plat/marvell/armada/a8k/a80x0_mcbin/board/marvell_plat_config.c
plat/marvell/armada/a8k/a80x0_mcbin/mvebu_def.h
plat/marvell/armada/a8k/a80x0_mcbin/platform.mk
plat/marvell/armada/a8k/common/a8k_common.mk
plat/marvell/armada/a8k/common/aarch64/a8k_common.c
plat/marvell/armada/a8k/common/aarch64/plat_arch_config.c
plat/marvell/armada/a8k/common/aarch64/plat_helpers.S
plat/marvell/armada/a8k/common/ble/ble.ld.S
plat/marvell/armada/a8k/common/ble/ble.mk
plat/marvell/armada/a8k/common/ble/ble_main.c
plat/marvell/armada/a8k/common/ble/ble_mem.S
plat/marvell/armada/a8k/common/include/a8k_plat_def.h
plat/marvell/armada/a8k/common/include/ddr_info.h
plat/marvell/armada/a8k/common/include/mentor_i2c_plat.h
plat/marvell/armada/a8k/common/include/plat_macros.S
plat/marvell/armada/a8k/common/include/platform_def.h
plat/marvell/armada/a8k/common/mss/mss_a8k.mk
plat/marvell/armada/a8k/common/mss/mss_bl2_setup.c
plat/marvell/armada/a8k/common/mss/mss_pm_ipc.c
plat/marvell/armada/a8k/common/mss/mss_pm_ipc.h
plat/marvell/armada/a8k/common/plat_bl1_setup.c
plat/marvell/armada/a8k/common/plat_bl31_setup.c
plat/marvell/armada/a8k/common/plat_ble_setup.c
plat/marvell/armada/a8k/common/plat_pm.c
plat/marvell/armada/a8k/common/plat_pm_trace.c
plat/marvell/armada/a8k/common/plat_thermal.c
plat/marvell/armada/common/aarch64/marvell_bl2_mem_params_desc.c
plat/marvell/armada/common/aarch64/marvell_common.c
plat/marvell/armada/common/aarch64/marvell_helpers.S
plat/marvell/armada/common/marvell_bl1_setup.c
plat/marvell/armada/common/marvell_bl2_setup.c
plat/marvell/armada/common/marvell_bl31_setup.c
plat/marvell/armada/common/marvell_cci.c
plat/marvell/armada/common/marvell_common.mk
plat/marvell/armada/common/marvell_console.c
plat/marvell/armada/common/marvell_ddr_info.c
plat/marvell/armada/common/marvell_gicv2.c
plat/marvell/armada/common/marvell_gicv3.c
plat/marvell/armada/common/marvell_image_load.c
plat/marvell/armada/common/marvell_io_storage.c
plat/marvell/armada/common/marvell_pm.c
plat/marvell/armada/common/marvell_topology.c
plat/marvell/armada/common/mrvl_sip_svc.c
plat/marvell/armada/common/mss/mss_common.mk
plat/marvell/armada/common/mss/mss_ipc_drv.c
plat/marvell/armada/common/mss/mss_ipc_drv.h
plat/marvell/armada/common/mss/mss_mem.h
plat/marvell/armada/common/mss/mss_scp_bl2_format.h
plat/marvell/armada/common/mss/mss_scp_bootloader.c
plat/marvell/armada/common/mss/mss_scp_bootloader.h
plat/marvell/armada/common/plat_delay_timer.c
plat/marvell/marvell.mk
7d6fa6ec01-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 ...

a53e89bc17-Jun-2020 Sandrine Bailleux <sandrine.bailleux@arm.com>

Merge "plat/arm: Fix load address of TB_FW_CONFIG" into integration

6cc2c1cb01-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 ...

c9e8300001-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 ...

75366ccd28-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 ...

1...<<431432433434435436437438439440>>...733