History log of /rk3399_ARM-atf/plat/arm/board/tc/ (Results 26 – 50 of 234)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
93c50ae601-Mar-2025 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

feat(tc): port BL1-BL2 interface to firmware handoff framework

The firmware handoff framework, is a light weight mechanism for
sharing information between bootloader stages.
Adding support for this

feat(tc): port BL1-BL2 interface to firmware handoff framework

The firmware handoff framework, is a light weight mechanism for
sharing information between bootloader stages.
Adding support for this framework at the handoff boundary between
firmware stage BL1 and BL2 on TC.

Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: Iae13adbcdd6ebbdcc61d04e017655c6b8d715ea0

show more ...


/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/fdts/fvp-base-psci-common.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-ddr4-2x8Gbits-2x16bits-1200MHz.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-lpddr4-1x16Gbits-1x32bits-1200MHz.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-lpddr4-1x32Gbits-1x32bits-1200MHz.dtsi
/rk3399_ARM-atf/include/drivers/st/stpmic2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a710.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a78.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a78c.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x3.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v1.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78c.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/include/plat_ocm_coherency.h
/rk3399_ARM-atf/plat/amd/versal2/plat_ocm_coherency.c
/rk3399_ARM-atf/plat/amd/versal2/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdn2/platform.mk
include/platform_def.h
tc_plat.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_fcs.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/n5x/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/bl31_plat_setup.c
/rk3399_ARM-atf/plat/mediatek/mt8188/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8195/platform.mk
/rk3399_ARM-atf/plat/qti/sc7280/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/tools/marvell/doimage/doimage.c
b6e6e2e620-Mar-2025 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

refactor(arm): simplify early platform setup function in BL31

Refactor `arm_bl31_early_platform_setup` to accept generic u_register_t
values, enabling support for firmware handoff boot arguments in

refactor(arm): simplify early platform setup function in BL31

Refactor `arm_bl31_early_platform_setup` to accept generic u_register_t
values, enabling support for firmware handoff boot arguments in
common code. This simplifies the interface for early platform setup.

Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: Iff20300d2372e1a9825827ddccbd1b3bc6751e40

show more ...


/rk3399_ARM-atf/.github/dependabot.yml
/rk3399_ARM-atf/.husky/prepare-commit-msg
/rk3399_ARM-atf/.readthedocs.yaml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/aarch32/bl2_entrypoint.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl31/interrupt_mgmt.c
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/runtime_svc.c
/rk3399_ARM-atf/common/tf_log.c
/rk3399_ARM-atf/docs/Makefile
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/activity-monitors.rst
/rk3399_ARM-atf/docs/components/context-management-library.rst
/rk3399_ARM-atf/docs/components/rmm-el3-comms-spec.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design_documents/dtpm_drivers.rst
/rk3399_ARM-atf/docs/design_documents/index.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot_dtpm_poc.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/global_substitutions.txt
/rk3399_ARM-atf/docs/glossary.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/fvp-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/fvp-specific-configs.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/fvp-support.rst
/rk3399_ARM-atf/docs/plat/rockchip.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/resources/diagrams/rpi3_dtpm_driver.png
/rk3399_ARM-atf/docs/threat_model/firmware_threat_model/threat_model.rst
/rk3399_ARM-atf/docs/tools/memory-layout-tool.rst
/rk3399_ARM-atf/drivers/arm/cci/cci.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicdv2_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_helpers.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/console/multi_console.c
/rk3399_ARM-atf/drivers/gpio/gpio_spi.c
/rk3399_ARM-atf/drivers/measured_boot/event_log/event_log.mk
/rk3399_ARM-atf/drivers/partition/partition.c
/rk3399_ARM-atf/drivers/st/pmic/stpmic2.c
/rk3399_ARM-atf/drivers/tpm/tpm2.mk
/rk3399_ARM-atf/drivers/tpm/tpm2_chip.c
/rk3399_ARM-atf/drivers/tpm/tpm2_cmds.c
/rk3399_ARM-atf/drivers/tpm/tpm2_fifo.c
/rk3399_ARM-atf/drivers/tpm/tpm2_fifo_spi.c
/rk3399_ARM-atf/drivers/tpm/tpm2_slb9670/slb9670_gpio.c
/rk3399_ARM-atf/fdts/stm32mp157a-dk1-sp_min-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp157a-dk1-sp_min.dts
/rk3399_ARM-atf/fdts/stm32mp157c-dk2-sp_min-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp157c-dk2-sp_min.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ed1-sp_min-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ed1-sp_min.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ev1-sp_min-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ev1-sp_min.dts
/rk3399_ARM-atf/fdts/stm32mp15xx-dkx.dtsi
/rk3399_ARM-atf/include/arch/aarch32/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/arm/smmu_v3.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/gpio_spi.h
/rk3399_ARM-atf/include/drivers/tpm/tpm2.h
/rk3399_ARM-atf/include/drivers/tpm/tpm2_chip.h
/rk3399_ARM-atf/include/drivers/tpm/tpm2_interface.h
/rk3399_ARM-atf/include/drivers/tpm/tpm2_slb9670/slb9670_gpio.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a320.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a510.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a715.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/extensions/ras_arch.h
/rk3399_ARM-atf/include/lib/extensions/sve.h
/rk3399_ARM-atf/include/lib/libc/string.h
/rk3399_ARM-atf/include/lib/transfer_list.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/plat_drtm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/include/services/drtm_svc.h
/rk3399_ARM-atf/include/services/rmm_core_manifest.h
/rk3399_ARM-atf/include/services/rmmd_svc.h
/rk3399_ARM-atf/include/services/spm_mm_svc.h
/rk3399_ARM-atf/lib/aarch64/misc_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a320.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a510.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a77.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78c.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x1.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_common.c
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/sme/sme.c
/rk3399_ARM-atf/lib/extensions/sve/sve.c
/rk3399_ARM-atf/lib/extensions/trf/aarch64/trf.c
/rk3399_ARM-atf/lib/libc/libc_common.mk
/rk3399_ARM-atf/lib/libc/strcpy_secure.c
/rk3399_ARM-atf/lib/libc/strnlen_secure.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_coherent.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_system_off.c
/rk3399_ARM-atf/lib/romlib/Makefile
/rk3399_ARM-atf/lib/transfer_list/transfer_list.c
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_core.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/package-lock.json
/rk3399_ARM-atf/plat/amd/versal2/include/def.h
/rk3399_ARM-atf/plat/amd/versal2/platform.mk
/rk3399_ARM-atf/plat/arm/board/a5ds/a5ds_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/a5ds/sp_min/a5ds_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/corstone700/sp_min/corstone700_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fconf/fconf_hw_config_getter.c
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_drtm_stub.c
/rk3399_ARM-atf/plat/arm/board/fvp/jmptbl_mbedtls_psa.i
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/sp_min/fvp_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp_ve/fvp_ve_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp_ve/sp_min/fvp_ve_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/board/juno/juno_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd_ras.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/nrd_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/ras/nrd_ras_cpu.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_common.c
tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl1_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/sp_min/arm_sp_min_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_bl2_setup.c
/rk3399_ARM-atf/plat/common/aarch64/plat_common.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/common/plat_psci_common.c
/rk3399_ARM-atf/plat/intel/soc/agilex/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_ddr.c
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_vab.c
/rk3399_ARM-atf/plat/intel/soc/n5x/platform.mk
/rk3399_ARM-atf/plat/intel/soc/stratix10/platform.mk
/rk3399_ARM-atf/plat/mediatek/drivers/gicv3/mt_gic_v3.c
/rk3399_ARM-atf/plat/mediatek/mt8196/drivers/gpio/mtgpio.c
/rk3399_ARM-atf/plat/mediatek/mt8196/drivers/gpio/mtgpio.h
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/rockchip/common/aarch64/platform_common.c
/rk3399_ARM-atf/plat/rockchip/common/include/plat_private.h
/rk3399_ARM-atf/plat/rockchip/common/scmi/rockchip_common_clock.c
/rk3399_ARM-atf/plat/rockchip/common/scmi/scmi_clock.h
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/dmc/dmc_rk3576.h
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/dmc/suspend.c
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/pmu/plat_pmu_macros.S
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/pmu/pm_pd_regs.c
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/pmu/pm_pd_regs.h
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/pmu/pmu.h
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/secure/firewall.c
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/secure/firewall.h
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/secure/secure.c
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/secure/secure.h
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/soc/soc.c
/rk3399_ARM-atf/plat/rockchip/rk3576/drivers/soc/soc.h
/rk3399_ARM-atf/plat/rockchip/rk3576/include/plat.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3576/include/plat_sip_calls.h
/rk3399_ARM-atf/plat/rockchip/rk3576/include/platform_def.h
/rk3399_ARM-atf/plat/rockchip/rk3576/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3576/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3576/rk3576_def.h
/rk3399_ARM-atf/plat/rockchip/rk3576/scmi/rk3576_clk.c
/rk3399_ARM-atf/plat/rockchip/rk3576/scmi/rk3576_clk.h
/rk3399_ARM-atf/plat/rpi/common/rpi3_common.c
/rk3399_ARM-atf/plat/rpi/rpi3/include/platform_def.h
/rk3399_ARM-atf/plat/rpi/rpi3/include/rpi3_measured_boot.h
/rk3399_ARM-atf/plat/rpi/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl1_mboot.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl2_mboot.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi/rpi3/rpi3_dyn_cfg_helpers.c
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/include/platform_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.h
/rk3399_ARM-atf/poetry.lock
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/services/std_svc/drtm/drtm_main.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_main.h
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_main.c
/rk3399_ARM-atf/tools/cot_dt2c/poetry.lock
/rk3399_ARM-atf/tools/memory/poetry.lock
/rk3399_ARM-atf/tools/memory/pyproject.toml
/rk3399_ARM-atf/tools/memory/src/memory/__init__.py
/rk3399_ARM-atf/tools/memory/src/memory/buildparser.py
/rk3399_ARM-atf/tools/memory/src/memory/elfparser.py
/rk3399_ARM-atf/tools/memory/src/memory/mapparser.py
/rk3399_ARM-atf/tools/memory/src/memory/memmap.py
/rk3399_ARM-atf/tools/memory/src/memory/printer.py
/rk3399_ARM-atf/tools/nxp/create_pbl/Makefile
/rk3399_ARM-atf/tools/sptool/hob.py
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
/rk3399_ARM-atf/tools/tlc/poetry.lock
83ec7e4506-Nov-2024 Boyan Karatotev <boyan.karatotev@arm.com>

