| a0d9a973 | 30-Jul-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
chore(cm): reorganise sctlr_el1 and tcr_el1 ctx code
SCTLR_EL1 and TCR_EL1 regs are included either as part of errata "ERRATA_SPECULATIVE_AT" or under el1_sysregs_t context structure. The code to wr
chore(cm): reorganise sctlr_el1 and tcr_el1 ctx code
SCTLR_EL1 and TCR_EL1 regs are included either as part of errata "ERRATA_SPECULATIVE_AT" or under el1_sysregs_t context structure. The code to write and read into these context entries, looks repetitive and is invoked at most places. This section is refactored to bring them under a static procedure, keeping the code neat and easier to maintain.
Change-Id: Ib0d8c51bee09e1600c5baaa7f9745083dca9fee1 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 4b6e4e61 | 20-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "mp/simd_ctxt_mgmt" into integration
* changes: feat(fvp): allow SIMD context to be put in TZC DRAM docs(simd): introduce CTX_INCLUDE_SVE_REGS build flag feat(fvp): ad
Merge changes from topic "mp/simd_ctxt_mgmt" into integration
* changes: feat(fvp): allow SIMD context to be put in TZC DRAM docs(simd): introduce CTX_INCLUDE_SVE_REGS build flag feat(fvp): add Cactus partition manifest for EL3 SPMC chore(simd): remove unused macros and utilities for FP feat(el3-spmc): support simd context management upon world switch feat(trusty): switch to simd_ctx_save/restore apis feat(pncd): switch to simd_ctx_save/restore apis feat(spm-mm): switch to simd_ctx_save/restore APIs feat(simd): add rules to rationalize simd ctxt mgmt feat(simd): introduce simd context helper APIs feat(simd): add routines to save, restore sve state feat(simd): add sve state to simd ctxt struct feat(simd): add data struct for simd ctxt management
show more ...
|
| e4462dae | 06-Aug-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): enable UART clock
Before this change, the internal oscillator clocked the UART with a frequency of 48MHz. With the necessary support added, the UART clock rate is increased to 125MHz
feat(nxp-clk): enable UART clock
Before this change, the internal oscillator clocked the UART with a frequency of 48MHz. With the necessary support added, the UART clock rate is increased to 125MHz by changing the clock source from FIRC to PERIPH PLL PHI3.
Change-Id: I3160dc6860ebf441c9bea8eaf9d8d12de48bd647 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 8653352a | 06-Aug-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): add PERIPH PLL enablement
Peripheral PLL is one of the platform's PLLs, providing a clock for peripherals such as UART, QSPI, uSDHC, SPI and CAN. Its source can be either the FIRC or
feat(nxp-clk): add PERIPH PLL enablement
Peripheral PLL is one of the platform's PLLs, providing a clock for peripherals such as UART, QSPI, uSDHC, SPI and CAN. Its source can be either the FIRC or FXOSC oscillators. It has eight outputs (PHIs) and their frequencies can be controlled programmatically using output dividers. An additional output clocks the PERIPH DFS using the VCO frequency of the PERIPH PLL.
Change-Id: I637294b2da94f35e95dc1750dad36c129a276bb9 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 3e840ec8 | 26-Apr-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
chore(simd): remove unused macros and utilities for FP
Now that we have switched to simd context save/restore apis which uses simd_context_t data structures, we can safely remove any macros, helpers
chore(simd): remove unused macros and utilities for FP
Now that we have switched to simd context save/restore apis which uses simd_context_t data structures, we can safely remove any macros, helpers and utilities used in the old way of FPU context management.
Change-Id: I27a636dd07bf5c4cb99fd25b9a204d55b525b677 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 308ebfa1 | 17-Jun-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(simd): introduce simd context helper APIs
This patch adds the common API to save and restore FP and SVE. When SVE is enabled we save and restore SVE which automatically covers FP. If FP is enab
feat(simd): introduce simd context helper APIs
This patch adds the common API to save and restore FP and SVE. When SVE is enabled we save and restore SVE which automatically covers FP. If FP is enabled while SVE is not, then we save and restore FP only.
The patch uses simd_ctx_t to save and restore both FP and SVE which means developers need not use fp or sve routines directly. Once all the calls to fpregs_context_* are replaced with simd_ctx_*, we can remove fp_regs_t data structure and macros (taken care in a following patch).
simd_ctx_t is currently allocated in section of its own. This will go into BSS section by default but platform will have option of relocating it to a different section by overriding in plat.ld.S.
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com> Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I090f8b8fa3862e527b6c40385249adc69256bf24
show more ...
|
| 6d5319af | 17-Jun-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(simd): add routines to save, restore sve state
This adds assembly routines to save and restore SVE registers. In order to share between FPU and SVE the code to save and restore FPCR and FPSR, t
feat(simd): add routines to save, restore sve state
This adds assembly routines to save and restore SVE registers. In order to share between FPU and SVE the code to save and restore FPCR and FPSR, the patch converts code for those registers into macro. Since we will be using simd_ctx_t to save and restore FPU also, we use offsets in simd_ctx_t for FPSR and FPCR. Since simd_ctx_t has the same structure at the beginning as fp_regs_t, those offsets should be the same as CTX_FP_* offsets, when SVE is not enabled. Note that the code also saves and restores FPEXC32 reg along with FPSR and FPCR.
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com> Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I120c02359794aa6bb6376a464a9afe98bd84ae60
show more ...
|
| 42422622 | 17-Jun-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(simd): add sve state to simd ctxt struct
This patch extends the simd data structure to hold the SVE state. A new build flag CTX_INCLUDE_SVE_REGS is introduced in this patch to enable SVE contex
feat(simd): add sve state to simd ctxt struct
This patch extends the simd data structure to hold the SVE state. A new build flag CTX_INCLUDE_SVE_REGS is introduced in this patch to enable SVE context management.
Necessary precautions are taken such as ensuring the field offsets are not changed and necessary padding is added for alignment reasons.
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com> Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: I54f5222c7d8c68638105003f68caa511d347cd60
show more ...
|
| 841533dd | 17-Jun-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
feat(simd): add data struct for simd ctxt management
From a context management perspective, we refer to SVE and FP state as SIMD. SVE can be considered as a superset of FP/NEON functionality and the
feat(simd): add data struct for simd ctxt management
From a context management perspective, we refer to SVE and FP state as SIMD. SVE can be considered as a superset of FP/NEON functionality and there is a architectural dependency between the two due to the fact that FP registers occupy the bottom 128 bits of SVE Z vector registers.
This patch introduces a new data structure to hold the FP state of a CPU as needed for context management operations during world switch events. It will evolve in next patches to capture the SVE state as well.
Having this unified data structure is necessary for us to implement SIMD context management while catering to various build configurations.
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com> Signed-off-by: Okash Khawaja <okash@google.com> Change-Id: If2a9a7526883780df49bbd3dade2f09f7c3d95ae
show more ...
|
| 1073bf3d | 14-Aug-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
refactor(errata-abi): move EXTRACT_PARTNUM to arch.h
This patch moves EXTRACT_PARTNUM from errata abi includes to arch.h which is part of common includes
Change-Id: Id8bbaf21566f3145a75cfa0dafec682
refactor(errata-abi): move EXTRACT_PARTNUM to arch.h
This patch moves EXTRACT_PARTNUM from errata abi includes to arch.h which is part of common includes
Change-Id: Id8bbaf21566f3145a75cfa0dafec6823ed2df3a9 Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
show more ...
|
| 4a97ff51 | 05-Aug-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(cpus): workaround for Cortex-A520(2938996) and Cortex-X4(2726228)
This patch implements errata functions for two errata, both of them disable TRBE as a workaround. This patch doesn't have funct
feat(cpus): workaround for Cortex-A520(2938996) and Cortex-X4(2726228)
This patch implements errata functions for two errata, both of them disable TRBE as a workaround. This patch doesn't have functions that disable TRBE but only implemented helper functions that are used to detect cores affected by Errata 2938996(Cortex-A520) & 2726228(Cortex-X4)
Cortex-X4 SDEN documentation: https://developer.arm.com/documentation/SDEN2432808/latest
Cortex-A520 SDEN Documentation: https://developer.arm.com/documentation/SDEN-2444153/latest
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I8f886a1c21698f546a0996c719cc27dc0a23633a
show more ...
|
| 2f41c9a7 | 12-Jul-2024 |
Manish Pandey <manish.pandey2@arm.com> |
feat(cm): support for asymmetric feature among cores
TF-A assumes that all the cores in a platform has architecture feature parity, this is evident by the fact that primary sets up the Non-secure co
feat(cm): support for asymmetric feature among cores
TF-A assumes that all the cores in a platform has architecture feature parity, this is evident by the fact that primary sets up the Non-secure context of secondary cores.
With changing landscape of platforms (e.g. big/little/mid cores), we are seeing more and more platforms which has feature asymmetry among cores. There is also a scenario where certain CPU erratum only applies to one type of cores and requires a feature to be disabled even it supports the feature.
To handle these scenarios, introduce a hook in warmboot path which would be called on the running CPU to override any feature disparity in the NS context stashed up by primary. Note that, re-checking of feature for Secure/Realm context is not required as the context is created on running core itself.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I5a01dbda528fa8481a00fdd098b58a7463ed0e22
show more ...
|
| 43d1d951 | 18-Jul-2024 |
Manish Pandey <manish.pandey2@arm.com> |
feat(cpufeat): add new feature state for asymmetric features
Introduce a new feature state CHECK_ASYMMETRIC to cater for the features which are asymmetric across cores. This state is useful for plat
feat(cpufeat): add new feature state for asymmetric features
Introduce a new feature state CHECK_ASYMMETRIC to cater for the features which are asymmetric across cores. This state is useful for platforms which has architectural asymmetric cores (A feature is only present in one type of core e.g. big). This state is similar to FEAT_STATE_CHECK (dynamic detection) except that feature state is also checked on each core during warmboot path and override the context (just for asymmetric features) which was setup by core executing CPU_ON call.
Only Non-secure context will be re-checked as secure and realm context is created on same core.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ic78a0b6ca996e0d7881c43da1a6a0c422f528ef3
show more ...
|
| abeb8ad6 | 16-Aug-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(cpus): workaround for Cortex-A720 erratum 2844092" into integration |
| 28e4ec1b | 16-Aug-2024 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(cpus): workaround for Cortex-X4 erratum 2816013" into integration |
| 5e0be8c0 | 21-May-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): enable DDR sub-system clock
Create a DDR helper files, and add a function to enable DDR clocks in RCC_DDRCPCFGR register. Call this ddr_sub_system_clk_init() just before clock driver
feat(stm32mp2): enable DDR sub-system clock
Create a DDR helper files, and add a function to enable DDR clocks in RCC_DDRCPCFGR register. Call this ddr_sub_system_clk_init() just before clock driver init, as it needs to be done before enabling DDR PLL clock (PLL2).
Change-Id: I365d6aa034363d0c036ce2d9f944f077ba86e193 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| 6add7154 | 22-May-2019 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): add defines for the PWR peripheral
This peripheral controls power on STM232MP2 platform.
Change-Id: Ieedca580b5ec897a2fac9e88c7c8c327df6f19c2 Signed-off-by: Yann Gautier <yann.gauti
feat(stm32mp2): add defines for the PWR peripheral
This peripheral controls power on STM232MP2 platform.
Change-Id: Ieedca580b5ec897a2fac9e88c7c8c327df6f19c2 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| 7322e855 | 09-Aug-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "nxp-s32g2/add-xbar-clk" into integration
* changes: feat(nxp-clk): enable the XBAR clock feat(nxp-clk): add dependencies for the XBAR clock feat(nxp-clk): add CGM0 in
Merge changes from topic "nxp-s32g2/add-xbar-clk" into integration
* changes: feat(nxp-clk): enable the XBAR clock feat(nxp-clk): add dependencies for the XBAR clock feat(nxp-clk): add CGM0 instance feat(nxp-clk): add DFS module enablement feat(nxp-clk): add clock objects for ARM DFS refactor(nxp-clk): organize early clocks in groups
show more ...
|
| 5692f881 | 05-Aug-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): add dependencies for the XBAR clock
Add all clock modules required to enable the XBAR clock, including the DFS, its output dividers and MC_CGM muxes.
Change-Id: Ib9cf82c0e40b76863637
feat(nxp-clk): add dependencies for the XBAR clock
Add all clock modules required to enable the XBAR clock, including the DFS, its output dividers and MC_CGM muxes.
Change-Id: Ib9cf82c0e40b76863637ed7602c3a09411d17615 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 9dbca85d | 05-Aug-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): add CGM0 instance
Introduce the MC_CGM0 instance responsible for XBAR and other peripheral clocks.
Change-Id: Icf1e9ce6e71e4ff446835d1e7b6522bfb6f2b4b6 Signed-off-by: Ghennadi Procop
feat(nxp-clk): add CGM0 instance
Introduce the MC_CGM0 instance responsible for XBAR and other peripheral clocks.
Change-Id: Icf1e9ce6e71e4ff446835d1e7b6522bfb6f2b4b6 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 44ae54af | 05-Aug-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): add clock objects for ARM DFS
The DFS modules are connected to the PLL VCO and provide a clock downstream through a set of output dividers, the frequency of which can be adjusted prog
feat(nxp-clk): add clock objects for ARM DFS
The DFS modules are connected to the PLL VCO and provide a clock downstream through a set of output dividers, the frequency of which can be adjusted programmatically.
Change-Id: Ie945d10fd39e6e40e6c051ccde8486dcfb5bd53f Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| b1925dcf | 05-Aug-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
fix(gicv3): incorrect impdef power down sequence
The GICR_WAKER.Sleep and GICR_WAKE.Quiescent functionality is solely about flushing out the LPI cache and ensuring that the contents are consistent w
fix(gicv3): incorrect impdef power down sequence
The GICR_WAKER.Sleep and GICR_WAKE.Quiescent functionality is solely about flushing out the LPI cache and ensuring that the contents are consistent with external memory.
Hence, as shown in GIC-700 TRM version r3p0, software must poll for Quiescent bit only if LPIs are supported.
Change-Id: I7d69b208428e24d8a3ff30e81bd1a8ee3d0bda6e Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| b4f72cfa | 06-Aug-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(cpufeat): feat detect helpers inlining" into integration |
| 18faaa24 | 05-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "us_pmu" into integration
* changes: fix(tc): correct CPU PMU binding feat(tc): add device tree binding for SPE feat(tc): add PPI partitions in DT binding feat(tc):
Merge changes from topic "us_pmu" into integration
* changes: fix(tc): correct CPU PMU binding feat(tc): add device tree binding for SPE feat(tc): add PPI partitions in DT binding feat(tc): change GIC DT property 'interrupt-cells' to 4 feat(tc): add NI-Tower PMU node for TC3 feat(tc): setup ni-tower non-secure access for TC3
show more ...
|
| 89c58a50 | 02-Feb-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): setup ni-tower non-secure access for TC3
NI-Tower's component's registers are need to be accessed from kernel NI-PMU driver so enable NS access to it.
Change-Id: I83a8b3a1d2778baf767ff932
feat(tc): setup ni-tower non-secure access for TC3
NI-Tower's component's registers are need to be accessed from kernel NI-PMU driver so enable NS access to it.
Change-Id: I83a8b3a1d2778baf767ff93263e246d127ef8114 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|