| 695f7df8 | 24-Sep-2019 |
Lionel Debieve <lionel.debieve@st.com> |
fmc: stm32_fmc2_nand: Add FMC2 driver support
Add fmc2_nand driver support. The driver implements only read interface for NAND devices.
Change-Id: I3cd037e8ff645ce0d217092b96f33ef41cb7a522 Signed-o
fmc: stm32_fmc2_nand: Add FMC2 driver support
Add fmc2_nand driver support. The driver implements only read interface for NAND devices.
Change-Id: I3cd037e8ff645ce0d217092b96f33ef41cb7a522 Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
show more ...
|
| b8718d1f | 24-Sep-2019 |
Lionel Debieve <lionel.debieve@st.com> |
io: stm32image: fix device_size type
Device size could be more than 4GB, we must define size as unsigned long long.
Change-Id: I52055cf5c1c15ff18ab9e157aa9b73c8b4fb7b63 Signed-off-by: Lionel Debiev
io: stm32image: fix device_size type
Device size could be more than 4GB, we must define size as unsigned long long.
Change-Id: I52055cf5c1c15ff18ab9e157aa9b73c8b4fb7b63 Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
show more ...
|
| e76d9fc4 | 02-Jan-2020 |
Lionel Debieve <lionel.debieve@st.com> |
lib: utils_def: add CLAMP macro
Add the standard CLAMP macro. It ensures that x is between the limits set by low and high. If low is greater than high the result is undefined.
Signed-off-by: Lione
lib: utils_def: add CLAMP macro
Add the standard CLAMP macro. It ensures that x is between the limits set by low and high. If low is greater than high the result is undefined.
Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Change-Id: Ia173bb9ca51bc8d9a8ec573bbc15636a94f881f4
show more ...
|
| a13550d0 | 24-Sep-2019 |
Lionel Debieve <lionel.debieve@st.com> |
Add SPI-NOR framework
SPI-NOR framework is based on SPI-MEM framework using spi_mem_op execution interface.
It implements read functions and allows NOR configuration up to quad mode. Default manage
Add SPI-NOR framework
SPI-NOR framework is based on SPI-MEM framework using spi_mem_op execution interface.
It implements read functions and allows NOR configuration up to quad mode. Default management is 1 data line but it can be overridden by platform. It also includes specific quad mode configuration for Spansion, Micron and Macronix memories.
Change-Id: If49502b899b4a75f6ebc3190f6bde1013651197f Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
show more ...
|
| c3e57739 | 25-Sep-2019 |
Lionel Debieve <lionel.debieve@st.com> |
Add SPI-NAND framework
This framework supports SPI-NAND and is based on the SPI-MEM framework for SPI operations. It uses a common high level access using the io_mtd.
It is limited to the read func
Add SPI-NAND framework
This framework supports SPI-NAND and is based on the SPI-MEM framework for SPI operations. It uses a common high level access using the io_mtd.
It is limited to the read functionalities.
Default behavior is the basic one data line operation but it could be overridden by platform.
Change-Id: Icb4e0887c4003a826f47c876479dd004a323a32b Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
show more ...
|
| 05e6a563 | 24-Sep-2019 |
Lionel Debieve <lionel.debieve@st.com> |
Add SPI-MEM framework
This framework supports SPI operations using a common spi_mem_op structure: - command - addr - dummy - data
The framework manages SPI bus configuration: - speed - bus wi
Add SPI-MEM framework
This framework supports SPI operations using a common spi_mem_op structure: - command - addr - dummy - data
The framework manages SPI bus configuration: - speed - bus width (Up to quad mode) - chip select
Change-Id: Idc2736c59bfc5ac6e55429eba5d385275ea3fbde Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
show more ...
|
| b114abb6 | 09-Sep-2019 |
Lionel Debieve <lionel.debieve@st.com> |
Add raw NAND framework
The raw NAND framework supports SLC NAND devices.
It introduces a new high level interface (io_mtd) that defines operations a driver can register to the NAND framework. This
Add raw NAND framework
The raw NAND framework supports SLC NAND devices.
It introduces a new high level interface (io_mtd) that defines operations a driver can register to the NAND framework. This interface will fill in the io_mtd device specification: - device_size - erase_size that could be used by the io_storage interface.
NAND core source file integrates the standard read loop that performs NAND device read operations using a skip bad block strategy. A platform buffer must be defined in case of unaligned data. This buffer must fit to the maximum device page size defined by PLATFORM_MTD_MAX_PAGE_SIZE.
The raw_nand.c source file embeds the specific NAND operations to read data. The read command is a raw page read without any ECC correction. This can be overridden by a low level driver. No generic support for write or erase command or software ECC correction.
NAND ONFI detection is available and can be enabled using NAND_ONFI_DETECT=1. For non-ONFI NAND management, platform can define required information.
Change-Id: Id80e9864456cf47f02b74938cf25d99261da8e82 Signed-off-by: Lionel Debieve <lionel.debieve@st.com> Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
show more ...
|
| 45cc606e | 17-Jan-2020 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "ld/mtd_framework" into integration
* changes: io: change seek offset to signed long long compiler_rt: Import aeabi_ldivmode.S file and dependencies |
| 351ab9f5 | 15-Jan-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "a8k: Implement platform specific power off" into integration |
| 8c11ebfc | 13-Jan-2020 |
Luka Kovacic <luka.kovacic@sartura.hr> |
a8k: Implement platform specific power off
Implements a way to add platform specific power off code to a Marvell Armada 8K platform.
Marvell Armada 8K boards can now add a board/system_power.c file
a8k: Implement platform specific power off
Implements a way to add platform specific power off code to a Marvell Armada 8K platform.
Marvell Armada 8K boards can now add a board/system_power.c file that contains a system_power_off() function. This function can now send a command to a power management MCU or other board periferals before shutting the board down.
Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr> Change-Id: Iaba20bc2f603195679c54ad12c0c18962dd8e3db --- I am working on a device that will be ported later, which has a custom power management MCU that handles LEDs, board power and fans and requires this separation.
show more ...
|
| 22c2316d | 14-Jan-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "console: 16550: Prepare for skipping initialisation" into integration |
| 70cb0bff | 16-Apr-2019 |
Yann Gautier <yann.gautier@st.com> |
io: change seek offset to signed long long
IO seek offset can be set to values above UINT32_MAX, this change changes the seek offset argument from 'ssize_t' to 'signed long long'. Fixing platform se
io: change seek offset to signed long long
IO seek offset can be set to values above UINT32_MAX, this change changes the seek offset argument from 'ssize_t' to 'signed long long'. Fixing platform seek functions to match the new interface update.
Change-Id: I25de83b3b7abe5f52a7b0fee36f71e60cac9cfcb Signed-off-by: Yann Gautier <yann.gautier@st.com> Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
show more ...
|
| 43636796 | 10-Jan-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "Unify type of "cpu_idx" across PSCI module." into integration |
| 5b33ad17 | 13-Dec-2019 |
Deepika Bhavnani <deepika.bhavnani@arm.com> |
Unify type of "cpu_idx" across PSCI module.
NOTE for platform integrators: API `plat_psci_stat_get_residency()` third argument `last_cpu_idx` is changed from "signed int" to the "unsigned i
Unify type of "cpu_idx" across PSCI module.
NOTE for platform integrators: API `plat_psci_stat_get_residency()` third argument `last_cpu_idx` is changed from "signed int" to the "unsigned int" type.
Issue / Trouble points 1. cpu_idx is used as mix of `unsigned int` and `signed int` in code with typecasting at some places leading to coverity issues.
2. Underlying platform API's return cpu_idx as `unsigned int` and comparison is performed with platform specific defines `PLAFORM_xxx` which is not consistent
Misra Rule 10.4: The value of a complex expression of integer type may only be cast to a type that is narrower and of the same signedness as the underlying type of the expression.
Based on above points, cpu_idx is kept as `unsigned int` to match the API's and low-level functions and platform defines are updated where ever required
Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: Ib26fd16e420c35527204b126b9b91e8babcc3a5c
show more ...
|
| 45503af4 | 09-Jan-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "smccc: add get smc function id num macro" into integration |
| e073e070 | 23-Dec-2019 |
Olivier Deprez <olivier.deprez@arm.com> |
smccc: add get smc function id num macro
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I2953f0a6f35bc678402bc185640d1f328b065af5 |
| daa9b6ea | 06-Jan-2020 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Simplify PMF helper macro definitions across header files
In further patches, we aim to enable -Wredundant-decls by default. This rearragement of helper macros is necessary to make Coverity tool hap
Simplify PMF helper macro definitions across header files
In further patches, we aim to enable -Wredundant-decls by default. This rearragement of helper macros is necessary to make Coverity tool happy as well as making sure there are no redundant function declarations for PMF related declarations.
Also, PMF related macros were added to provide appropriate function declarations for helper APIs which capture PSCI statistics.
Change-Id: I36273032dde8fa079ef71235ed3a4629c5bfd981 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| c20c0525 | 13-Dec-2019 |
Vishnu Banavath <vishnu.banavath@arm.com> |
drivers: add a driver for snoop control unit
The SCU connects one to four Cortex-A5/Cortex-A9 processors to the memory system through the AXI interfaces.
The SCU functions are to: - maintain data c
drivers: add a driver for snoop control unit
The SCU connects one to four Cortex-A5/Cortex-A9 processors to the memory system through the AXI interfaces.
The SCU functions are to: - maintain data cache coherency between the Cortex-A5/Cortex-A9 processors - initiate L2 AXI memory accesses - arbitrate between Cortex-A5/Cortex-A9 processors requesting L2 accesses - manage ACP accesses.
Snoop Control Unit will enable to snoop on other CPUs caches. This is very important when it comes to synchronizing data between CPUs. As an example, there is a high chance that data might be cache'd and other CPUs can't see the change. In such cases, if snoop control unit is enabled, data is synchoronized immediately between CPUs and the changes are visible to other CPUs.
This driver provides functionality to enable SCU as well as enabling user to know the following - number of CPUs present - is a particular CPU operating in SMP mode or AMP mode - data cache size of a particular CPU - does SCU has ACP port - is L2CPRESENT
Change-Id: I0d977970154fa60df57caf449200d471f02312a0 Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
show more ...
|
| 8a0a8199 | 02-Jan-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
Merge "bl31: Split into two separate memory regions" into integration |
| 0348ee49 | 30-Dec-2019 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "Workaround for Hercules erratum 1688305" into integration |
| cd50ffd2 | 12-Dec-2019 |
Andre Przywara <andre.przywara@arm.com> |
console: 16550: Prepare for skipping initialisation
On some platforms the UART might have already been initialised, for instance by firmware running before TF-A or by a separate management processor
console: 16550: Prepare for skipping initialisation
On some platforms the UART might have already been initialised, for instance by firmware running before TF-A or by a separate management processor. In this case it would not be need to initialise it again (doing so could create spurious characters). But more importantly this saves us from knowing the right baudrate and the right base clock rate for the UART. This can lead to more robust and versatile firmware builds.
Allow to skip the 16550 UART initialisation and baud rate divisor programming, by interpreting an input clock rate of "0" to signify this case. This will just skip the call to console_16550_core_init, but still will register the console properly.
Users should just pass 0 as the second parameter, the baudrate (third parameter) will then be ignored as well.
Fix copy & paste typos in comments for the console_16550_register() function on the way.
Signed-off-by: Andre Przywara <andre.przywara@arm.com> Change-Id: I9f8fca5b358f878fac0f31dc411358fd160786ee
show more ...
|
| f8578e64 | 18-Oct-2018 |
Samuel Holland <samuel@sholland.org> |
bl31: Split into two separate memory regions
Some platforms are extremely memory constrained and must split BL31 between multiple non-contiguous areas in SRAM. Allow the NOBITS sections (.bss, stack
bl31: Split into two separate memory regions
Some platforms are extremely memory constrained and must split BL31 between multiple non-contiguous areas in SRAM. Allow the NOBITS sections (.bss, stacks, page tables, and coherent memory) to be placed in a separate region of RAM from the loaded firmware image.
Because the NOBITS region may be at a lower address than the rest of BL31, __RW_{START,END}__ and __BL31_{START,END}__ cannot include this region, or el3_entrypoint_common would attempt to invalidate the dcache for the entire address space. New symbols __NOBITS_{START,END}__ are added when SEPARATE_NOBITS_REGION is enabled, and the dcached for the NOBITS region is invalidated separately.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Idedfec5e4dbee77e94f2fdd356e6ae6f4dc79d37
show more ...
|
| 83e95524 | 18-Dec-2019 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Workaround for Hercules erratum 1688305
Erratum 1688305 is a Cat B erratum present in r0p0, r0p1 versions of Hercules core. The erratum can be avoided by setting bit 1 of the implementation defined
Workaround for Hercules erratum 1688305
Erratum 1688305 is a Cat B erratum present in r0p0, r0p1 versions of Hercules core. The erratum can be avoided by setting bit 1 of the implementation defined register CPUACTLR2_EL1 to 1 to prevent store- release from being dispatched before it is the oldest.
Change-Id: I2ac04f5d9423868b6cdd4ceb3d0ffa46e570efed Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| ba4b453b | 12-Apr-2019 |
Sheetal Tigadoli <sheetal.tigadoli@broadcom.com> |
lib: cpu: Add additional field definition for A72 L2 control
Add additional field definitions for Cortex_A72 L2 Control registers
Change-Id: I5ef3a6db41cd7c5d9904172720682716276b7889 Signed-off-by:
lib: cpu: Add additional field definition for A72 L2 control
Add additional field definitions for Cortex_A72 L2 Control registers
Change-Id: I5ef3a6db41cd7c5d9904172720682716276b7889 Signed-off-by: Sheetal Tigadoli <sheetal.tigadoli@broadcom.com>
show more ...
|
| 86ed8953 | 20-Dec-2019 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "debugfs: add SMC channel" into integration |