| #
3e0a087f |
| 04-May-2022 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "allwinner-idle" into integration
* changes: feat(allwinner): provide CPU idle states to the rich OS feat(allwinner): simplify CPU_SUSPEND power state encoding feat(al
Merge changes from topic "allwinner-idle" into integration
* changes: feat(allwinner): provide CPU idle states to the rich OS feat(allwinner): simplify CPU_SUSPEND power state encoding feat(allwinner): choose PSCI states to avoid translation feat(fdt): add the ability to supply idle state information fix(allwinner): improve DTB patching error handling refactor(allwinner): patch the DTB after setting up PSCI refactor(allwinner): move DTB change code into allwinner/common
show more ...
|
| #
159c36fd |
| 19-Mar-2021 |
Samuel Holland <samuel@sholland.org> |
feat(allwinner): choose PSCI states to avoid translation
Aligning the PSCI and SCPI power states avoids some code to translate between the two. This also makes room for an intermediate power state,
feat(allwinner): choose PSCI states to avoid translation
Aligning the PSCI and SCPI power states avoids some code to translate between the two. This also makes room for an intermediate power state, for future firmware capability growth.
Change-Id: I26691085f277a96bd405e3305ab0fe390a92b418 Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| #
abd63ed0 |
| 25-Aug-2021 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "allwinner-r329" into integration
* changes: feat(plat/allwinner): add R329 support refactor(plat/allwinner): allow custom BL31 offset refactor(plat/allwinner): allow
Merge changes from topic "allwinner-r329" into integration
* changes: feat(plat/allwinner): add R329 support refactor(plat/allwinner): allow custom BL31 offset refactor(plat/allwinner): allow new AA64nAA32 position fix(plat/allwinner): delay after enabling CPU power
show more ...
|
| #
f04dfbb2 |
| 23-Jul-2021 |
Icenowy Zheng <icenowy@sipeed.com> |
refactor(plat/allwinner): allow custom BL31 offset
Not all Allwinner SoCs have the same arrangement to SRAM A2.
Allow to specify a offset at which BL31 will stay in SRAM A2.
Change-Id: I574140ffd7
refactor(plat/allwinner): allow custom BL31 offset
Not all Allwinner SoCs have the same arrangement to SRAM A2.
Allow to specify a offset at which BL31 will stay in SRAM A2.
Change-Id: I574140ffd704a796fae0a5c2d0976e85c7fcbdf9 Signed-off-by: Icenowy Zheng <icenowy@sipeed.com>
show more ...
|
| #
81e63f25 |
| 26-Jul-2021 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "allwinner_mmap" into integration
* changes: refactor(plat/allwinner): clean up platform definitions refactor(plat/allwinner): do not map BL32 DRAM at EL3 refactor(pla
Merge changes from topic "allwinner_mmap" into integration
* changes: refactor(plat/allwinner): clean up platform definitions refactor(plat/allwinner): do not map BL32 DRAM at EL3 refactor(plat/allwinner): map SRAM as device memory by default refactor(plat/allwinner): rename static mmap region constant feat(bl_common): import BL_NOBITS_{BASE,END} when defined
show more ...
|
| #
0e54a789 |
| 04-Apr-2021 |
Samuel Holland <samuel@sholland.org> |
refactor(plat/allwinner): clean up platform definitions
Group the SCP base/size definitions in a more logical location.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Id43f9b468d7d8
refactor(plat/allwinner): clean up platform definitions
Group the SCP base/size definitions in a more logical location.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Id43f9b468d7d855a2413173d674a5ee666527808
show more ...
|
| #
8d9efdf8 |
| 14-Dec-2020 |
Samuel Holland <samuel@sholland.org> |
refactor(plat/allwinner): do not map BL32 DRAM at EL3
BL31 does not appear to ever access the DRAM allocated to BL32, so there is no need to map it at EL3.
Signed-off-by: Samuel Holland <samuel@sho
refactor(plat/allwinner): do not map BL32 DRAM at EL3
BL31 does not appear to ever access the DRAM allocated to BL32, so there is no need to map it at EL3.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Ie8727b793e53ea14517894942266f6da0333eb74
show more ...
|
| #
ab74206b |
| 14-Dec-2020 |
Samuel Holland <samuel@sholland.org> |
refactor(plat/allwinner): map SRAM as device memory by default
The SRAM on Allwinner platforms is shared between BL31 and coprocessor firmware. Previously, SRAM was mapped as normal memory by defaul
refactor(plat/allwinner): map SRAM as device memory by default
The SRAM on Allwinner platforms is shared between BL31 and coprocessor firmware. Previously, SRAM was mapped as normal memory by default. This scheme requires carveouts and cache maintenance code for proper synchronization with the coprocessor.
A better scheme is to only map pages owned by BL31 as normal memory, and leave everything else as device memory. This removes the need for cache maintenance, and it makes the mapping for BL31 RW data explicit instead of magic.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I820ddeba2dfa2396361c2322308c0db51b55c348
show more ...
|
| #
bc135624 |
| 14-Dec-2020 |
Samuel Holland <samuel@sholland.org> |
refactor(plat/allwinner): rename static mmap region constant
This constant specifically refers to the number of static mmap regions. Rename it to make that clear.
Signed-off-by: Samuel Holland <sam
refactor(plat/allwinner): rename static mmap region constant
This constant specifically refers to the number of static mmap regions. Rename it to make that clear.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I475c037777ce2a10db2631ec0e7446bb73590a36
show more ...
|
| #
8078b5c5 |
| 30-Mar-2021 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "allwinner_h616" into integration
* changes: allwinner: H616: Add reserved-memory node to DT allwinner: Add Allwinner H616 SoC support allwinner: Add H616 SoC ID all
Merge changes from topic "allwinner_h616" into integration
* changes: allwinner: H616: Add reserved-memory node to DT allwinner: Add Allwinner H616 SoC support allwinner: Add H616 SoC ID allwinner: Express memmap more dynamically allwinner: Move sunxi_cpu_power_off_self() into platforms allwinner: Move SEPARATE_NOBITS_REGION to platforms doc: allwinner: Reorder sections, document memory mapping
show more ...
|
| #
26123ca3 |
| 28-Nov-2020 |
Andre Przywara <andre.przywara@arm.com> |
allwinner: Add Allwinner H616 SoC support
The new Allwinner H616 SoC lacks the management controller and the secure SRAM A2, so we need to tweak the memory map quite substantially: We run BL31 in DR
allwinner: Add Allwinner H616 SoC support
The new Allwinner H616 SoC lacks the management controller and the secure SRAM A2, so we need to tweak the memory map quite substantially: We run BL31 in DRAM. Since the DRAM starts at 1GB, we cannot use our compressed virtual address space (max 256MB) anymore, so we revert to the full 32bit VA space and use a flat mapping throughout all of it.
The missing controller also means we need to always use the native PSCI ops, using the CPUIDLE hardware, as SCPI and suspend depend on the ARISC.
Change-Id: I77169b452cb7f5dc2ef734f3fc6e5d931749141d Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
01cec8f4 |
| 28-Nov-2020 |
Andre Przywara <andre.przywara@arm.com> |
allwinner: Express memmap more dynamically
In preparation for changing the memory map, express the locations of the various code and data pieces more dynamically, allowing SoCs to override the memma
allwinner: Express memmap more dynamically
In preparation for changing the memory map, express the locations of the various code and data pieces more dynamically, allowing SoCs to override the memmap later. Also prepare for the SCP region to become optional.
No functional change.
Change-Id: I7ac01e309be2f23bde2ac2050d8d5b5e3d6efea2 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
be7dc2df |
| 22-Dec-2020 |
André Przywara <andre.przywara@arm.com> |
Merge "allwinner: Fix non-default PRELOADED_BL33_BASE" into integration
|
| #
3d36d8e6 |
| 14-Dec-2020 |
Samuel Holland <samuel@sholland.org> |
allwinner: Fix non-default PRELOADED_BL33_BASE
While the Allwinner platform code nominally supported a custom PRELOADED_BL33_BASE, some references to the BL33 load address used another constant: PLA
allwinner: Fix non-default PRELOADED_BL33_BASE
While the Allwinner platform code nominally supported a custom PRELOADED_BL33_BASE, some references to the BL33 load address used another constant: PLAT_SUNXI_NS_IMAGE_OFFSET. To allow the DTB search code to work if a U-Boot BL33 is loaded to a custom address, consistently use PRELOADED_BL33_BASE. And to avoid this confusion in the future, remove the other constant.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Ie6b97ae1fdec95d784676aef39200bef161471b0
show more ...
|
| #
c335ad48 |
| 26-Feb-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "allwinner: Implement PSCI system suspend using SCPI" into integration
|
| #
7b36a7e9 |
| 26-Feb-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "allwinner: Reserve and map space for the SCP firmware" into integration
|
| #
02ad9cd6 |
| 25-Feb-2020 |
Mark Dykes <mardyk01@review.trustedfirmware.org> |
Merge "allwinner: Adjust SRAM A2 base to include the ARISC vectors" into integration
|
| #
e382c88e |
| 21-Oct-2018 |
Samuel Holland <samuel@sholland.org> |
allwinner: Implement PSCI system suspend using SCPI
If an SCP firmware is present and able to communicate via SCPI, then use that to implement CPU and system power state transitions, including CPU h
allwinner: Implement PSCI system suspend using SCPI
If an SCP firmware is present and able to communicate via SCPI, then use that to implement CPU and system power state transitions, including CPU hotplug and system suspend. Otherwise, fall back to the existing CPU power control implementation.
The last 16 KiB of SRAM A2 are reserved for the SCP firmware, and the SCPI shared memory is at the very end of this region (and therefore the end of SRAM A2). BL31 continues to start at the beginning of SRAM A2 (not counting the ARISC exception vector area) and fills up to the beginning of the SCP firmware.
Because the SCP firmware is not loaded adjacent to the ARISC exception vector area, the jump instructions used for exception handling cannot be included in the SCP firmware image, and must be initialized here before turning on the SCP.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I37b9b9636f94d4125230423726f3ac5e9cdb551c
show more ...
|
| #
57b36632 |
| 29-Dec-2019 |
Samuel Holland <samuel@sholland.org> |
allwinner: Reserve and map space for the SCP firmware
The SCP firmware is allocated the last 16KiB of SRAM A2. This includes the SCPI shared memory area, which must be mapped as MT_DEVICE to prevent
allwinner: Reserve and map space for the SCP firmware
The SCP firmware is allocated the last 16KiB of SRAM A2. This includes the SCPI shared memory area, which must be mapped as MT_DEVICE to prevent problems with cache coherency between the AP CPUs and the SCP. For simplicity, map the whole SCP region as MT_DEVICE.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Ie39eb5ff281b8898a3c1d9748dc08755f528e2f8
show more ...
|
| #
ae3fe6e3 |
| 17-Feb-2019 |
Samuel Holland <samuel@sholland.org> |
allwinner: Adjust SRAM A2 base to include the ARISC vectors
The ARISC vector area consists of 0x4000 bytes before the beginning of usable SRAM. Still, it is technically a part of SRAM A2, so include
allwinner: Adjust SRAM A2 base to include the ARISC vectors
The ARISC vector area consists of 0x4000 bytes before the beginning of usable SRAM. Still, it is technically a part of SRAM A2, so include it in the memory definition. This avoids the confusing practice of subtracting from the beginning of the SRAM region when referencing the ARISC vectors.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: Iae89e01aeab93560159562692e03e88306e2a1bf
show more ...
|
| #
133e6f7e |
| 24-Jan-2020 |
Soby Mathew <soby.mathew@arm.com> |
Merge "allwinner: Unify Platform specific defines for PSCI module" into integration
|
| #
e0b4cc75 |
| 13-Dec-2019 |
Deepika Bhavnani <deepika.bhavnani@arm.com> |
allwinner: Unify Platform specific defines for PSCI module
PLATFORM_CORE_COUNT - Unsigned int PLATFORM_CLUSTER_COUNT - Unsigned int PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int PLATFORM_CORE_COUNT_P
allwinner: Unify Platform specific defines for PSCI module
PLATFORM_CORE_COUNT - Unsigned int PLATFORM_CLUSTER_COUNT - Unsigned int PLATFORM_MAX_CPUS_PER_CLUSTER - Unsigned int PLATFORM_CORE_COUNT_PER_CLUSTER - Unsigned int
Signed-off-by: Deepika Bhavnani <deepika.bhavnani@arm.com> Change-Id: I7aea86891e54522c88af5ff16795a575f9a9322d
show more ...
|
| #
b449642a |
| 21-Jan-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "allwinner: Clean up MMU setup" into integration
|
| #
ddb4c9e0 |
| 27-Oct-2019 |
Samuel Holland <samuel@sholland.org> |
allwinner: Clean up MMU setup
Remove the general BL31 mmap region: it duplicates the existing static mapping for the entire SRAM region. Use the helper definitions when applicable to simplify the co
allwinner: Clean up MMU setup
Remove the general BL31 mmap region: it duplicates the existing static mapping for the entire SRAM region. Use the helper definitions when applicable to simplify the code and add the MT_EXECUTE_NEVER flag.
Signed-off-by: Samuel Holland <samuel@sholland.org> Change-Id: I7a6b79e50e4b5c698774229530dd3d2a89e94a6d
show more ...
|
| #
7bad6e08 |
| 15-Jan-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
Merge "allwinner: Reenable USE_COHERENT_MEM" into integration
|