| aad23f1a | 02-Sep-2022 |
Stephan Gerhold <stephan@gerhold.net> |
feat(msm8916): allow selecting which UART to use
At the moment the msm8916 platform port always uses UART number 2 for debug output. In some situations it is necessary to change this, either because
feat(msm8916): allow selecting which UART to use
At the moment the msm8916 platform port always uses UART number 2 for debug output. In some situations it is necessary to change this, either because only the other UART is exposed on the board or for runtime debugging, to avoid conflicting with the normal world.
Make the UART to use configurable using QTI_UART_NUM on the make command line and also add QTI_RUNTIME_UART as an option to keep using the UART after early boot. The latter is disabled by default since it requires reserving the UART and related clocks inside the normal world.
Change-Id: I14725f954bbcecebcf317e8601922a3d00f2ec28 Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
show more ...
|
| 6b8f9e16 | 25-Mar-2023 |
Stephan Gerhold <stephan@gerhold.net> |
feat(msm8916): add Test Secure Payload (TSP) port
Use the new shared msm8916 setup code to easily allow compiling the Test Secure Payload (TSP) for the msm8916 platform.
Unlike BL31, TSP only calls
feat(msm8916): add Test Secure Payload (TSP) port
Use the new shared msm8916 setup code to easily allow compiling the Test Secure Payload (TSP) for the msm8916 platform.
Unlike BL31, TSP only calls msm8916_platform_setup() but not msm8916_configure() because this is already done in BL31.
Change-Id: I3225ef9e61387d49870e9759ffd5b899a8805961 Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
show more ...
|
| af644731 | 01-Dec-2021 |
Stephan Gerhold <stephan@gerhold.net> |
feat(msm8916): setup hardware for non-secure world
Booting e.g. Linux in the non-secure world does not work with the msm8916 port yet because essential hardware is not made available to the non-secu
feat(msm8916): setup hardware for non-secure world
Booting e.g. Linux in the non-secure world does not work with the msm8916 port yet because essential hardware is not made available to the non-secure world. Add more platform initialization to:
- Initialize the GICv2 and mark secure interrupts. Only secure SGIs/PPIs so far. Override the GICD_PIDR2_GICV2 register address in platform_def.h to avoid a failing assert() because of a (hardware) mistake in Qualcomm's GICv2 implementation.
- Make a timer frame available to the non-secure world. The "Qualcomm Timer" (QTMR) implements the ARM generic timer specification, so the standard defines (CNTACR_BASE etc) can be used.
- Make parts of the "APCS" register region available to the non-secure world, e.g. for CPU frequency control implemented in Linux.
- Initialize a platform-specific register to route all SMMU context bank interrupts to the non-secure interrupt pin, since all control of the SMMUs is left up to the non-secure world for now.
Change-Id: Icf676437b8e329dead06658e177107dfd0ba4f9d Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
show more ...
|