| c89438bc | 16-Sep-2024 |
Jerry Wang <Jerry.Wang4@arm.com> |
feat(gic): add support for local chip addressing
This patch adds support for Local Chip Addressing (LCA). In a multi-chip system, enablig LCA allows each GIC Distributor to maintain its own version
feat(gic): add support for local chip addressing
This patch adds support for Local Chip Addressing (LCA). In a multi-chip system, enablig LCA allows each GIC Distributor to maintain its own version of routing table. This feature is activated when the GICD_CFGID.LCA bit is set to 1.
The existing `gic600_multichip_data` data structure did not account for the LCA feature. To support LCA: - `rt_owner_base` is replaced by `base_addrs[]`. This is required because each GICD in the system needs to be configured independently, and their base addresses must be passed to the driver. - `chip_addrs` is changed from 1D to 2D array to store the routing table for each chip's GICD. The entries in `chip_addrs` are configuration dependent, as the GIC specification does not enforce this.
On a multi-chip platform with chip count N where LCA is enabled by default, the `gic600_multichip_data` structure should contain all copies of the routing table (N*N entries). On platforms where LCA is not supported, only the first sub-array with N entries is required. The function signature of `gic600_multichip_init` remains unchanged, but if the LCA feature is enabled, the driver will expect the routing table configuration in the described format.
Change-Id: I8830c2cf90db6a0cae78e99914cd32c637284a2b Signed-off-by: Jerry Wang <Jerry.Wang4@arm.com>
show more ...
|
| bd691136 | 10-Jan-2025 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): add a basic get_rate implementation
Replace the dummy implementation of clk_ops.get_rate with a basic version that only handles the oscillator objects. Subsequent commits will add mor
feat(nxp-clk): add a basic get_rate implementation
Replace the dummy implementation of clk_ops.get_rate with a basic version that only handles the oscillator objects. Subsequent commits will add more objects to this list.
Change-Id: I8c1bbbfa6b116fdcf5a1f1353bdb52b474bac831 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 61b5ef21 | 27-Nov-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(s32g274a): split early clock initialization
Initializing all early clocks before the MMU is enabled can impact boot time. Therefore, splitting the setup into A53 clocks and peripheral clocks ca
feat(s32g274a): split early clock initialization
Initializing all early clocks before the MMU is enabled can impact boot time. Therefore, splitting the setup into A53 clocks and peripheral clocks can be beneficial, with the peripheral clocks configured after fully initializing the MMU.
Change-Id: I19644227b66effab8e2c43e64e057ea0c8625ebc Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 514c7380 | 26-Nov-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): dynamic map of the clock modules
Add all clock modules as entries in MMU using dynamic regions.
Change-Id: I56f724ced4bd024554c7b38afd14ea420de80cc6 Signed-off-by: Ghennadi Procopciu
feat(nxp-clk): dynamic map of the clock modules
Add all clock modules as entries in MMU using dynamic regions.
Change-Id: I56f724ced4bd024554c7b38afd14ea420de80cc6 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| b57468b3 | 30-Dec-2024 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(mbedtls): optimize SHA256 for reduced memory footprint
Set MBEDTLS_SHA256_SMALLER as the default mbedTLS configuration to minimize memory usage, trading off some processing speed for a smaller
feat(mbedtls): optimize SHA256 for reduced memory footprint
Set MBEDTLS_SHA256_SMALLER as the default mbedTLS configuration to minimize memory usage, trading off some processing speed for a smaller footprint.
Change-Id: Ibfa6e115a0ed94096b9acdd9e237f3fb5457071d Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 52d29345 | 11-Nov-2024 |
Ryan Everett <ryan.everett@arm.com> |
fix(psa): increase psa-mbedtls heap size for rsa
The value assigned for the mbedtls heap size for large rsa keys was too small when PSA_CRYPTO is set to 1, leading to run-time failures if one was to
fix(psa): increase psa-mbedtls heap size for rsa
The value assigned for the mbedtls heap size for large rsa keys was too small when PSA_CRYPTO is set to 1, leading to run-time failures if one was to attempt to use a large RSA key with PSA_CRYPTO=1.
Change-Id: Id9b2648ae911879f483f1b88301f28694af0721d Signed-off-by: Ryan Everett <ryan.everett@arm.com>
show more ...
|
| c307efce | 09-Dec-2024 |
Ryan Everett <ryan.everett@arm.com> |
feat(mbedtls): mbedtls config update for v3.6.2
This new update to the LTS branch of MbedTLS provides the fix for a buffer underrun vulnerability. TF-A does not use the previously vulnerable functio
feat(mbedtls): mbedtls config update for v3.6.2
This new update to the LTS branch of MbedTLS provides the fix for a buffer underrun vulnerability. TF-A does not use the previously vulnerable functions `mbedtls_pk_write_key_der` or `mbedtls_pk_write_key_pem`. Full patch notes to this MbedTLS update can be found at https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-3.6.2.
We now enforce the mbedtls version to be greater than or equal to 3.6.2 in our default configs.
Change-Id: I79027f6c741ab3f419f7b555321507e6a78b977b Signed-off-by: Ryan Everett <ryan.everett@arm.com>
show more ...
|
| 640ba634 | 09-Dec-2024 |
Ryan Everett <ryan.everett@arm.com> |
refactor(mbedtls): rename default mbedtls confs
Change the name of these confs to be version agnostic, we will later use these configs to enforce the mbedtls minimum version
Change-Id: I1f665c24718
refactor(mbedtls): rename default mbedtls confs
Change the name of these confs to be version agnostic, we will later use these configs to enforce the mbedtls minimum version
Change-Id: I1f665c2471877ecc833270c511749ff845046f10 Signed-off-by: Ryan Everett <ryan.everett@arm.com>
show more ...
|
| beba2040 | 25-Oct-2024 |
Sieu Mun Tang <sieu.mun.tang@intel.com> |
fix(intel): refactor SDMMC driver for Altera products
Refactor to be more robust. Removed duplicated and not used functions. Add in ADMA read.
Change-Id: I1a5a00397ece6f9ccc5916225ab5317010b01b52 S
fix(intel): refactor SDMMC driver for Altera products
Refactor to be more robust. Removed duplicated and not used functions. Add in ADMA read.
Change-Id: I1a5a00397ece6f9ccc5916225ab5317010b01b52 Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
show more ...
|
| f29765fd | 21-Oct-2024 |
Sieu Mun Tang <sieu.mun.tang@intel.com> |
fix(intel): update preloaded_bl33_base for legacy product
Update preloaded_bl33_base for legacy product for Yocto.
The Yocto Jenkins build was initially configured to build products where the start
fix(intel): update preloaded_bl33_base for legacy product
Update preloaded_bl33_base for legacy product for Yocto.
The Yocto Jenkins build was initially configured to build products where the starting of the DDR is from 0x0000 0000. And if there is no NS_image_offset set, the Jenkins is not able to acquire the correct address offset to boot up the system. However, in the direct OS boot, there is no issue as the user shall always include the address offset during the compilation phase. Otherwise, the code shall execute the default address offset. Besides that, this also provides the flexibility to user to customize their SoC design by not restricted to the default address.
SDMMC block size. It was changed due to the need when boot to Linux. Kernel.itb size is big thus we have to increase the available reading block size. Otherwise for normal U-boot and Zephyr it shall not be reading a big block size to avoid "garbage" data.
Change-Id: I1c2a22db28bf0ada734563e40efd4f5749951273 Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
show more ...
|
| d7adbb52 | 17-Oct-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "refactor(delay-timer): add timer callback functions" into integration |
| 8ee65344 | 16-Oct-2024 |
Joanna Farley <joanna.farley@arm.com> |
Merge changes from topic "xlnx_fix_plat_console_changes" into integration
* changes: feat(xilinx): add none console feat(versal2): add dtb & runtime console feat(versal-net): add DTB console t
Merge changes from topic "xlnx_fix_plat_console_changes" into integration
* changes: feat(xilinx): add none console feat(versal2): add dtb & runtime console feat(versal-net): add DTB console to platform.mk feat(versal-net): dedicate console for boot and runtime feat(versal): add DTB console to platform.mk feat(versal): dedicate console for boot and runtime refactor(xilinx): register runtime console directly refactor(xilinx): console registration through console holder structure feat(zynqmp): add DTB console to platform.mk feat(zynqmp): dedicate console for boot and runtime fix(xilinx): dcc to support runtime console scope refactor(xilinx): create generic function for DT console refactor(xilinx): rename setup_runtime_console to generic chore(xilinx): rename console variables chore(xilinx): rename runtime console to DT console
show more ...
|
| a6485b2b | 21-Aug-2024 |
Abhi.Singh <abhi.singh@arm.com> |
refactor(delay-timer): add timer callback functions
In order to avoid separate platform definitions when not using the default timer functions, it is better to move these functions out of the header
refactor(delay-timer): add timer callback functions
In order to avoid separate platform definitions when not using the default timer functions, it is better to move these functions out of the header file and into the source files, so that they can be built if needed.
Move timer functions from delay_timer.h into generic_delay_timer.c. Add them as callback functions which are then called in delay_timer.c.
Change-Id: I96a1eac8948b1a7b1e481899b67a083db4c9b97d Signed-off-by: Abhi Singh <abhi.singh@arm.com>
show more ...
|
| 238eb542 | 23-Sep-2024 |
Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com> |
fix(xilinx): dcc to support runtime console scope
DCC driver to support boot and runtime console scope switch for dedicated boot and runtime consoles.
Change-Id: I7769dc44860a5fda99ca42ce17a3a60092
fix(xilinx): dcc to support runtime console scope
DCC driver to support boot and runtime console scope switch for dedicated boot and runtime consoles.
Change-Id: I7769dc44860a5fda99ca42ce17a3a6009288d7e7 Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
show more ...
|
| eaaf26e3 | 09-Oct-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes I93de2db1,I880f88b1,I02e2fc75,I48908413,Ie7de9a9f, ... into integration
* changes: feat(st-ddr): add STM32MP2 driver refactor(st-ddr): create generic services refactor(st-ddr): r
Merge changes I93de2db1,I880f88b1,I02e2fc75,I48908413,Ie7de9a9f, ... into integration
* changes: feat(st-ddr): add STM32MP2 driver refactor(st-ddr): create generic services refactor(st-ddr): remove name from stm32mp_ddr_reg_desc refactor(st-ddr): add definition for timeouts and delays feat(st): add stm32mp_is_wakeup_from_standby() feat(stm32mp2): add RETRAM map/unmap capability feat(stm32mp2): add helper to get DDRDBG base address feat(stm32mp2): handle DDR power supplies feat(stm32mp1): handle DDR power supplies
show more ...
|
| 01c80c19 | 09-Oct-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "nxp-clk/add_ddr_clk" into integration
* changes: fix(nxp-clk): function parameter should not be modified feat(nxp-clk): enable the DDR clock feat(nxp-clk): add object
Merge changes from topic "nxp-clk/add_ddr_clk" into integration
* changes: fix(nxp-clk): function parameter should not be modified feat(nxp-clk): enable the DDR clock feat(nxp-clk): add objects needed for DDR clock feat(nxp-clk): setup the DDR PLL feat(nxp-clk): add MC_ME utilities feat(nxp-clk): add partition reset utilities feat(nxp-clk): add partitions objects
show more ...
|
| 79629b1a | 01-Jul-2021 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
feat(st-ddr): add STM32MP2 driver
Add driver to support DDR on STM32MP2 platform. It drives the DDR PHY and its firmware, as well as the DDR controller.
Signed-off-by: Nicolas Le Bayon <nicolas.le.
feat(st-ddr): add STM32MP2 driver
Add driver to support DDR on STM32MP2 platform. It drives the DDR PHY and its firmware, as well as the DDR controller.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Change-Id: I93de2db1b9378d5654e76b3bf6f3407d80bc4ca5
show more ...
|
| d596023b | 08-Mar-2022 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
refactor(st-ddr): create generic services
Disabling AXI port, enabling host interface and both enabling/disabling software self-refresh services are already present inside the driver source code. Fa
refactor(st-ddr): create generic services
Disabling AXI port, enabling host interface and both enabling/disabling software self-refresh services are already present inside the driver source code. Factorize by gathering them as services inside the generic part, and adapt driver to call these new functions.
Add services to manage quasi-dynamic registers. DDRCTRL contains quasi-dynamic registers, which are dynamic only under some conditions defined by the user guide (with 4 groups). In our driver, out of reset state, only groups 3 and 4 are updated. Group 4 needs only sw_done/sw_done_ack sequence, already available. Group 3 sequence include more conditions, that are gathered in specific services. stm32mp_ddr_disable_host_interface() has been added to do this.
Add dedicated generic service to toggle rfshctl3.refresh_update_level and wait for completion.
Manage AXI ports and HIF when updating QD3 registers. Quasi-dynamic group 3 (QD3) registers are updated when DDR is not completely initialized, i.e. when AXI ports are not enabled and possibly when host interface (HIF) is not enabled too. In that case, a specific mechanism is necessary to restore the same conditions as before accessing QD3 registers. Static functions have been added to get AXI ports and HIF states and are used to determine the needed conditions to set/unset.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Change-Id: I880f88b1cb6fc76199ad9ea33e9d63a5c469aed4
show more ...
|
| 1483b3c3 | 29-May-2024 |
Yann Gautier <yann.gautier@st.com> |
refactor(st-ddr): remove name from stm32mp_ddr_reg_desc
It was only used for an error trace, with little added value. This allows some gains in DDR driver data size.
Signed-off-by: Yann Gautier <ya
refactor(st-ddr): remove name from stm32mp_ddr_reg_desc
It was only used for an error trace, with little added value. This allows some gains in DDR driver data size.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I02e2fc75efd90ff188e62f39850b9bd4c3af1649
show more ...
|
| 066a5958 | 29-May-2024 |
Yann Gautier <yann.gautier@st.com> |
refactor(st-ddr): add definition for timeouts and delays
Instead of using hard-coded number in DDR driver, use macros. Modify TIMEOUT_US_1S to DDR_TIMEOUT_US_1S to align with other defines.
Signed-
refactor(st-ddr): add definition for timeouts and delays
Instead of using hard-coded number in DDR driver, use macros. Modify TIMEOUT_US_1S to DDR_TIMEOUT_US_1S to align with other defines.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I489084132821774b0049a4a5d7fc30db24a7bb11
show more ...
|
| 47e62314 | 16-Feb-2023 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
feat(stm32mp1): handle DDR power supplies
Modify the DDR driver to handle the DDR power supplies when a PMIC is present in the function stm32mp_board_ddr_power_init(), define in the platform file.
feat(stm32mp1): handle DDR power supplies
Modify the DDR driver to handle the DDR power supplies when a PMIC is present in the function stm32mp_board_ddr_power_init(), define in the platform file.
This patch allows to easily modify the used DDR power supplies for customer boards, when they don't use STPMIC1 PMU or when the regulators are not connected as on the STMicroelectronics boards.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Change-Id: I93ee6295ef7032ac20f03608d22cd460f7d87ef5
show more ...
|
| e9529e46 | 24-Sep-2024 |
Raghu Krishnamurthy <raghupathyk@nvidia.com> |
refactor: digest sizes
The digest size in bytes for sha1/256/384/512 were defined in multiple places. Refactor the macros into a common header file.
Change-Id: I84ef3561486ff70345ae8c871d5d6e156457
refactor: digest sizes
The digest size in bytes for sha1/256/384/512 were defined in multiple places. Refactor the macros into a common header file.
Change-Id: I84ef3561486ff70345ae8c871d5d6e1564574ec2 Signed-off-by: Raghu Krishnamurthy <raghupathyk@nvidia.com>
show more ...
|
| 4a2ca718 | 17-Sep-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): add objects needed for DDR clock
The DDR clock can be powered by either a PLL or an oscillator. An MC_CGM mux selects between these two clock sources. A reset block, part of partition
feat(nxp-clk): add objects needed for DDR clock
The DDR clock can be powered by either a PLL or an oscillator. An MC_CGM mux selects between these two clock sources. A reset block, part of partition 0, is also connected to this IP block. Therefore, all the dependencies mentioned above must be configured to have a working clock.
Change-Id: Ia841428db9acb95c59ea851b6afeb0b7ff9230a2 Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| 18c2b137 | 09-Sep-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): setup the DDR PLL
Add the DDR PLL instance and configure it to operate at its maximum allowed frequency.
Change-Id: I96efd68687de78f70759f631d10a0f611c234c8d Signed-off-by: Ghennadi
feat(nxp-clk): setup the DDR PLL
Add the DDR PLL instance and configure it to operate at its maximum allowed frequency.
Change-Id: I96efd68687de78f70759f631d10a0f611c234c8d Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| af3020e2 | 11-Sep-2024 |
Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com> |
feat(nxp-clk): add partitions objects
The S32CC-based SoCs are organized in partitions. These are software-resettable domains in which configuration participates in MC_CGM, MC_ME, and RDC modules. A
feat(nxp-clk): add partitions objects
The S32CC-based SoCs are organized in partitions. These are software-resettable domains in which configuration participates in MC_CGM, MC_ME, and RDC modules. A partition is an island that may contain multiple blocks, each of which corresponds to a peripheral or a core and can, in most cases, be reset individually. This reset structure results in better device availability. If a fault is detected in a software reset domain, that domain can be reset separately without impacting the operation of the rest of the chip.
Change-Id: Ie60dbe151309209e377aa71356dbbd6a4f376a8c Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|