perf(amu): greatly simplify AMU context management

The current code is incredibly resilient to updates to the spec and
has worked quite well so far. However, recent implementations expose a
weakness

perf(amu): greatly simplify AMU context management

The current code is incredibly resilient to updates to the spec and
has worked quite well so far. However, recent implementations expose a
weakness in that this is rather slow. A large part of it is written in
assembly, making it opaque to the compiler for optimisations. The
future proofness requires reading registers that are effectively
`volatile`, making it even harder for the compiler, as well as adding
lots of implicit barriers, making it hard for the microarchitecutre to
optimise as well.

We can make a few assumptions, checked by a few well placed asserts, and
remove a lot of this burden. For a start, at the moment there are 4
group 0 counters with static assignments. Contexting them is a trivial
affair that doesn't need a loop. Similarly, there can only be up to 16
group 1 counters. Contexting them is a bit harder, but we can do with a
single branch with a falling through switch. If/when both of these
change, we have a pair of asserts and the feature detection mechanism to
guard us against pretending that we support something we don't.

We can drop contexting of the offset registers. They are fully
accessible by EL2 and as such are its responsibility to preserve on
powerdown.

Another small thing we can do, is pass the core_pos into the hook.
The caller already knows which core we're running on, we don't need to
call this non-trivial function again.

Finally, knowing this, we don't really need the auxiliary AMUs to be
described by the device tree. Linux doesn't care at the moment, and any
information we need for EL3 can be neatly placed in a simple array.

All of this, combined with lifting the actual saving out of assembly,
reduces the instructions to save the context from 180 to 40, including a
lot fewer branches. The code is also much shorter and easier to read.

Also propagate to aarch32 so that the two don't diverge too much.

Change-Id: Ib62e6e9ba5be7fb9fb8965c8eee148d5598a5361
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...

2590e81925-Nov-2024 Boyan Karatotev <boyan.karatotev@arm.com>

perf(mpmm): greatly simplify MPMM enablement

MPMM is a core-specific microarchitectural feature. It has been present
in every Arm core since the Cortex-A510 and has been implemented in
exactly the s

perf(mpmm): greatly simplify MPMM enablement

MPMM is a core-specific microarchitectural feature. It has been present
in every Arm core since the Cortex-A510 and has been implemented in
exactly the same way. Despite that, it is enabled more like an
architectural feature with a top level enable flag. This utilised the
identical implementation.

This duality has left MPMM in an awkward place, where its enablement
should be generic, like an architectural feature, but since it is not,
it should also be core-specific if it ever changes. One choice to do
this has been through the device tree.

This has worked just fine so far, however, recent implementations expose
a weakness in that this is rather slow - the device tree has to be read,
there's a long call stack of functions with many branches, and system
registers are read. In the hot path of PSCI CPU powerdown, this has a
significant and measurable impact. Besides it being a rather large
amount of code that is difficult to understand.

Since MPMM is a microarchitectural feature, its correct placement is in
the reset function. The essence of the current enablement is to write
CPUPPMCR_EL3.MPMM_EN if CPUPPMCR_EL3.MPMMPINCTL == 0. Replacing the C
enablement with an assembly macro in each CPU's reset function achieves
the same effect with just a single close branch and a grand total of 6
instructions (versus the old 2 branches and 32 instructions).

Having done this, the device tree entry becomes redundant. Should a core
that doesn't support MPMM arise, this can cleanly be handled in the
reset function. As such, the whole ENABLE_MPMM_FCONF and platform hooks
mechanisms become obsolete and are removed.

