| 5d3112cb | 16-Jan-2024 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plat: rcar-gen3: disable HWRNG by default
Sometimes ROM code fails to provide random numbers, which leads to OP-TEE panic with "ROM_GetRndVector() returned error!" message.
So far this behavior was
plat: rcar-gen3: disable HWRNG by default
Sometimes ROM code fails to provide random numbers, which leads to OP-TEE panic with "ROM_GetRndVector() returned error!" message.
So far this behavior was observed only on M3 Ver.3.0, but it is unclear if other SoCs are affected. There is a workaround which retries and operation and this workaround seems to work, but again, it is unclear if this is the correct way to deal with the issue. So it is better to disable use of HWRNG by default, until we get clarification on those errors from Renesas.
This patch moves HWRNG code under CFG_RCAR_GEN3_HWRNG option, so expert user still can try to use it.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e8a31001 | 29-Apr-2022 |
Andrew Davis <afd@ti.com> |
plar: rcar: Use common crypto_rng_read() over hw_get_random_byte()
This has the same effect and removes the last user of hw_get_random_byte() allowing us to start converting platforms to hw_get_rand
plar: rcar: Use common crypto_rng_read() over hw_get_random_byte()
This has the same effect and removes the last user of hw_get_random_byte() allowing us to start converting platforms to hw_get_random_bytes() and removing hw_get_random_byte().
Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ab875342 | 10-Feb-2022 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plar: rcar: add initial support for Gen4
RCar Gen4 is the next generation of Renesas automotive chips. Currently only RCar S4 on board Spider is available. This platform has 8 CortexA55 cores with G
plar: rcar: add initial support for Gen4
RCar Gen4 is the next generation of Renesas automotive chips. Currently only RCar S4 on board Spider is available. This platform has 8 CortexA55 cores with GICv3.
This is patch adds minimal support, so not all Gen4 features are available. Namely, ROM API is not supported right now, so HW RNG and ASLR are disabled. Also, ATF does not provide DTB, so non-secure DDR ranges are hardcoded.
Apart from that, depending on external configuration, initial bootloader can use two different UARTs as console: either SCIF3 or HSCIF0. Thus, CFG_RCAR_UART is introduced.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2e0f28d0 | 25-Jan-2021 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plat: rcar: enable ASLR
On RCAR hw_get_random_byte() can be called very early, as it have no dependencies. So we can use it to provide ASLR seed value.
Also, the previous fix to SCIF drivers preven
plat: rcar: enable ASLR
On RCAR hw_get_random_byte() can be called very early, as it have no dependencies. So we can use it to provide ASLR seed value.
Also, the previous fix to SCIF drivers prevents crashes with ASLR enabled.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 501ef24e | 25-Jan-2021 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plat: rcar: implement hw_get_random_byte() function
As we now can call ROM API to access hardware random generator, it is possible to implement generic interface to it, using hw_get_random_byte() fu
plat: rcar: implement hw_get_random_byte() function
As we now can call ROM API to access hardware random generator, it is possible to implement generic interface to it, using hw_get_random_byte() function.
ROM API provides 32 bytes of random data at a time. To optimally use it, we need to cache received random vector and provide random number bytes from it one by one.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| fa6e3546 | 25-Jan-2021 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plat: rcar: add support for ROM API calls including HW RNG
RCAR Gen3 SoCs have public ROM API functions that provide access to various security-related features, including access to hardware random
plat: rcar: add support for ROM API calls including HW RNG
RCAR Gen3 SoCs have public ROM API functions that provide access to various security-related features, including access to hardware random number generator.
This patch adds both generic ROM API interface and wrapper function for ROM_GetRndVector() call.
As ROM API code is written with identity mapping in mind, we can't call those function with MMU enabled. So we need a special trampoline function that would disable MMU, save state and jump to ROM API code.
Beginning with the latest revisions (H3 ES3.0, M3 ES1.1, etc) of Renesas SoCs, ROM API addresses are fixed, but prior to that each family had own address, so we need to maintain table of all possible addressed and select correct one in runtime.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 102788ec | 28-Apr-2021 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plat: rcar: store PRR value in global variable
Product Register will be needed not only by get_core_pos_mpidr function but by other platform code as well. So move its cached value into variable in m
plat: rcar: store PRR value in global variable
Product Register will be needed not only by get_core_pos_mpidr function but by other platform code as well. So move its cached value into variable in main.c
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| e687029d | 27-Apr-2021 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plat: rcar: use new register_ddr() macro
As register_dynamic_shm() is being retired - switch to the new macro.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Volodymyr Babchuk
plat: rcar: use new register_ddr() macro
As register_dynamic_shm() is being retired - switch to the new macro.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
show more ...
|