| 99f278d9 | 04-May-2020 |
Jerome Forissier <jerome@forissier.org> |
core: keep.h: add parentheses around sym argument in KEEP_* macros
It is good practice to use parentheses when using macro arguments to avoid precedence issues. Do it for KEEP_PAGER() and KEEP_INIT(
core: keep.h: add parentheses around sym argument in KEEP_* macros
It is good practice to use parentheses when using macro arguments to avoid precedence issues. Do it for KEEP_PAGER() and KEEP_INIT().
Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ed835ce4 | 01-May-2020 |
Etienne Carriere <etienne.carriere@st.com> |
plat-stm32mp1: clock: enable some secure clocks at initialization
With this change some system clocks are enabled by Core at boot time and have a reference counter synchronized with the clock hardwa
plat-stm32mp1: clock: enable some secure clocks at initialization
With this change some system clocks are enabled by Core at boot time and have a reference counter synchronized with the clock hardware state. RTCAPB must be enabled for secondary cores to boot, if any.
This change also ensures these secure clocks are derived from secure clocks.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 81ab436b | 06-Dec-2019 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: implement NXP CAAM Driver - HMAC
Add the NXP CAAM driver: - HMAC
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by:
drivers: caam: implement NXP CAAM Driver - HMAC
Add the NXP CAAM driver: - HMAC
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ea9ac29c | 13-Aug-2019 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: crypto: generic resources for crypto MAC driver - MAC
Add a generic cryptographic driver MAC interface connecting TEE Crypto generic APIs to HW driver interface
Signed-off-by: Cedric Neveu
drivers: crypto: generic resources for crypto MAC driver - MAC
Add a generic cryptographic driver MAC interface connecting TEE Crypto generic APIs to HW driver interface
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 3a0906e4 | 01-May-2020 |
Etienne Carriere <etienne.carriere@st.com> |
plat-stm32mp1: clock: fix MPUDIV support
Fix implementation that divides clock with a value that in fact is a bit shift value.
Fix implementation for getting MPU clock: when PMUDIV is zero, MPU clo
plat-stm32mp1: clock: fix MPUDIV support
Fix implementation that divides clock with a value that in fact is a bit shift value.
Fix implementation for getting MPU clock: when PMUDIV is zero, MPU clock is disabled.
Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e7d7d257 | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: sm: remove #ifdef around CFG_SM_PLATFORM_HANDLER
Use IS_ENABLED() and weak attribute to remove conditional statement at pre-compilation time. Keep IS_ENABLED(CFG_SM_PLATFORM_HANDLER) in the de
core: sm: remove #ifdef around CFG_SM_PLATFORM_HANDLER
Use IS_ENABLED() and weak attribute to remove conditional statement at pre-compilation time. Keep IS_ENABLED(CFG_SM_PLATFORM_HANDLER) in the decision to ensure weak function is not even called when CFG_SM_PLATFORM_HANDLER is disabled, for fast path consideration of secure monitor traversal.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 296403e1 | 28-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: sm: support SMCCC v1.1 specification
SMCCC v1.1 specification: support defined function IDs with weak handlers platform can override, as other PSCI function handler. We could state we support
core: sm: support SMCCC v1.1 specification
SMCCC v1.1 specification: support defined function IDs with weak handlers platform can override, as other PSCI function handler. We could state we support v1.2 but Linux kernel v5.7-rc1 expects strict v1.1 support.
unsigned long arm_arch_version(void); returns SMCCC_V_1_1
unsigned long arm_arch_feature(unsigned long a1); default supports version only
unsigned long arm_arch_soc_id(void); unsigned long arm_arch_workaround_1(void); unsigned long arm_arch_workaround_2(void); default return ARM_SMCCC_RET_NOT_SUPPORTED
This helper is needed by Linux kernel (U-Boot) drivers that rely on arm_smccc_v1_1() supports.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 187ba5c2 | 30-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: fix missing parentheses in boot-on config
Fix error reported by GCC [1]:
core/drivers/stpmic1.c: In function ‘stpmic1_bo_voltage_unpg’: core/drivers/stpmic1.c:720:24: error: suggest parent
stpmic1: fix missing parentheses in boot-on config
Fix error reported by GCC [1]:
core/drivers/stpmic1.c: In function ‘stpmic1_bo_voltage_unpg’: core/drivers/stpmic1.c:720:24: error: suggest parentheses around comparison in operand of ‘&’ [-Werror=parentheses] if (value & cfg->mask >= cfg->min_value) ~~~~~~~~~~^~~~~~~~~~~~~~~~~
[1] arm-buildroot-linux-uclibcgnueabihf-gcc.br_real (Buildroot 2019.11-git-01409-gab8f872d0e-dirty) 8.3.0
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org> [jf: wrap compiler description line] Signed-off-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| bef69837 | 27-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: scmi-msg: reset: fix return value on domain IDs not found
Fix reset cycle message in SCMI reset domain to return NOT_FOUND on invalid domain ID instead of INVALID_PARAMETERS.
Signed-off-by: E
core: scmi-msg: reset: fix return value on domain IDs not found
Fix reset cycle message in SCMI reset domain to return NOT_FOUND on invalid domain ID instead of INVALID_PARAMETERS.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 064bf8dc | 27-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: scmi-msg: minor cleanup
Remove useless local headers file inclusion as "common.h" is included. Remove a useless inclusion of speculation_barrier.h. Use BIT() in clock.h. Refine inline descript
core: scmi-msg: minor cleanup
Remove useless local headers file inclusion as "common.h" is included. Remove a useless inclusion of speculation_barrier.h. Use BIT() in clock.h. Refine inline description of scmi_msg_channel::agent_name in scmi-msg.h. Fix typo in scmi_smt_fastcall_smc_entry() description inline comment.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| ef18a901 | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: assert regulator support at API function entries
Assert the regulator as a register offset defined (non zero) for the target support.
Low power modes mandate a non-zero low_power_reg offse
stpmic1: assert regulator support at API function entries
Assert the regulator as a register offset defined (non zero) for the target support.
Low power modes mandate a non-zero low_power_reg offset value in regulator description. Offset is stored in lp_reg for unpaged accesses to regulator.
Pull down support mandates a non-zero pull_down_reg offset value in regulator description. Offset in stored in pd_reg for unpaged accessed to regulator.
Mask reset support mandates a non-zero mask_reset_reg offset value in regulator description. Offset in stored in mrst_reg for unpaged accessed to regulator.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 44219e70 | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: fix boot-on minimal voltage
Change stpmic1_bo_voltage_cfg() to highlight voltage argument is a minimal desired boot-on voltage requirement, not an absolute voltage requested at boot-on, as
stpmic1: fix boot-on minimal voltage
Change stpmic1_bo_voltage_cfg() to highlight voltage argument is a minimal desired boot-on voltage requirement, not an absolute voltage requested at boot-on, as per DT binding property .
stpmic1_bo_voltage_unpg() that applies boot-on voltage is updated to not lower current voltage if above min voltage constraint.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 1764a894 | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: fix regulator identification for low power configuration
Fix name identification sequence in stpmic1_lp_voltage_cfg() and stpmic1_lp_set_voltage(). Identify names starting with "buck" using
stpmic1: fix regulator identification for low power configuration
Fix name identification sequence in stpmic1_lp_voltage_cfg() and stpmic1_lp_set_voltage(). Identify names starting with "buck" using strncmp(name, "buck", 4), not strcmp(name, "buck") that tests also string null termination. Fix also tests on regulator names starting with "ldo".
This change factorize all identification with helper functions regu_is_buck() and regu_is_ldo_but_ldo4();
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 972b3d9a | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: relax PMIC control API functions
Return an error if requested to save Low Power regulator data if there is no Low Power control defined. This changes stpmic1_lp_cfg(), stpmic1_lp_reg_on_off
stpmic1: relax PMIC control API functions
Return an error if requested to save Low Power regulator data if there is no Low Power control defined. This changes stpmic1_lp_cfg(), stpmic1_lp_reg_on_off() and stpmic1_lp_copy_reg() to return with a error if regulator does not support Low Power config.
Add helper function to stpmic1_regu_has_lp_cfg() to return if a regulator defines Low Power configuration.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 6149e2d8 | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: add stpmic1_bo_enable_cfg() to save boot-on config
Add a helper stpmic1_bo_enable_cfg() to save the minimal regulator data needed to operate at least the boot-on constraint: control on enab
stpmic1: add stpmic1_bo_enable_cfg() to save boot-on config
Add a helper stpmic1_bo_enable_cfg() to save the minimal regulator data needed to operate at least the boot-on constraint: control on enable/disable support: control register offset and bit position.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 3f692bdf | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: describe 5V fixed regulators
Describe regulators boost, pwr_sw1 and pwr_sw2 that are gated 5V fixed regulators.
These regulators have not reset mask support hence change stpmic1_regulator_
stpmic1: describe 5V fixed regulators
Describe regulators boost, pwr_sw1 and pwr_sw2 that are gated 5V fixed regulators.
These regulators have not reset mask support hence change stpmic1_regulator_mask_reset_set() to fail accordingly.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 42032ea0 | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: refine resources helper macros
Define bit fields in position xxx_POS rather than in bit mask. Use BIT() and GENMASK_32() rather than numerical values.
Signed-off-by: Etienne Carriere <etie
stpmic1: refine resources helper macros
Define bit fields in position xxx_POS rather than in bit mask. Use BIT() and GENMASK_32() rather than numerical values.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 68cfb83d | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: save enable bit position in regulator control
Add enable bit position info in STPMIC1 regulators description instead of assuming it is BIT(0). This allows to define other regulators with en
stpmic1: save enable bit position in regulator control
Add enable bit position info in STPMIC1 regulators description instead of assuming it is BIT(0). This allows to define other regulators with enable bit not at position 0.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 2619b28c | 29-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: stpmic1_is_regulator_enabled() returns a boolean
Change helper function stpmic1_is_regulator_enabled() to return a boolean value.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.o
stpmic1: stpmic1_is_regulator_enabled() returns a boolean
Change helper function stpmic1_is_regulator_enabled() to return a boolean value.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| f7e28951 | 28-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stpmic1: Fix LDO3 voltage table
Add VOUT2/2 (sink/source mode) value in LDO3 voltage table.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Nicolas Le Bayon <nicolas.le
stpmic1: Fix LDO3 voltage table
Add VOUT2/2 (sink/source mode) value in LDO3 voltage table.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 2f5784ab | 28-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: PSCI_SYSTEM_RESET support
Use GRST control in RCC to reset the system on PCSI_RESET request. Any core can call this function.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro
plat-stm32mp1: PSCI_SYSTEM_RESET support
Use GRST control in RCC to reset the system on PCSI_RESET request. Any core can call this function.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 850b4772 | 28-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: fix PSCI_CPU_OFF support
Fix platform psci_features() to report PSCI_CPU_OFF support not only PSCI_CPU_ON when CFG_TEE_CORE_NB_CORE > 1.
This change also modifies CFG_TEE_CORE_NB_COR
plat-stm32mp1: fix PSCI_CPU_OFF support
Fix platform psci_features() to report PSCI_CPU_OFF support not only PSCI_CPU_ON when CFG_TEE_CORE_NB_CORE > 1.
This change also modifies CFG_TEE_CORE_NB_CORE handling for checkpatch issue so that both CPU_ON/CPU_OFF support are bound to number of core.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| ec1f544d | 28-Apr-2020 |
Etienne Carriere <etienne.carriere@linaro.org> |
stm32_rng: increase timeout to 10 ms
Use a longer timeout in RNG access sequence. When enabling STM32 RNG from reset state, it may take few milliseconds for the RNG to be ready.
Fixes panic at plat
stm32_rng: increase timeout to 10 ms
Use a longer timeout in RNG access sequence. When enabling STM32 RNG from reset state, it may take few milliseconds for the RNG to be ready.
Fixes panic at platform boot with trace: E/TC:0 0 Panic at core/arch/arm/plat-stm32mp1/rng_seed.c:48 <plat_rng_init>
Fixes: 4e0397eed2e5 ("stm32mp1: seed PRNG with STM32 RNG") Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 66d685f1 | 28-Apr-2020 |
Peikan Tsai <peikantsai@gmail.com> |
rpmb: remove unnecessary check
Remove unnecessary check to fix compile warning reported by clang as following:
core/tee/tee_rpmb_fs.c:2051:11: warning: address of array 'fh->filename' will always e
rpmb: remove unnecessary check
Remove unnecessary check to fix compile warning reported by clang as following:
core/tee/tee_rpmb_fs.c:2051:11: warning: address of array 'fh->filename' will always evaluate to 'true' [-Wpointer-bool-conversion] if (fh->filename && (!strcmp(fh->filename, fe->filename)) && ~~~~^~~~~~~~ ~~ core/tee/tee_rpmb_fs.c:2134:10: warning: address of array 'fh->filename' will always evaluate to 'true' [-Wpointer-bool-conversion] if (fh->filename && !fh->rpmb_fat_address) ~~~~^~~~~~~~ ~~
Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com> Signed-off-by: Peikan Tsai <peikantsai@gmail.com> Reviewed-by: YJ Chiang <yj.chiang@mediatek.com> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 4e0397ee | 04-Apr-2019 |
Etienne Carriere <etienne.carriere@linaro.org> |
stm32mp1: seed PRNG with STM32 RNG
Initialize the core PRNG with samples from the SoC RNG during early initialization. PRNG is used to generate random samples used early before all services and obvi
stm32mp1: seed PRNG with STM32 RNG
Initialize the core PRNG with samples from the SoC RNG during early initialization. PRNG is used to generate random samples used early before all services and obviously device and peripheral drivers are initialized. Therefore the platform sequence to seed the PRNG locally handles RNG clock and reset without relying on clock and reset device OP-TEE drivers as these are not yet initialized.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
show more ...
|