Change-Id: I1d0475b21a1625bb3519f513ba109284f973ffdf
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


/rk3399_ARM-atf/.github/dependabot.yml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/fdt_wrappers.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/fconf/index.rst
/rk3399_ARM-atf/docs/components/granule-protection-tables-design.rst
/rk3399_ARM-atf/docs/components/mpmm.rst
/rk3399_ARM-atf/docs/components/rmm-el3-comms-spec.rst
/rk3399_ARM-atf/docs/design/console-framework.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design/index.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip_private.h
/rk3399_ARM-atf/drivers/arm/rse/rse_comms.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/include/s32cc-clk-regs.h
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_clk_drv.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_clk_modules.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_early_clks.c
/rk3399_ARM-atf/fdts/fvp-base-psci-common.dtsi
/rk3399_ARM-atf/fdts/tc-base.dtsi
/rk3399_ARM-atf/fdts/tc2.dts
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/arch/aarch64/el2_common_macros.S
/rk3399_ARM-atf/include/arch/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/fdt_wrappers.h
/rk3399_ARM-atf/include/drivers/arm/gic600_multichip.h
/rk3399_ARM-atf/include/drivers/arm/rse_comms.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-ids.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-modules.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/dsu_def.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/dsu_macros.S
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_el2.h
/rk3399_ARM-atf/include/lib/el3_runtime/cpu_data.h
/rk3399_ARM-atf/include/lib/gpt_rme/gpt_rme.h
/rk3399_ARM-atf/include/lib/libc/cdefs.h
/rk3399_ARM-atf/include/lib/libc/stdlib.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/common/common_def.h
/rk3399_ARM-atf/include/services/rmm_core_manifest.h
/rk3399_ARM-atf/lib/cpus/aarch32/aem_generic.S
/rk3399_ARM-atf/lib/cpus/aarch64/a64fx.S
/rk3399_ARM-atf/lib/cpus/aarch64/aem_generic.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a35.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a510.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a520.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a55.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a57.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a65.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a65ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a72.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a725.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a73.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a77.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78c.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_alto.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_arcadia.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_gelas.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x1.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/denver.S
/rk3399_ARM-atf/lib/cpus/aarch64/generic.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_e1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/aarch64/nevis.S
/rk3399_ARM-atf/lib/cpus/aarch64/qemu_max.S
/rk3399_ARM-atf/lib/cpus/aarch64/rainier.S
/rk3399_ARM-atf/lib/cpus/aarch64/travis.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/cpu_data.S
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/fconf/fconf.mk
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.c
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme.mk
/rk3399_ARM-atf/lib/gpt_rme/gpt_rme_private.h
/rk3399_ARM-atf/lib/libc/libc_common.mk
/rk3399_ARM-atf/lib/libc/qsort.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/amd/common/include/plat_xfer_list.h
/rk3399_ARM-atf/plat/amd/common/plat_fdt.c
/rk3399_ARM-atf/plat/amd/common/plat_xfer_list.c
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/include/plat_pm_common.h
/rk3399_ARM-atf/plat/amd/versal2/include/plat_private.h
/rk3399_ARM-atf/plat/amd/versal2/include/platform_def.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci.c
/rk3399_ARM-atf/plat/amd/versal2/plat_psci_pm.c
/rk3399_ARM-atf/plat/amd/versal2/platform.mk
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_client.c
/rk3399_ARM-atf/plat/amd/versal2/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/amd/versal2/sip_svc_setup.c
/rk3399_ARM-atf/plat/arm/board/arm_fpga/platform.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fconf/fconf_hw_config_getter.c
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/fconf_hw_config_getter.h
/rk3399_ARM-atf/plat/arm/board/fvp/include/fvp_pas_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_plat_arm_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/nrd_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdn1edge/rdn1edge_plat.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdn2/rdn2_plat.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv1mc/rdv1mc_plat.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_common.c
platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_pm.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/platform.mk
/rk3399_ARM-atf/plat/intel/soc/common/fdts/agilex5_fdt.dts
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_dt.h
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_dt.c
/rk3399_ARM-atf/plat/marvell/armada/a3k/common/a3700_common.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_devapc_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_conservation.c
/rk3399_ARM-atf/plat/qemu/common/common.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_bl31_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/include/qemu_pas_def.h
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/include/qemu_sbsa_pas_def.h
/rk3399_ARM-atf/plat/rockchip/common/params_setup.c
/rk3399_ARM-atf/plat/rockchip/rk3399/rk3399_def.h
/rk3399_ARM-atf/plat/xilinx/common/include/plat_fdt.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_node.h
/rk3399_ARM-atf/plat/xilinx/common/plat_console.c
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/services/std_svc/drtm/drtm_main.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_res_address_map.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
0896361807-Feb-2025 Yann Gautier <yann.gautier@st.com>

refactor(arm): switch to rse_mbx_init

The rse_comms_init() function will be removed. The new function to use
is rse_mbx_init() for the MHU mailbox initialization.

Change-Id: I1932500ef71b6e895f0ee1

refactor(arm): switch to rse_mbx_init

The rse_comms_init() function will be removed. The new function to use
is rse_mbx_init() for the MHU mailbox initialization.

Change-Id: I1932500ef71b6e895f0ee164ee9c2b58becf4409
Signed-off-by: Yann Gautier <yann.gautier@st.com>

show more ...

5b46aacc04-Oct-2024 Yann Gautier <yann.gautier@st.com>

refactor(tc): add plat_rse_comms_init

The same way it is done for neoverse_rd, create a plat_rse_comms_init()
function to call rse_comms_init().

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Ch

refactor(tc): add plat_rse_comms_init

The same way it is done for neoverse_rd, create a plat_rse_comms_init()
function to call rse_comms_init().

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: I12f3b8a38a5369decb4b97f8aceeb0dc81cbea28

show more ...

a773955024-Sep-2024 Yann Gautier <yann.gautier@st.com>

refactor(arm)!: rename PLAT_MHU_VERSION flag

In order to support a platform without MHU in RSE, update the flag
PLAT_MHU_VERSION. It is renamed PLAT_MHU and can take the following
entries: NO_MHU, M

refactor(arm)!: rename PLAT_MHU_VERSION flag

In order to support a platform without MHU in RSE, update the flag
PLAT_MHU_VERSION. It is renamed PLAT_MHU and can take the following
entries: NO_MHU, MHUv1, MHUv2, MHUv3...

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: Ia72e590088ce62ba8c9009f341b6135926947bee

show more ...

fcb80d7d11-Feb-2025 Manish Pandey <manish.pandey2@arm.com>

Merge changes I765a7fa0,Ic33f0b6d,I8d1a88c7,I381f96be,I698fa849, ... into integration

