| #
ae2289b9 |
| 08-Nov-2021 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(arm_fpga): Change PL011 UART IRQ" into integration
|
| #
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 ...
|
| #
195381a9 |
| 14-May-2021 |
Andre Przywara <andre.przywara@arm.com> |
fix(arm_fpga): Change PL011 UART IRQ
About a year ago there was a change in the underlying Arm platform design framework, which lead to a reorganisation of the interrupt map (to make room for multi-
fix(arm_fpga): Change PL011 UART IRQ
About a year ago there was a change in the underlying Arm platform design framework, which lead to a reorganisation of the interrupt map (to make room for multi-chip designs).
This lead to the PL011 debug UART interrupt to move from SPI 115 to SPI 415. Unfortunately there is not a good or easy way to auto-detect this change: Flooding the TX FIFO and checking GICD_ISPENDR registers might be possible, but sounds a bit over the top for BL31.
So we would need to break one group of images: newer ones, as we do right now, or older ones. By now every interesting FPGA image seems to use the newer IRQ, so in the interest of having a smooth experience for most users, lets switch to this IRQ.
When people are interested in older images, they can either change the number back in the .dts file, or provide a patched DTB on the FPGA command line.
Change-Id: I3c7e7b711f5142813bd94eecde3095a4fc555bb3 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 ...
|
| #
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 ...
|
| #
57dde212 |
| 07-May-2021 |
Mark Dykes <mark.dykes@arm.com> |
Merge "fix(plat/arm_fpga): increase initrd size" into integration
|
| #
c3ce73be |
| 05-May-2021 |
Andre Przywara <andre.przywara@arm.com> |
fix(plat/arm_fpga): increase initrd size
In the comment in the ARM FPGA DT we promise a generous 100 MB initrd, but actually describe only a size of 20 MB.
As initrds are the most common and easy u
fix(plat/arm_fpga): increase initrd size
In the comment in the ARM FPGA DT we promise a generous 100 MB initrd, but actually describe only a size of 20 MB.
As initrds are the most common and easy userland option for the boards, let's increase the maximum size to the advertised 100 MB, to avoid unpacking errors when an initrd exceeds the current limit of 20 MB.
Change-Id: If08ba3fabdad27b2c2aff93b18c3f664728b4348 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
2173b3e0 |
| 30-Sep-2020 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "fpga_generic" into integration
* changes: arm_fpga: Add platform documentation arm_fpga: Add post-build linker script arm_fpga: Add ROM trampoline arm_fpga: Add dev
Merge changes from topic "fpga_generic" into integration
* changes: arm_fpga: Add platform documentation arm_fpga: Add post-build linker script arm_fpga: Add ROM trampoline arm_fpga: Add devicetree file arm_fpga: Remove SPE PMU DT node if SPE is not available arm_fpga: Adjust GICR size in DT to match number of cores fdt: Add function to adjust GICv3 redistributor size drivers: arm: gicv3: Allow detecting number of cores
show more ...
|
| #
b48883c7 |
| 03-Aug-2020 |
Andre Przywara <andre.przywara@arm.com> |
arm_fpga: Add devicetree file
The FPGA images used in Arm Ltd. focus on CPU cores, so they share a common platform, with a minimal set of peripherals (interconnect, GIC, UART). This allows to suppor
arm_fpga: Add devicetree file
The FPGA images used in Arm Ltd. focus on CPU cores, so they share a common platform, with a minimal set of peripherals (interconnect, GIC, UART). This allows to support most platforms with a single devicetree file. The topology and number of CPU cores differ, but those will added at runtime, in BL31. Other adjustments (GICR size, SPE node, command line) are also done at this point.
Add the common devicetree file to TF-A's build system, so it can be build together with BL31. At runtime, the resulting .dtb file should be uploaded to the address given with FPGA_PRELOADED_DTB_BASE at build time.
Change-Id: I3206d6131059502ec96896e95329865452c9d83e Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|