| #
d2c909e8 |
| 07-Aug-2025 |
Michael Tretter <m.tretter@pengutronix.de> |
drivers: rockchip: extract OTP driver from rk3588 platform
The OTP handling is useful outside the rk3588 platform implementation. For example, the fuses for secure boot are accessible via the OTP.
drivers: rockchip: extract OTP driver from rk3588 platform
The OTP handling is useful outside the rk3588 platform implementation. For example, the fuses for secure boot are accessible via the OTP.
Extract the OTP write and read support to a separate driver to make it available for other modules.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Reviewed-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| #
1e3d23f8 |
| 03-Jul-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
Revert "plat-rockchip: rk3399: remove GIC configuration"
With commit 4cb77793842a ("irqchip/gic-v3: Fix rk3399 workaround when secure interrupts are enabled") in the Linux kernel OP-TEE panics after
Revert "plat-rockchip: rk3399: remove GIC configuration"
With commit 4cb77793842a ("irqchip/gic-v3: Fix rk3399 workaround when secure interrupts are enabled") in the Linux kernel OP-TEE panics after the kernel has booted with: E/TC:3 0 Panic 'Secure interrupt handler not defined' at core/kernel/interrupt.c:105 <interrupt_main_handler>
So for kernels after v6.14 we need another workaround. The easiest is to revert commit 447c5f6bc49ff5408c0543ceaaabf0cb8f23804d. The GIC is still broken, but the device is still usable in other aspects.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (rockchip-rk3399) (Rockpi4B) Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
447c5f6b |
| 28-Apr-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-rockchip: rk3399: remove GIC configuration
From commit 773c05f417fa ("irqchip/gic-v3: Work around insecure GIC integrations") in the Linux kernel it appears that the hardware integration of the
plat-rockchip: rk3399: remove GIC configuration
From commit 773c05f417fa ("irqchip/gic-v3: Work around insecure GIC integrations") in the Linux kernel it appears that the hardware integration of the GIC500 isn't correct. For v6.13 kernels which includes that commit this has the effect of OP-TEE printing and endless stream of: D/TC:0 0 gic_native_itr_handler:971 Special interrupt 1023
Fix this by removing GIC configuration for RK3399 so the device can be used with v6.13 kernels and later.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
6169a1f6 |
| 04-Feb-2025 |
Chris Morgan <macromorgan@hotmail.com> |
plat-rockchip: rk3588: Correct TZDRAM_START and SHMEM_START
Update the TZDRAM_START and SHMEM_START values to match the PX30 and RK3399 values. If this is not done, a compressed kernel using the def
plat-rockchip: rk3588: Correct TZDRAM_START and SHMEM_START
Update the TZDRAM_START and SHMEM_START values to match the PX30 and RK3399 values. If this is not done, a compressed kernel using the default value of kernel_comp_addr_r (0x0a000000) within U-Boot and having a decompressed size greater than 28MiB puts the decompressed kernel in the reserved address space for OP-TEE that starts at 0x08400000. Using the values for the RK3399 and PX30 avoids this problem.
Fixes: 14754b93b1b7 ("plat-rockchip: add support for Rockchip rk3588") Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
74891be2 |
| 04-Feb-2025 |
Chris Morgan <macromorgan@hotmail.com> |
plat-rockchip: rk3588: Increase FDT Max Size to 384KiB
Increase the maximum size of the FDT to 384KiB to match the proposed changes with Arm Trusted Firmware. This allows us to pass and parse the FD
plat-rockchip: rk3588: Increase FDT Max Size to 384KiB
Increase the maximum size of the FDT to 384KiB to match the proposed changes with Arm Trusted Firmware. This allows us to pass and parse the FDT within OP-TEE. When doing this, we also need to allow OP-TEE to detect the maximum PA bits so that allocating RAM above 4GiB does not fail.
With these two changes, OP-TEE can parse and add the correct memory nodes to the devicetree passed to it automatically.
Associated A-TF commit: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/34997
Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
14754b93 |
| 26-Aug-2024 |
Ed Tubbs <ectubbs@gmail.com> |
plat-rockchip: add support for Rockchip rk3588
Enables support for NanoPC-T6 Based on support for ROCK 4
Signed-off-by: Ed Tubbs <ectubbs@gmail.com> Acked-by: Jerome Forissier <jerome.forissier@lin
plat-rockchip: add support for Rockchip rk3588
Enables support for NanoPC-T6 Based on support for ROCK 4
Signed-off-by: Ed Tubbs <ectubbs@gmail.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Heiko Stuebner <heiko.stuebner@cherry.de> (BSD-3) Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
3ab148c8 |
| 15-Apr-2022 |
Jerome Forissier <jerome.forissier@linaro.org> |
plat-rockchip: rk3399: set CFG_CRYPTO_WITH_CE ?= y
Enables Arm Cryptography Extensions by default for the rk3399 SoC since they are supported [1].
Link: [1] http://opensource.rock-chips.com/images/
plat-rockchip: rk3399: set CFG_CRYPTO_WITH_CE ?= y
Enables Arm Cryptography Extensions by default for the rk3399 SoC since they are supported [1].
Link: [1] http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
aeb2ac09 |
| 16-May-2022 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: arm.mk: set CFG_WITH_LPAE=y when CFG_ARCH64_core=y
Since CFG_WITH_LPAE=y is mandatory when CFG_ARCH64_core=y, set it in the common file core/arch/arm/arm.mk instead of leaving it to the platfo
core: arm.mk: set CFG_WITH_LPAE=y when CFG_ARCH64_core=y
Since CFG_WITH_LPAE=y is mandatory when CFG_ARCH64_core=y, set it in the common file core/arch/arm/arm.mk instead of leaving it to the platforms.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
96a61475 |
| 12-Apr-2021 |
Yann Dirson <yann@blade-group.com> |
rk3399: enable serial console by default
The definition is the same as for rk322x.
Signed-off-by: Yann Dirson <yann@blade-group.com> Acked-by: Jerome Forissier <jerome@forissier.org>
|
| #
f3721740 |
| 23-Jul-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove the unused PM stubs
Removes the PM stubs and all references to CFG_PM_STUBS.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.o
core: remove the unused PM stubs
Removes the PM stubs and all references to CFG_PM_STUBS.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
35e770df |
| 04-Jun-2020 |
Jerome Forissier <jerome@forissier.org> |
Move CFG_WITH_STACK_CANARIES to global config file
All platforms but one (bcm-ns3) set CFG_WITH_STACK_CANARIES ?= y in their configuration files. Move this flag to the global mk/config.mk instead. N
Move CFG_WITH_STACK_CANARIES to global config file
All platforms but one (bcm-ns3) set CFG_WITH_STACK_CANARIES ?= y in their configuration files. Move this flag to the global mk/config.mk instead. Not sure it matters much, but in order to avoid any functional change, CFG_WITH_STACK_CANARIES ?= n is added to plat-bcm/conf.mk.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
0146c7ad |
| 07-Jun-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: make generic boot mandatory
The OP-TEE booting has since quite some time been unified in the sense that all platforms use CFG_GENERIC_BOOT=y. Make this configuration option mandatory and remov
core: make generic boot mandatory
The OP-TEE booting has since quite some time been unified in the sense that all platforms use CFG_GENERIC_BOOT=y. Make this configuration option mandatory and remove the CFG_GENERIC_BOOT flag.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
de5333ed |
| 09-Oct-2019 |
Heiko Stuebner <heiko.stuebner@theobroma-systems.com> |
plat-rockchip: add rk3399 and px30 flavors
Add support for the both the 6-core rk3399 as well as the 4-core px30 Rockchip socs to be used as secure payload together with trusted firmware.
Signed-of
plat-rockchip: add rk3399 and px30 flavors
Add support for the both the 6-core rk3399 as well as the 4-core px30 Rockchip socs to be used as secure payload together with trusted firmware.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Acked-by: Kever Yang <kever.yang@rock-chips.com> Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
fe5a8770 |
| 09-Oct-2019 |
Heiko Stuebner <heiko.stuebner@theobroma-systems.com> |
plat-rockchip: cleanup build infrastructure to make room for more platforms
Most features used by rk322x really will be limited to it even in the future as all other platforms will be a secure paylo
plat-rockchip: cleanup build infrastructure to make room for more platforms
Most features used by rk322x really will be limited to it even in the future as all other platforms will be a secure payload together with trusted firmware.
So clean up the make files accordingly.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Acked-by: Jerome Forissier <jerome@forissier.org> Acked-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
3b4c661f |
| 09-Oct-2019 |
Heiko Stuebner <heiko.stuebner@theobroma-systems.com> |
plat-rockchip: make hardcoded uart optional
Rockchip SoCs can obviously use multiple uarts and while there is always a uart used on the reference designs and hence on most boards, some boards may wa
plat-rockchip: make hardcoded uart optional
Rockchip SoCs can obviously use multiple uarts and while there is always a uart used on the reference designs and hence on most boards, some boards may want to use a different uart.
OP-TEE can already initialize the uart from a chosen node from devicetree and only needs the hardcoded uart for really early logs which will only be needed during development.
So make the hard-coded uart optional and make it configurable via the newly introduced CFG_EARLY_CONSOLE config settings.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Acked-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
9fece2d8 |
| 09-Oct-2019 |
Heiko Stuebner <heiko.stuebner@theobroma-systems.com> |
plat-rockchip: move memory layout from platform_config to conf.mk
Makes it easier to integrate additional flavours later on.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Ack
plat-rockchip: move memory layout from platform_config to conf.mk
Makes it easier to integrate additional flavours later on.
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Acked-by: Kever Yang <kever.yang@rock-chips.com> Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
9f1eec75 |
| 17-Dec-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Factor out ta-targets from platform config
Platforms use the same basic pattern again and again:
ta-targets = ta_arm32 ifeq ($(CFG_ARM64_core),y) ta-targets += ta_arm64 endif
Let's move this p
Factor out ta-targets from platform config
Platforms use the same basic pattern again and again:
ta-targets = ta_arm32 ifeq ($(CFG_ARM64_core),y) ta-targets += ta_arm64 endif
Let's move this pattern to core/arch/arm/arm.mk, make it the default, and cleanup the platform configuration files.
Suggested-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
9460285e |
| 04-Jun-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
plat-*/conf.mk: use $(call force, ...) to set CFG_TEE_CORE_NB_CORE
Except for very special cases (such as virtualization), the number of CPU cores that can enter OP-TEE is a fixed number that depend
plat-*/conf.mk: use $(call force, ...) to set CFG_TEE_CORE_NB_CORE
Except for very special cases (such as virtualization), the number of CPU cores that can enter OP-TEE is a fixed number that depends on the hardware configuration and should not be configurable at build time. Therefore, use $(call force,CFG_TEE_CORE_NB_CORE,<value>) to set the value.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
ded07d04 |
| 02-May-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-rockchip: move some CFG_'s from platform_config.h to conf.mk
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org>
|
| #
c9add4ac |
| 23-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: arm32: enable NEON with .fpu directive rather than compile flag
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU CF
core: arm32: enable NEON with .fpu directive rather than compile flag
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU CFG_WITH_VFP=y) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960 AArch32 {,pager}) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
cd11e1cb |
| 23-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
Use -mfpu-neon for assembly files in TEE core only
Some platforms set arm32-platform-aflags += -mfpu-neon, which causes NEON to be selected when building any assembly files. TEE core, user-mode libr
Use -mfpu-neon for assembly files in TEE core only
Some platforms set arm32-platform-aflags += -mfpu-neon, which causes NEON to be selected when building any assembly files. TEE core, user-mode libraries and TAs are all affected by this setting.
This is most likely incorrect because user-mode libraries do not use NEON instructions (only some core files do). And, it does not make much sense to set it by default for TAs either.
So, core_arm32-platform-aflags should be set instead.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
7176a0b4 |
| 21-Jul-2017 |
Joseph Chen <chenjh@rock-chips.com> |
Add plat-rockchip support
Initial version support for rockchip SoCs.(RK322X and next SoCs).
This patch adds to support the RK322X. It is one of the Rockchip family SoCs, which is a 4*A7 multi-cores
Add plat-rockchip support
Initial version support for rockchip SoCs.(RK322X and next SoCs).
This patch adds to support the RK322X. It is one of the Rockchip family SoCs, which is a 4*A7 multi-cores ARM SoCs.
plat-rockchip support features: 1.Support SMP cpu boot up and power down; 2.Support system reset; 3.Support GIC driver initialization.
make PLATFORM=rockchip-rk322x
Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|