Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Cortex-r52 #42220

Closed

Commits on Mar 2, 2022

  1. arch: arm: Add support for Cortex-R52

    Cortex-R52 is an ARMv8-R processor with AArch32 profile.
    
    Signed-off-by: Julien Massot <julien.massot@iot.bzh>
    Julien Massot authored and julien-massot committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    4fc8e5a View commit details
    Browse the repository at this point in the history
  2. arch: arm: cortex_a_r: Add support to start in HYP mode

    The ARMv8-R processors always boot into Hyp mode (EL2)
    
    To enter EL1:
    Program the HACTLR register because it defaults
    to only allowing EL2 accesses. HACTLR controls
    whether EL1 can access memory region registers and CPUACTLR.
    Program the SPSR before entering EL1.
    Other registers default to allowing accesses at EL1 from reset.
    Set VBAR to the correct location for the vector table.
    Set ELR to point to the entry point of the EL1 code and call ERET.
    
    Signed-off-by: Julien Massot <julien.massot@iot.bzh>
    Julien Massot authored and julien-massot committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    c93efd2 View commit details
    Browse the repository at this point in the history
  3. include: arch: arm: Add Armv8 AArch32 lib_helpers.h

    lib_helpers makes easier to access cp15 based registers,
    it is inspired from arm64 lib_helpers but use
    MRC instead of MRS and use cp15 register.
    
    Definitions on how to access system registers for AArch32
    Armv8 processors can be found in the document:
    Arm Architecture Reference Manual Armv8,
    for Armv8-A architecture profile
    
    Signed-off-by: Julien Massot <julien.massot@iot.bzh>
    Julien Massot authored and julien-massot committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    7c90901 View commit details
    Browse the repository at this point in the history
  4. arch: arm: aarch32: add ARMv8 timer

    This is mostly a copy of the existing arm64 implementation,
    at the difference that the AArch32 registers do not mention the
    execution level.
    
    Signed-off-by: Julien Massot <julien.massot@iot.bzh>
    Julien Massot authored and julien-massot committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    61e670e View commit details
    Browse the repository at this point in the history
  5. arch: arm: cortex_a_r: add MPIDR and SG1R definition

    These definitions are required to be able to use GICv3
    interrupts controller on an ARMv8 AArch32 processor.
    
    Signed-off-by: Julien Massot <julien.massot@iot.bzh>
    Julien Massot authored and julien-massot committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    fba0cc0 View commit details
    Browse the repository at this point in the history
  6. arm: add dummy implementation of arch_curr_cpu

    This is required by drivers which query the current cpu,
    at this moment there is no arm aarch32 that use smp,
    so it seems safe to consider that the current cpu is
    always the first one.
    
    This patch enable the use of the GICv3 driver on
    ARM 32bits cpu.
    
    Signed-off-by: Julien Massot <julien.massot@iot.bzh>
    Julien Massot authored and julien-massot committed Mar 2, 2022
    Configuration menu
    Copy the full SHA
    1c4d5f9 View commit details
    Browse the repository at this point in the history