* changes:
fix(cpus): clear CPUPWRCTLR_EL1.CORE_PWRDN_EN_BIT on reset
chore(docs): drop the "wfi" from `pwr_

Merge changes I765a7fa0,Ic33f0b6d,I8d1a88c7,I381f96be,I698fa849, ... into integration

* changes:
fix(cpus): clear CPUPWRCTLR_EL1.CORE_PWRDN_EN_BIT on reset
chore(docs): drop the "wfi" from `pwr_domain_pwr_down_wfi`
chore(psci): drop skip_wfi variable
feat(arm): convert arm platforms to expect a wakeup
fix(cpus): avoid SME related loss of context on powerdown
feat(psci): allow cores to wake up from powerdown
refactor: panic after calling psci_power_down_wfi()
refactor(cpus): undo errata mitigations
feat(cpus): add sysreg_bit_toggle

show more ...


/rk3399_ARM-atf/.github/dependabot.yml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/crash_reporting.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design_documents/index.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scpi.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/include/s32cc-clk-regs.h
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_clk_drv.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_clk_modules.c
/rk3399_ARM-atf/fdts/rdv3-defs.dtsi
/rk3399_ARM-atf/fdts/tc4.dts
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/drivers/arm/css/css_scp.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-modules.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_alto.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_gelas.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/travis.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/psci/psci_lib.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/css/common/css_pm.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_alto.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_gelas.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/travis.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/extensions/sysreg128/sysreg128.S
/rk3399_ARM-atf/lib/psci/aarch64/psci_helpers.S
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/psci/psci_system_off.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/sunxi_native_pm.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_scpi_pm.c
/rk3399_ARM-atf/plat/amd/versal2/aarch64/common.c
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/include/def.h
/rk3399_ARM-atf/plat/amd/versal2/include/plat_private.h
/rk3399_ARM-atf/plat/amd/versal2/include/platform_def.h
/rk3399_ARM-atf/plat/amlogic/axg/axg_pm.c
/rk3399_ARM-atf/plat/amlogic/g12a/g12a_pm.c
/rk3399_ARM-atf/plat/amlogic/gxbb/gxbb_pm.c
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_pm.c
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_css_fw_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_pas_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_plat_arm_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/nrd_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/nrd_image_load.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/nrd_plat3.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdn2/fdts/rdn2_stmm_sel0_manifest.dts
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv1/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv1mc/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/fdts/rdv3_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/fdts/rdv3_spmc_sp_manifest.dts
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/fdts/rdv3_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_bl2_setup.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/rdv3_common.c
platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_psci.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mn/imx8mn_psci.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/imx8mp_psci.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mq/imx8mq_psci.c
/rk3399_ARM-atf/plat/imx/imx8ulp/imx8ulp_psci.c
/rk3399_ARM-atf/plat/marvell/armada/a8k/common/plat_pm.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm_smc.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_lp_irqremain.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/smmu/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/smmu/smmu.c
/rk3399_ARM-atf/plat/mediatek/include/lib/pm/mtk_pm.h
/rk3399_ARM-atf/plat/mediatek/include/mtk_sip_def.h
/rk3399_ARM-atf/plat/mediatek/lib/pm/armv9_0/pwr_ctrl.c
/rk3399_ARM-atf/plat/mediatek/lib/pm/mtk_pm.c
/rk3399_ARM-atf/plat/mediatek/lib/system_reset/reset_cros.c
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_mmap.c
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_psci.c
/rk3399_ARM-atf/plat/nvidia/tegra/common/tegra_pm.c
/rk3399_ARM-atf/plat/nxp/common/psci/plat_psci.c
/rk3399_ARM-atf/plat/qemu/common/qemu_pm.c
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/sbsa_pm.c
/rk3399_ARM-atf/plat/qti/common/src/qti_pm.c
/rk3399_ARM-atf/plat/renesas/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/px30/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3588/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rpi/common/rpi3_pm.c
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_psci.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_pm.c
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_pm.c
697290a904-Feb-2025 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "us_tc_trng" into integration

* changes:
feat(tc): get entropy with PSA Crypto API
feat(psa): add interface with RSE for retrieving entropy
fix(psa): guard Crypto APIs

Merge changes from topic "us_tc_trng" into integration

* changes:
feat(tc): get entropy with PSA Crypto API
feat(psa): add interface with RSE for retrieving entropy
fix(psa): guard Crypto APIs with CRYPTO_SUPPORT
feat(tc): enable trng
feat(tc): initialize the RSE communication in earlier phase

show more ...

aacdfdfe04-Feb-2025 Olivier Deprez <olivier.deprez@arm.com>

Merge "fix(tc): enable Last-level cache (LLC) for tc4" into integration


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/fdts/tc-base.dtsi
/rk3399_ARM-atf/fdts/tc2.dts
/rk3399_ARM-atf/fdts/tc3-4-base.dtsi
/rk3399_ARM-atf/fdts/tc4.dts
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a710.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a715.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a720.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a720_ae.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a725.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_gelas.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x3.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x4.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x925.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n3.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v3.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a725.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/cpus/errata_common.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
include/tc_helpers.S
/rk3399_ARM-atf/plat/common/aarch32/plat_sp_min_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mminfra_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/rules.mk
/rk3399_ARM-atf/plat/mediatek/include/drivers/mminfra_public.h
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.h
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
8f0235fb31-Jan-2025 Leo Yan <leo.yan@arm.com>

feat(tc): get entropy with PSA Crypto API

The PSA Crypto API is available with sending messages to RSE. Change
to invoke PSA Crypto API for getting entropy.

Change-Id: I4b2dc4eb99606c2425b64949d9c

feat(tc): get entropy with PSA Crypto API

The PSA Crypto API is available with sending messages to RSE. Change
to invoke PSA Crypto API for getting entropy.

Change-Id: I4b2dc4eb99606c2425b64949d9c3f5c576883758
Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>

show more ...

2ae197ac16-May-2024 Leo Yan <leo.yan@arm.com>

feat(tc): enable trng

Enable the trng on the platform, which can be used by other features.
`rng-seed` has been removed and enabled `FEAT_RNG_TRAP` to trap to EL3
when accessing system registers RND

feat(tc): enable trng

Enable the trng on the platform, which can be used by other features.
`rng-seed` has been removed and enabled `FEAT_RNG_TRAP` to trap to EL3
when accessing system registers RNDR and RNDRRS

Change-Id: Ibde39115f285e67d31b14863c75beaf37493deca
Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>

show more ...

a3f9617931-May-2024 Leo Yan <leo.yan@arm.com>

feat(tc): initialize the RSE communication in earlier phase

Move the RSE MHU channel initialization to the platform setup phase,
this allows the services (e.g. TRNG service) to talk to RSE during th

feat(tc): initialize the RSE communication in earlier phase

Move the RSE MHU channel initialization to the platform setup phase,
this allows the services (e.g. TRNG service) to talk to RSE during the
service init function.

Change-Id: Id0ff6e49117008463f11b2dc3c585daca00f609c
Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x4.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x925.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v3.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
tc_bl31_setup.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mminfra_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/rules.mk
/rk3399_ARM-atf/plat/mediatek/include/drivers/mminfra_public.h
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.h
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
45c7328c20-Sep-2024 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cpus): avoid SME related loss of context on powerdown

Travis' and Gelas' TRMs tell us to disable SME (set PSTATE.{ZA, SM} to
0) when we're attempting to power down. What they don't tell us is th

fix(cpus): avoid SME related loss of context on powerdown

Travis' and Gelas' TRMs tell us to disable SME (set PSTATE.{ZA, SM} to
0) when we're attempting to power down. What they don't tell us is that
if this isn't done, the powerdown request will be rejected. On the
CPU_OFF path that's not a problem - we can force SVCR to 0 and be
certain the core will power off.

On the suspend to powerdown path, however, we cannot do this. The TRM
also tells us that the sequence could also be aborted on eg. GIC
interrupts. If this were to happen when we have overwritten SVCR to 0,
upon a return to the caller they would experience a loss of context. We
know that at least Linux may call into PSCI with SVCR != 0. One option
is to save the entire SME context which would be quite expensive just to
work around. Another option is to downgrade the request to a normal
suspend when SME was left on. This option is better as this is expected
to happen rarely enough to ignore the wasted power and we don't want to
burden the generic (correct) path with needless context management.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I698fa8490ebf51461f6aa8bba84f9827c5c46ad4

show more ...

2b5e00d419-Dec-2024 Boyan Karatotev <boyan.karatotev@arm.com>

feat(psci): allow cores to wake up from powerdown

The simplistic view of a core's powerdown sequence is that power is
atomically cut upon calling `wfi`. However, it turns out that it has
lots to do

feat(psci): allow cores to wake up from powerdown

The simplistic view of a core's powerdown sequence is that power is
atomically cut upon calling `wfi`. However, it turns out that it has
lots to do - it has to talk to the interconnect to exit coherency, clean
caches, check for RAS errors, etc. These take significant amounts of
time and are certainly not atomic. As such there is a significant window
of opportunity for external events to happen. Many of these steps are
not destructive to context, so theoretically, the core can just "give
up" half way (or roll certain actions back) and carry on running. The
point in this sequence after which roll back is not possible is called
the point of no return.

One of these actions is the checking for RAS errors. It is possible for
one to happen during this lengthy sequence, or at least remain
undiscovered until that point. If the core were to continue powerdown
when that happens, there would be no (easy) way to inform anyone about
it. Rejecting the powerdown and letting software handle the error is the
best way to implement this.

Arm cores since at least the a510 have included this exact feature. So
far it hasn't been deemed necessary to account for it in firmware due to
the low likelihood of this happening. However, events like GIC wakeup
requests are much more probable. Older cores will powerdown and
immediately power back up when this happens. Travis and Gelas include a
feature similar to the RAS case above, called powerdown abandon. The
idea is that this will improve the latency to service the interrupt by
saving on work which the core and software need to do.

So far firmware has relied on the `wfi` being the point of no return and
if it doesn't explicitly detect a pending interrupt quite early on, it
will embark onto a sequence that it expects to end with shutdown. To
accommodate for it not being a point of no return, we must undo all of
the system management we did, just like in the warm boot entrypoint.

To achieve that, the pwr_domain_pwr_down_wfi hook must not be terminal.
Most recent platforms do some platform management and finish on the
standard `wfi`, followed by a panic or an endless loop as this is
expected to not return. To make this generic, any platform that wishes
to support wakeups must instead let common code call
`psci_power_down_wfi()` right after. Besides wakeups, this lets common
code handle powerdown errata better as well.

Then, the CPU_OFF case is simple - PSCI does not allow it to return. So
the best that can be done is to attempt the `wfi` a few times (the
choice of 32 is arbitrary) in the hope that the wakeup is transient. If
it isn't, the only choice is to panic, as the system is likely to be in
a bad state, eg. interrupts weren't routed away. The same applies for
SYSTEM_OFF, SYSTEM_RESET, and SYSTEM_RESET2. There the panic won't
matter as the system is going offline one way or another. The RAS case
will be considered in a separate patch.

Now, the CPU_SUSPEND case is more involved. First, to powerdown it must
wipe its context as it is not written on warm boot. But it cannot be
overwritten in case of a wakeup. To avoid the catch 22, save a copy that
will only be used if powerdown fails. That is about 500 bytes on the
stack so it hopefully doesn't tip anyone over any limits. In future that
can be avoided by having a core manage its own context.

Second, when the core wakes up, it must undo anything it did to prepare
for poweroff, which for the cores we care about, is writing
CPUPWRCTLR_EL1.CORE_PWRDN_EN. The least intrusive for the cpu library
way of doing this is to simply call the power off hook again and have
the hook toggle the bit. If in the future there need to be more complex
sequences, their direction can be advised on the value of this bit.

Third, do the actual "resume". Most of the logic is already there for
the retention suspend, so that only needs a small touch up to apply to
the powerdown case as well. The missing bit is the powerdown specific
state management. Luckily, the warmboot entrypoint does exactly that
already too, so steal that and we're done.

All of this is hidden behind a FEAT_PABANDON flag since it has a large
memory and runtime cost that we don't want to burden non pabandon cores
with.

Finally, do some function renaming to better reflect their purpose and
make names a little bit more consistent.

Change-Id: I2405b59300c2e24ce02e266f91b7c51474c1145f
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x4.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x925.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v3.h
/rk3399_ARM-atf/include/lib/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/psci/psci_lib.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_gelas.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x925.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v3.S
/rk3399_ARM-atf/lib/cpus/aarch64/travis.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/psci/aarch64/psci_helpers.S
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/psci/psci_system_off.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/sunxi_native_pm.c
/rk3399_ARM-atf/plat/allwinner/common/sunxi_scpi_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
platform.mk
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/mminfra_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/mminfra/rules.mk
/rk3399_ARM-atf/plat/mediatek/include/drivers/mminfra_public.h
/rk3399_ARM-atf/plat/mediatek/include/lib/pm/mtk_pm.h
/rk3399_ARM-atf/plat/mediatek/lib/pm/armv9_0/pwr_ctrl.c
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/qti/common/src/qti_pm.c
/rk3399_ARM-atf/plat/rockchip/common/plat_pm.c
/rk3399_ARM-atf/plat/rockchip/px30/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3328/drivers/pmu/pmu.c
/rk3399_ARM-atf/plat/rockchip/rk3588/drivers/pmu/pmu.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
d1de6b2b15-May-2024 Leo Yan <leo.yan@arm.com>

feat(tc): enable stack protector

Enable the compiler's stack protector for detecting stack overflow
issues.

Though TC platform can generate RNG from RSE via MHU channel, the
stack protector canary

feat(tc): enable stack protector

Enable the compiler's stack protector for detecting stack overflow
issues.

Though TC platform can generate RNG from RSE via MHU channel, the
stack protector canary is used prior to MHU channel initialization.

Thus, currently here simply returns a value of the combination of a
timer's value and a compile-time constant.

Signed-off-by: Leo Yan <leo.yan@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: I68fcc7782637b2b6b4dbbc81bc15df8c5ce0040b

show more ...

26a520b229-Jan-2025 Leo Yan <leo.yan@arm.com>

fix(tc): fix compilation error

When the SPD_spmd configuration is disabled, the compiler complaints:

plat/arm/board/tc/tc_bl2_dpe.c:234:22: error: unused variable 'array_size' [-Werror=unused-varia

fix(tc): fix compilation error

When the SPD_spmd configuration is disabled, the compiler complaints:

plat/arm/board/tc/tc_bl2_dpe.c:234:22: error: unused variable 'array_size' [-Werror=unused-variable]
234 | const size_t array_size = ARRAY_SIZE(tc_dpe_metadata);
| ^~~~~~~~~~
plat/arm/board/tc/tc_bl2_dpe.c:233:16: error: unused variable 'i' [-Werror=unused-variable]
233 | size_t i;
| ^
cc1: all warnings being treated as errors

Move variable declarations into the code chunk protected by the SPD_spmd
configuration.

Change-Id: I1a3889938e2d4ec5efec516e9ef54034f9d711b2
Signed-off-by: Leo Yan <leo.yan@arm.com>

show more ...


/rk3399_ARM-atf/fdts/stm32mp25-lpddr4-1x16Gbits-1x32bits-1200MHz.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-lpddr4-1x32Gbits-1x32bits-1200MHz.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-dk-ca35tdcid-fw-config.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-dk-ca35tdcid-rcc.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-dk-fw-config.dts
/rk3399_ARM-atf/fdts/stm32mp257f-dk.dts
/rk3399_ARM-atf/include/services/el3_spmd_logical_sp.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/pmuv3/aarch64/pmuv3.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_css_fw_def3.h
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd3/nrd_pas_def3.h
tc_bl2_dpe.c
/rk3399_ARM-atf/plat/mediatek/build_helpers/options.mk
/rk3399_ARM-atf/plat/mediatek/common/lpm/mt_lpm_dispatch.c
/rk3399_ARM-atf/plat/mediatek/common/lpm/rules.mk
/rk3399_ARM-atf/plat/mediatek/common/lpm_v2/mt_lp_api.c
/rk3399_ARM-atf/plat/mediatek/common/lpm_v2/mt_lp_mmap.c
/rk3399_ARM-atf/plat/mediatek/common/lpm_v2/mt_lp_rm.c
/rk3399_ARM-atf/plat/mediatek/common/lpm_v2/mt_lp_rq.c
/rk3399_ARM-atf/plat/mediatek/common/lpm_v2/mt_lpm_dispatch.c
/rk3399_ARM-atf/plat/mediatek/common/lpm_v2/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm_cpc.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm_cpc.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm_mbox.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm_mbox.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm_smc.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_cpu_pm_smc.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_lp_irqremain.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_lp_irqremain.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_ppu.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_ppu.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_smp.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_smp.h
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/topology/default/pwr.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/topology/default/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/topology/group_4_3_1/pwr.c
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/topology/group_4_3_1/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/topology/inc/pwr_topology.h
/rk3399_ARM-atf/plat/mediatek/drivers/mcusys/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/mtcmos/mt8196/mtcmos.c
/rk3399_ARM-atf/plat/mediatek/drivers/mtcmos/mt8196/mtcmos.h
/rk3399_ARM-atf/plat/mediatek/drivers/mtcmos/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6363/mt6363_psc.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6363/registers.h
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt6363/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8196/pmic_lowpower_init.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8196/pmic_shutdown_cfg.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/mt8196/pmic_swap_api.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/pmic_common_swap_api.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/pmic_psc.c
/rk3399_ARM-atf/plat/mediatek/drivers/pmic/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spm/common/dbg_ctrl.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/common/mt_spm_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/common/mt_spm_constraint.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/common/mt_spm_smc.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/common/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/mt_spm_rc_api.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/mt_spm_rc_api.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/mt_spm_rc_bus26m.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/mt_spm_rc_internal.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/mt_spm_rc_syspll.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/mt_spm_rc_vcore.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/mt_spm_trace.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_plat_spm_setting.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_plat_spm_setting.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_conservation.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_conservation.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_dispatcher.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_dispatcher.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_doe_resource_ctrl.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_hwreq.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_hwreq.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_idle.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_idle.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_internal.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_internal.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_pmic_lp.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_pmic_lp.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_reg.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_stats.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_stats.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_suspend.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_suspend.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_vcorefs.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_vcorefs.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_vcorefs_ext.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_vcorefs_reg.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_vcore_dvfsrc_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_vcore_dvfsrc_plat_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/pcm_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/plat_conf.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/sleep_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt_spm_vcorefs_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt_spm_vcorefs_exp.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt_spm_vcorefs_smc.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/inc/mt_spm_ver.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/notifier/inc/mt_spm_notifier.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/notifier/v4/mt_spm_sspm_intc.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/notifier/v4/mt_spm_sspm_notifier.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/pmic_wrap/inc/mt_spm_pmic_wrap.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/pmic_wrap/v1/mt_spm_pmic_wrap.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/mt8196/platform_pmif_spmi.c
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/pmif_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/pmif_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/pmif_v1/pmif.h
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/spmi_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/spmi_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/spmi/spmi_sw.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/dbgtop.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/dramc.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/mcusys/mcupm/mcupm_cfg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/mcusys/v1/mcucfg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/mcusys/v2/mcucfg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/mcusys/v3/mcucfg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/mcusys/v4/mcucfg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6316_lowpower_reg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6363_lowpower_reg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/mt6373_lowpower_reg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/pmic_psc.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/pmic_set_lowpower.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/pmic_shutdown_cfg.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/pmic/pmic_swap_api.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/spm/mt_spm_resource_req.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/spm/mt_spm_vcorefs_api.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/spmi_api.h
/rk3399_ARM-atf/plat/mediatek/include/drivers/sramrc.h
/rk3399_ARM-atf/plat/mediatek/include/lib/pm/mtk_pm.h
/rk3399_ARM-atf/plat/mediatek/include/lpm/mt_lpm_dispatch.h
/rk3399_ARM-atf/plat/mediatek/include/lpm_v2/mt_lp_api.h
/rk3399_ARM-atf/plat/mediatek/include/lpm_v2/mt_lp_rm.h
/rk3399_ARM-atf/plat/mediatek/include/lpm_v2/mt_lp_rq.h
/rk3399_ARM-atf/plat/mediatek/include/lpm_v2/mt_lp_rqm.h
/rk3399_ARM-atf/plat/mediatek/include/lpm_v2/mt_lpm_dispatch.h
/rk3399_ARM-atf/plat/mediatek/include/lpm_v2/mt_lpm_smc.h
/rk3399_ARM-atf/plat/mediatek/include/mtk_sip_def.h
/rk3399_ARM-atf/plat/mediatek/lib/pm/armv9_0/pwr_ctrl.c
/rk3399_ARM-atf/plat/mediatek/lib/pm/armv9_0/rules.mk
/rk3399_ARM-atf/plat/mediatek/lib/pm/mtk_pm.c
/rk3399_ARM-atf/plat/mediatek/lib/pm/mtk_pm.h
/rk3399_ARM-atf/plat/mediatek/mt8196/drivers/dcm/mtk_dcm.c
/rk3399_ARM-atf/plat/mediatek/mt8196/drivers/dcm/mtk_dcm_utils.c
/rk3399_ARM-atf/plat/mediatek/mt8196/drivers/dcm/mtk_dcm_utils.h
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/mediatek/topology/group_4_3_1/topology.c
/rk3399_ARM-atf/plat/mediatek/topology/group_4_3_1/topology_conf.mk
/rk3399_ARM-atf/plat/mediatek/topology/rules.mk
/rk3399_ARM-atf/plat/st/stm32mp2/aarch64/stm32mp2_helper.S
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_logical_sp.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
2e36131929-Oct-2024 Ben Horgan <ben.horgan@arm.com>

fix(tc): enable certificate on the last secure partition

Distros (e.g. Buildroot and Android) can have different secure partition
layout.

This commit iterates the DPE metadata table and finds index

fix(tc): enable certificate on the last secure partition

Distros (e.g. Buildroot and Android) can have different secure partition
layout.

This commit iterates the DPE metadata table and finds index (i) for the
first entry of the secure partition, connecting with the defined secure
partition number NUM_SP, so the last secure partition index is:

i + NUM_SP - 1

Instead of setting the certificate in hard code, dynamically enables the
certificate for the last secure partition base on calculated index.

Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Signed-off-by: Leo Yan <leo.yan@arm.com>
Change-Id: Idd11b4f463bf5ccc8d82cd06bd21deeebbda67d9

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/index.rst
/rk3399_ARM-atf/docs/about/lts.rst
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/glossary.rst
/rk3399_ARM-atf/docs/plat/meson-gxl.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/resources/diagrams/lts-timeline-example.png
/rk3399_ARM-atf/drivers/arm/css/scp/css_pm_scmi.c
/rk3399_ARM-atf/drivers/arm/smmu/smmu_v3.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_clk_drv.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_early_clks.c
/rk3399_ARM-atf/fdts/tc4.dts
/rk3399_ARM-atf/include/arch/aarch64/arch.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-drv.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-utils.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/psci/psci_lib.h
/rk3399_ARM-atf/include/lib/transfer_list.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/arm_arch_svc.h
/rk3399_ARM-atf/include/services/ffa_svc.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/brbe/brbe.c
/rk3399_ARM-atf/lib/extensions/spe/spe.c
/rk3399_ARM-atf/lib/extensions/trbe/trbe.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_main.c
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/common.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/toolchain.mk
/rk3399_ARM-atf/make_helpers/utilities.mk
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/include/platform_def.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci.c
/rk3399_ARM-atf/plat/amd/versal2/plat_topology.c
/rk3399_ARM-atf/plat/amd/versal2/scmi.c
/rk3399_ARM-atf/plat/amlogic/gxl/gxl_bl31_setup.c
/rk3399_ARM-atf/plat/amlogic/gxl/platform.mk
/rk3399_ARM-atf/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_stmm_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_security.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
tc_bl2_dpe.c
/rk3399_ARM-atf/plat/common/plat_bl_common.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_cache.S
/rk3399_ARM-atf/plat/mediatek/build_helpers/mtk_build_helpers.mk
/rk3399_ARM-atf/plat/mediatek/drivers/emi/common/emi.h
/rk3399_ARM-atf/plat/mediatek/drivers/emi/emi_stub.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi/rules.mk
/rk3399_ARM-atf/plat/mediatek/include/mtk_sip_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/include/platform_def.h
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/include/s32cc-bl-common.h
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_bl2_el3_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_bl31_setup.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/plat_console.c
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/platform.mk
/rk3399_ARM-atf/plat/nxp/s32/s32g274ardb2/s32cc_bl_common.c
/rk3399_ARM-atf/plat/nxp/soc-lx2160a/ddr_fip.mk
/rk3399_ARM-atf/plat/qemu/common/qemu_bl31_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qemu/qemu/qemu_measured_boot.c
/rk3399_ARM-atf/plat/socionext/synquacer/platform.mk
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/common/versal.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_versal.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/versal_net/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_zynqmp.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/poetry.lock
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc.h
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_pm.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_setup.c
/rk3399_ARM-atf/tools/amlogic/Makefile
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/encrypt_fw/Makefile
/rk3399_ARM-atf/tools/fiptool/Makefile
/rk3399_ARM-atf/tools/nxp/create_pbl/Makefile
/rk3399_ARM-atf/tools/nxp/create_pbl/create_pbl.mk
/rk3399_ARM-atf/tools/nxp/create_pbl/pbl_ch2.mk
/rk3399_ARM-atf/tools/nxp/create_pbl/pbl_ch3.mk
/rk3399_ARM-atf/tools/sptool/Makefile
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
/rk3399_ARM-atf/tools/stm32image/Makefile
/rk3399_ARM-atf/tools/tlc/poetry.lock
7b41acaf05-Jul-2024 Jagdish Gediya <jagdish.gediya@arm.com>

fix(tc): enable Last-level cache (LLC) for tc4

EXTLLC bit in CPUECTLR_EL1(for non-gelas cpus) and in CPUECTLR2_EL1
register for gelas cpu enables external Last-level cache in the system,

External L

fix(tc): enable Last-level cache (LLC) for tc4

EXTLLC bit in CPUECTLR_EL1(for non-gelas cpus) and in CPUECTLR2_EL1
register for gelas cpu enables external Last-level cache in the system,

External LLC is present on TC4 systems in MCN but it is not enabled in
CPU registers so enable it.

On TC4, Gelas vs Non-Gelas CPUs have different bits to enable EXTLLC
so take care of that as well.

Change-Id: Ic6a74b4af110a3c34d19131676e51901ea2bf6e3
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>

show more ...

bea55e3c15-Aug-2024 Jagdish Gediya <jagdish.gediya@arm.com>

refactor(tc): rename TC_FPGA_ANDROID_IMG_IN_RAM

Rename TC_FPGA_ANDROID_IMG_IN_RAM to TC_FPGA_FS_IMG_IN_RAM
to use it for debian loading to ram as well.

Change-Id: I70b68b06501d17dcebbe78bee8fec0a70

refactor(tc): rename TC_FPGA_ANDROID_IMG_IN_RAM

Rename TC_FPGA_ANDROID_IMG_IN_RAM to TC_FPGA_FS_IMG_IN_RAM
to use it for debian loading to ram as well.

Change-Id: I70b68b06501d17dcebbe78bee8fec0a701106c92
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>

show more ...

84ca47a828-Jun-2024 Jagdish Gediya <jagdish.gediya@arm.com>

feat(tc): configure UART for TC4 FPGA

TC4 FPGA have a UART clock of 4000000 so modify the value
of TC_UARTCLK for TC4.

Change-Id: I8de84d58bce8b7277bf356136a5185c008ab4c28
Signed-off-by: Jagdish Ge

feat(tc): configure UART for TC4 FPGA

TC4 FPGA have a UART clock of 4000000 so modify the value
of TC_UARTCLK for TC4.

Change-Id: I8de84d58bce8b7277bf356136a5185c008ab4c28
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>

show more ...

5428938513-Aug-2024 Jagdish Gediya <jagdish.gediya@arm.com>

fix(tc): set console baurate to 38400 for fvp as well

Set console baurate to 38400 for fvp as well for code
simplicity.

Change-Id: I58ba6b7043541f6eb67e32257307da4eba0bb28a
Signed-off-by: Jagdish G

fix(tc): set console baurate to 38400 for fvp as well

Set console baurate to 38400 for fvp as well for code
simplicity.

Change-Id: I58ba6b7043541f6eb67e32257307da4eba0bb28a
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>

show more ...

25264e2928-Jun-2024 Jagdish Gediya <jagdish.gediya@arm.com>

refactor(tc): remove redundant macro UARTCLK_FREQ

remove redundant macro UARTCLK_FREQ and replace it with TC_UARTCLK
in dts.

Change-Id: Id463a9ddc1588278e552ffca3dfb738676229ce7
Signed-off-by: Jagd

refactor(tc): remove redundant macro UARTCLK_FREQ

remove redundant macro UARTCLK_FREQ and replace it with TC_UARTCLK
in dts.

Change-Id: Id463a9ddc1588278e552ffca3dfb738676229ce7
Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen.Zeyada <Icen.Zeyada2@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot-build.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts
/rk3399_ARM-atf/fdts/stm32mp15xx-dkx.dtsi
/rk3399_ARM-atf/fdts/tc-base.dtsi
/rk3399_ARM-atf/fdts/tc2.dts
/rk3399_ARM-atf/fdts/tc3-4-base.dtsi
/rk3399_ARM-atf/fdts/tc3.dts
/rk3399_ARM-atf/fdts/tc4.dts
/rk3399_ARM-atf/include/arch/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/arch/aarch64/asm_macros.S
/rk3399_ARM-atf/include/drivers/auth/mbedtls/default_mbedtls_config.h
/rk3399_ARM-atf/include/lib/el3_runtime/pubsub.h
/rk3399_ARM-atf/include/lib/extensions/spe.h
/rk3399_ARM-atf/include/plat/arm/board/common/rotpk/rotpk_def.h
/rk3399_ARM-atf/include/plat/nuvoton/common/npcm845x_arm_def.h
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/extensions/spe/spe.c
/rk3399_ARM-atf/lib/extensions/trbe/trbe.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/plat/amd/versal2/aarch64/common.c
/rk3399_ARM-atf/plat/amd/versal2/bl31_setup.c
/rk3399_ARM-atf/plat/amd/versal2/include/def.h
/rk3399_ARM-atf/plat/amd/versal2/include/versal2-scmi.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci.c
/rk3399_ARM-atf/plat/amd/versal2/scmi.c
/rk3399_ARM-atf/plat/amd/versal2/sip_svc_setup.c
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/common/protpk/README
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_dev_protpk.S
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_protprivk_ecdsa.pem
/rk3399_ARM-atf/plat/arm/board/common/protpk/arm_protprivk_ecdsa_secp384r1.pem
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_dev_rotpk.S
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_rotprivk_rsa_3k.pem
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_rotprivk_rsa_4k.pem
/rk3399_ARM-atf/plat/arm/board/common/swd_rotpk/README
/rk3399_ARM-atf/plat/arm/board/common/swd_rotpk/arm_dev_swd_rotpk.S
/rk3399_ARM-atf/plat/arm/board/common/swd_rotpk/arm_swd_rotprivk_ecdsa.pem
/rk3399_ARM-atf/plat/arm/board/common/swd_rotpk/arm_swd_rotprivk_ecdsa_secp384r1.pem
/rk3399_ARM-atf/plat/arm/board/juno/juno_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/nrd_bl31_setup.c
include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/css/common/css_pm.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv_sec_info.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/devapc/apusys_dapc_v1.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_rv_mbox_mpu.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_rv_pwr_ctrl.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_security_ctrl_plat.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_ammu.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_ammu.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_devapc.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_devapc.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_devapc_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_power.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_rv_mbox_mpu.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_rv_pwr_ctrl.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_rv_pwr_ctrl.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_perm_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_perm_plat.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/apusys_security_ctrl_plat.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8196/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/security_ctrl/apusys_security_ctrl_perm.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/security_ctrl/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/vcp/mt8196/vcp_helper.h
/rk3399_ARM-atf/plat/mediatek/drivers/vcp/mt8196/vcp_reg.h
/rk3399_ARM-atf/plat/mediatek/drivers/vcp/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/vcp/rv/mmup_common.c
/rk3399_ARM-atf/plat/mediatek/drivers/vcp/rv/mmup_common.h
/rk3399_ARM-atf/plat/mediatek/drivers/vcp/rv/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/vcp/rv/vcp_common.c
/rk3399_ARM-atf/plat/mediatek/include/drivers/apusys_rv_public.h
/rk3399_ARM-atf/plat/mediatek/include/mtk_sip_def.h
/rk3399_ARM-atf/plat/mediatek/mt8186/drivers/mcdi/mt_cpu_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8192/drivers/mcdi/mt_cpu_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8195/drivers/mcdi/mt_cpu_pm.c
/rk3399_ARM-atf/plat/mediatek/mt8196/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8196/plat_mmap.c
/rk3399_ARM-atf/plat/mediatek/mt8196/platform.mk
/rk3399_ARM-atf/plat/xilinx/common/include/ipi.h
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/common/versal.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_topology.c
/rk3399_ARM-atf/plat/xilinx/versal_net/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/plat_zynqmp.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/poetry.lock
/rk3399_ARM-atf/services/std_svc/drtm/drtm_main.c
/rk3399_ARM-atf/services/std_svc/drtm/drtm_main.h
/rk3399_ARM-atf/tools/cert_create/include/key.h
d1062c4719-Jun-2024 Jagdish Gediya <jagdish.gediya@arm.com>

feat(tc): enable MCN non-secure access to pmu counters on TC4

MCN PMU counters are by default non-accesible from non-secure world,
so enable the non-secure access to those PMU counters so that linux

feat(tc): enable MCN non-secure access to pmu counters on TC4

MCN PMU counters are by default non-accesible from non-secure world,
so enable the non-secure access to those PMU counters so that linux
perf driver can read them.

Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: I1cf1f88f97e9062592fd5603a78fd36f15a15f89

show more ...

8f61c20419-Jun-2024 Jagdish Gediya <jagdish.gediya@arm.com>

feat(tc): define MCN related macros for TC4

Define MCN related macros for TC4 to add TC4 specific MCN PMU
nodes in dts and to enable MCN PMU NS access in further commits.

Signed-off-by: Jagdish Ged

feat(tc): define MCN related macros for TC4

Define MCN related macros for TC4 to add TC4 specific MCN PMU
nodes in dts and to enable MCN PMU NS access in further commits.

Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
Change-Id: Ifc02fcd833888a9953fac404585468316aa0168c

show more ...

12345678910