| 88c51c3f | 08-Jan-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(fvp): avoid Measured-Boot dependency on Trusted-Boot
As Measured-Boot and Trusted-Boot are orthogonal, removed Trusted-Boot's dependency on Measured-Boot by allowing them to apply the Crypt
refactor(fvp): avoid Measured-Boot dependency on Trusted-Boot
As Measured-Boot and Trusted-Boot are orthogonal, removed Trusted-Boot's dependency on Measured-Boot by allowing them to apply the Crypto module changes independently using the CRYPTO_SUPPORT build flag.
Change-Id: I5a420e5d84f3fefe0c0092d822dab981e6390bbf Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| f94c84ba | 05-Jan-2022 |
Manoj Kumar <manoj.kumar3@arm.com> |
fix(morello): include errata workaround for 1868343
This patch includes the errata workaround for erratum 1868343 for the Morello platform.
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Change-
fix(morello): include errata workaround for 1868343
This patch includes the errata workaround for erratum 1868343 for the Morello platform.
Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Change-Id: Ifea8148e10946db2276560f90bf2f32bf12b9dcc
show more ...
|
| c2d75fa7 | 22-Dec-2021 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge "fix(errata): workaround for Cortex X2 erratum 2083908" into integration |
| 1db6cd60 | 01-Dec-2021 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex X2 erratum 2083908
Cortex X2 erratum 2083908 is a Cat B erratum present in the Cortex X2 core. It applies to revision r2p0 and is still open.
SDEN can be found he
fix(errata): workaround for Cortex X2 erratum 2083908
Cortex X2 erratum 2083908 is a Cat B erratum present in the Cortex X2 core. It applies to revision r2p0 and is still open.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775100
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Id9dca2b042bf48e75fb3013ab37d1c5925824728
show more ...
|
| 07302a23 | 02-Dec-2021 |
Chandni Cherukuri <chandni.cherukuri@arm.com> |
fix(morello): change the AP runtime UART address
SoC UART1 is internally connected to MCP UART1 so this cannot be used as AP runtime UART instead we use the IOFPGA UART0 as the AP runtime UART.
Sig
fix(morello): change the AP runtime UART address
SoC UART1 is internally connected to MCP UART1 so this cannot be used as AP runtime UART instead we use the IOFPGA UART0 as the AP runtime UART.
Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com> Change-Id: Iecefb0d2cb875b3ecf97e0983b06f6e914835021
show more ...
|
| 6ad6465e | 18-Nov-2021 |
sah01 <sahil@arm.com> |
feat(morello): add support for nt_fw_config
This patch adds support to load nt_fw_config with the information from plat_info sds structure which is then passed from BL2 to BL33.
Signed-off-by: sah0
feat(morello): add support for nt_fw_config
This patch adds support to load nt_fw_config with the information from plat_info sds structure which is then passed from BL2 to BL33.
Signed-off-by: sah01 <sahil@arm.com> Change-Id: I2242da7404c72a4f9c2e3d7f3b5c154890a78526
show more ...
|
| 4a7a9daf | 02-Dec-2021 |
sah01 <sahil@arm.com> |
feat(morello): split platform_info sds struct
Different platform_info sds struct definition will be used for fvp and soc.
Signed-off-by: sahil <sahil@arm.com> Change-Id: I92f0e1b2d0d755ad0405ceebfe
feat(morello): split platform_info sds struct
Different platform_info sds struct definition will be used for fvp and soc.
Signed-off-by: sahil <sahil@arm.com> Change-Id: I92f0e1b2d0d755ad0405ceebfeb78d6e4c67013d
show more ...
|
| 4af53977 | 10-Jan-2021 |
Manoj Kumar <manoj.kumar3@arm.com> |
feat(morello): add changes to enable TBBR boot
This patch adds all SOC and FVP related changes required to boot a standard TBBR style boot on Morello.
Signed-off-by: sahil <sahil@arm.com> Change-Id
feat(morello): add changes to enable TBBR boot
This patch adds all SOC and FVP related changes required to boot a standard TBBR style boot on Morello.
Signed-off-by: sahil <sahil@arm.com> Change-Id: Ib8f7f326790b13082cbe8db21a980e048e3db88c
show more ...
|
| 572c8ce2 | 15-Sep-2021 |
Manoj Kumar <manoj.kumar3@arm.com> |
feat(morello): add DTS for Morello SoC platform
Added Morello SoC specific DTS file.
Change-Id: I099e74ec95ed9e1b47f7d5a68b0dd1e251439e11 Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Signed-of
feat(morello): add DTS for Morello SoC platform
Added Morello SoC specific DTS file.
Change-Id: I099e74ec95ed9e1b47f7d5a68b0dd1e251439e11 Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
show more ...
|
| 9b8c431e | 30-Nov-2021 |
Chandni Cherukuri <chandni.cherukuri@arm.com> |
feat(morello): configure DMC-Bing mode
Based on the SCC configuration value obtained from the SDS platform information structure configure DMC-Bing Server or Client mode after zeroing out the memory
feat(morello): configure DMC-Bing mode
Based on the SCC configuration value obtained from the SDS platform information structure configure DMC-Bing Server or Client mode after zeroing out the memory.
Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com> Change-Id: I0555fa06c9c1906264848f4e32ca413b4742cdee
show more ...
|
| 2d39b397 | 26-Aug-2021 |
Manoj Kumar <manoj.kumar3@arm.com> |
feat(morello): zero out the DDR memory space
For Morello SoC, we use ECC capability for the RDIMMs which require the entire DDR memory space to be zeroed out before it can be accessed.
Change-Id: I
feat(morello): zero out the DDR memory space
For Morello SoC, we use ECC capability for the RDIMMs which require the entire DDR memory space to be zeroed out before it can be accessed.
Change-Id: Icbe9916f9a2d3c4ce839d8bf7f867efa18f33e23 Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
show more ...
|
| 8840711f | 26-Aug-2021 |
Manoj Kumar <manoj.kumar3@arm.com> |
feat(morello): add TARGET_PLATFORM flag
The same folder "plat/arm/board/morello" is going to be used by both Morello FVP and Morello SoC platforms.
TARGET_PLATFORM build flag has been introduced to
feat(morello): add TARGET_PLATFORM flag
The same folder "plat/arm/board/morello" is going to be used by both Morello FVP and Morello SoC platforms.
TARGET_PLATFORM build flag has been introduced to differentiate between the two platforms
Change-Id: I3e94da372a3f1ba810b4259b85dd4c204306c359 Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com> Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
show more ...
|
| cf21064e | 20-Oct-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(fvp): measure critical data
Implemented a platform function 'plat_mboot_measure_critical_data' to measure critical data and record its measurement using the Event Log driver. 'bl2_plat_mboot_fi
feat(fvp): measure critical data
Implemented a platform function 'plat_mboot_measure_critical_data' to measure critical data and record its measurement using the Event Log driver. 'bl2_plat_mboot_finish' function invokes this platform function immediately after populating the critical data.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: Ia198295c6e07ab26d436eab1ff90df2cf28303af
show more ...
|
| 426a1119 | 31-Oct-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): rename a macro INVALID_ID to EVLOG_INVALID_ID
Renamed a macro 'INVALID_ID' to 'EVLOG_INVALID_ID' to avoid its clash with other macro names and to show it is explicitly used
refactor(measured boot): rename a macro INVALID_ID to EVLOG_INVALID_ID
Renamed a macro 'INVALID_ID' to 'EVLOG_INVALID_ID' to avoid its clash with other macro names and to show it is explicitly used for Event Log driver.
Change-Id: Ie4c92b3cd1366d9a59cd6f43221e24734865f427 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 28623c10 | 08-Nov-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix: libc: use long for 64-bit types on aarch64" into integration |
| 4ce3e99a | 25-Aug-2020 |
Scott Branden <scott.branden@broadcom.com> |
fix: libc: use long for 64-bit types on aarch64
Use long instead of long long on aarch64 for 64_t stdint types. Introduce inttypes.h to properly support printf format specifiers for fixed width type
fix: libc: use long for 64-bit types on aarch64
Use long instead of long long on aarch64 for 64_t stdint types. Introduce inttypes.h to properly support printf format specifiers for fixed width types for such change.
Change-Id: I0bca594687a996fde0a9702d7a383055b99f10a1 Signed-off-by: Scott Branden <scott.branden@broadcom.com>
show more ...
|
| 683bb4d7 | 06-Nov-2021 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "arm_fpga_auto" into integration
* changes: feat(arm_fpga): write UART baud base clock frequency into DTB feat(arm_fpga): query PL011 to learn system frequency refacto
Merge changes from topic "arm_fpga_auto" into integration
* changes: feat(arm_fpga): write UART baud base clock frequency into DTB feat(arm_fpga): query PL011 to learn system frequency refactor(arm_fpga): move command line code into separate function fix(fdt): avoid output on missing DT property feat(arm_fpga): add ITS autodetection feat(arm_fpga): determine GICR base by probing feat(gicv3): introduce GIC component identification feat(libfdt): also allow changing base address fix(arm_fpga): avoid re-linking from executable ELF file
show more ...
|
| 25d7dafb | 05-Nov-2021 |
Mark Dykes <mark.dykes@arm.com> |
Merge "feat(tc0): add Ivy partition" into integration |
| 422b44fb | 01-Sep-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(arm_fpga): write UART baud base clock frequency into DTB
Since we now autodetect the actual system frequency, which is also used as the base for the UART baudrate generation, we should update t
feat(arm_fpga): write UART baud base clock frequency into DTB
Since we now autodetect the actual system frequency, which is also used as the base for the UART baudrate generation, we should update the value currently hard-coded in the DT. Otherwise Linux will reprogram the divider using a potentially wrong base rate, which breaks the UART output.
Find the DT node referenced by the UART node as the clock rate, and set the "clock-frequency" property in that node to the detected system frequency. This will let Linux reprogram the divider to the same value, preserving the actual baudrate.
Change-Id: Ib5a936849f2198577b86509f032751d5386ed2f8 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| d850169c | 01-Sep-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(arm_fpga): query PL011 to learn system frequency
The Arm FPGAs run in mostly one clock domain, which is used for the CPU cores, the generic timer, and also the UART baudrate base clock. This si
feat(arm_fpga): query PL011 to learn system frequency
The Arm FPGAs run in mostly one clock domain, which is used for the CPU cores, the generic timer, and also the UART baudrate base clock. This single clock can have different rates, to compensate for different IP complexity. So far most images used 10 MHz, but different rates start to appear.
To avoid patching both the arch timer frequency and UART baud base fixed clock in the DTB manually, we would like to set the clock rate automatically. Fortunately the SCP firmware has the actual clock rate hard coded, and already programs the PL011 UART baud divider register with the correct value to achieve a 38400 bps baudrate.
So read the two PL011 baudrate divider values and re-calculate the original base clock from there, to use as the arch timer frequency. If the arch timer DT node contains a clock-frequency property, we use that instead, to support overriding and disabling this autodetection.
Change-Id: I9857fbb418deb4644aeb2816f1102796f9bfd3bb Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 52b8f446 | 01-Sep-2021 |
Andre Przywara <andre.przywara@arm.com> |
refactor(arm_fpga): move command line code into separate function
The code dealing with finding the command line and inserting that into the DTB is somewhat large, and drowns the other DT handlers i
refactor(arm_fpga): move command line code into separate function
The code dealing with finding the command line and inserting that into the DTB is somewhat large, and drowns the other DT handlers in our fpga_prepare_dtb() function.
Move that code into a separate function, to improve readability.
Change-Id: I828203c4bb248d38a2562fcb6afdefedf3179f8d Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| d7e39c43 | 20-Jul-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(arm_fpga): add ITS autodetection
Some FPGAs come with a GIC that has an ITS block configured. Since the ITS sits between the distributor and redistributors, we can autodetect that, and already
feat(arm_fpga): add ITS autodetection
Some FPGAs come with a GIC that has an ITS block configured. Since the ITS sits between the distributor and redistributors, we can autodetect that, and already adjust the GICR base address.
To also make this ITS usable, add an ITS node to our base DTB, and remove that should we not find an ITS during the scan for the redistributor. This allows to use the same TF-A binary for FPGA images with or without an ITS.
Change-Id: I4c0417dec7bccdbad8cbca26fa2634950fc50a66 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 93b785f5 | 19-May-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(arm_fpga): determine GICR base by probing
When an Arm Ltd GIC (Arm GIC-[567]00) is instantiated with one or more ITSes, the ITS MMIO frames appear between the distributor and redistributor addr
feat(arm_fpga): determine GICR base by probing
When an Arm Ltd GIC (Arm GIC-[567]00) is instantiated with one or more ITSes, the ITS MMIO frames appear between the distributor and redistributor addresses. This makes the beginning of the redistributor region dependent on the existence and number of ITSes.
To support various FPGA images, with and without ITSes, probe the addresses in question, to learn whether they accommodate an ITS or a redistributor. This can be safely done by looking at the PIDR[01] registers, which contain an ID code for each region, documented in the Arm GIC TRMs.
We try to find all ITSes instantiated, and skip either two or four 64K frames, depending on GICv4.1 support. At some point we will find the first redistributor; this address we then update in the DTB.
Change-Id: Iefb88c2afa989e044fe0b36b7020b56538c60b07 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 4d585fe5 | 19-May-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(libfdt): also allow changing base address
For platforms where we don't know the number of cores at compile time, the size of the GIC redistributor frame is then also undetermined, since it depe
feat(libfdt): also allow changing base address
For platforms where we don't know the number of cores at compile time, the size of the GIC redistributor frame is then also undetermined, since it depends on this number of cores. On top of this the GICR base address can also change, when an unknown number of ITS frames (including zero) take up space between the distributor and redistributor.
So while those two adjustments are done for independent reasons, the code for doing so is very similar, so we should utilise the existing fdt_adjust_gic_redist() function.
Add an (optional) gicr_base parameters to the prototype, so callers can choose to also adjust this base address later, if needed.
Change-Id: Id39c0ba83e7401fdff1944e86950bb7121f210e8 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| a67ac764 | 04-Nov-2021 |
Andre Przywara <andre.przywara@arm.com> |
fix(arm_fpga): avoid re-linking from executable ELF file
When we build the convenience firmware package file for the Arm FPGA boards (bl31.axf), we combine trampolines, the DTB and the actual BL31 c
fix(arm_fpga): avoid re-linking from executable ELF file
When we build the convenience firmware package file for the Arm FPGA boards (bl31.axf), we combine trampolines, the DTB and the actual BL31 code into one ELF file, which is more a "container with load addresses" than an actual executable. So far ld was fine with us using bl31.elf as an input file, but binutils 2.35 changed that and complains about taking an *executable* ELF file as in *input* to the linker: ----------------- aarch64-none-elf-ld.bfd: cannot use executable file 'build/arm_fpga/debug/./bl31/bl31.elf' as input to a link -----------------
Fortunately we don't need the actual BL31 ELF file for *that* part of the linking, so can use the just created bl31.bin binary version of it. Actually that shrinks the file, as we needlessly included the .BSS section in the final file before.
Using the binary works with both older and newer toolchains versions, so let's do this unconditionally.
Change-Id: Ib7e697f8363499123f7cb860f118f182d0830768 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|