[PATCH v4 0/4] Allwinner R528/T113s PSCI
Sam Edwards
cfsworks at gmail.com
Thu Oct 12 03:47:52 CEST 2023
Hi list,
This is the third, and hopefully final, version of my patchset for PSCI support
on R528/T113-s3. This one, as always, depends on Andre Przywara's T113s support
series (v2), available on the list and also located on a Git branch at:
https://source.denx.de/u-boot/custodians/u-boot-sunxi.git t113s-v2
NOTE THAT THIS ALSO depends on the following commit on master:
3d5e52bd97 ("ARM: psci: move GIC address override to Kconfig")
For testing: I can confirm that patch 2/4 results in no change to machine code
whatsoever on any supported target. Patch 1/4 results in a minor machine code
change on R40 only. Patch 3/4 will likely require testing on each of the 4
"special case" sunxi targets (sun6i, sun7i, R40, H3) to ensure that register
offsets are kept consistent. Patch 4/4 needs testing on R528 only.
Warm regards,
Sam
Changes v3->v4:
- The GIC base address override is done through Kconfig, instead of in
sunxi-common.h
Changes v2->v3:
- Fix missing `cpu=0;` for the sun7i power management case.
- Make sunxi_cpu_power_off() a static function, per feedback on v2.
- Kevin Amadiva of MEC electronics got in touch with me off-list, reported
success bringing up CPU1 of a T113 with this patchset, and kindly provided
me with a Tested-by tag for patch 4/4.
- Remove a comment about R40/R528 being special, per feedback on v2.
- Simplify an if statement, per feedback on v2.
- Add missing 'select' directives to the R528 Kconfig, per feedback on v2.
Changes v1->v2:
- Power clamp is now adjusted ONLY on sun{6,7}i, H3, R40. The previous version
was mistakenly doing this EXCEPT on those machines.
- Flattened sunxi_power_switch() into sunxi_cpu_set_power() for simplicity's
sake.
- Moved the "power clamp is not NULL" conditional into sunxi_cpu_set_power().
- Removed unnecessary H6 special-case, since H6 is actually ARM64.
- Renamed SUNXI_CPUX_BASE to SUNXI_CPUCFG_BASE, to mirror expected changes in
Andre's v2 of the R528 series (we decided against using a new name for this
block).
- Removed sunxi_cpucfg_reg struct, and stopped using the PRCM struct in psci.c.
Sam Edwards (4):
sunxi: psci: clean away preprocessor macros
sunxi: psci: refactor register access to separate functions
sunxi: psci: stop modeling register layout with C structs
sunxi: psci: implement PSCI on R528
arch/arm/cpu/armv7/Kconfig | 3 +-
arch/arm/cpu/armv7/sunxi/psci.c | 185 ++++++++++++++---------
arch/arm/include/asm/arch-sunxi/cpucfg.h | 67 --------
arch/arm/mach-sunxi/Kconfig | 4 +
4 files changed, 121 insertions(+), 138 deletions(-)
delete mode 100644 arch/arm/include/asm/arch-sunxi/cpucfg.h
--
2.41.0
More information about the U-Boot
mailing list