[PATCH v3 0/5] allwinner: a523: Add power controllers

Chen-Yu Tsai wens at kernel.org
Sat Jul 12 00:40:16 PDT 2025


From: Chen-Yu Tsai <wens at csie.org>

Hi folks,

This is v3 of my A523 power controllers series.

Changes since v2:
- pck600 driver:
  - Fixed whitespace issue
  - Added explanation about possible PCK-600 lineage and document
    references to driver
  - Changed Kconfig option to tristate
  - Rewrote Kconfig option help text to make it clear that the driver
    is required for certain peripherals to work
  - Made it depend on ARCH_SUNXI or COMPILE_TEST
  - Made it enabled by default for ARCH_SUNXI
  - Renamed PPU_PWSR_PWR_STATUS to PPU_PWR_STATUS, and added a comment
    to note the macro is shared between two registers
- New patch changing sun20i-ppu driver to tristate, and enable by
  default for ARCH_SUNXI
- Fixed pck-600 header path in dtsi file
- Link to v2:
  https://lore.kernel.org/all/20250709155343.3765227-1-wens@kernel.org/

Changes since v1:
- Re-order compatible string entries
- Fix name of header file to match compatible string
- Link to v1:
  https://lore.kernel.org/all/20250627152918.2606728-1-wens@kernel.org/

This series adds the power controllers found in the Allwinner A523
family of SoCs. There are two power controllers. One is the same type
as those found in the D1 SoC, just with a different number of valid
power domains. The second is (I assume) a unit based on ARM's PCK-600
power controller. Some of the registers and values match up, but there
are extra registers for delay controls in the PCK-600's reserved
register range.

Patch 1 adds new compatible string entries for both of these
controllers.

Patch 2 adds support for the A523 PPU to the existing D1 PPU driver.

Patch 3 adds a new driver of the PCK-600 unit in the A523 SoC.

Patch 4 aligns Kconfig dependencies and default for SUN20I_PPU with the
new PCK-600 driver.

Patch 5 adds device nodes for both of these controllers.


Please have a look. The power controllers are critical for enabling more
peripherals, such as display output, camera input, video codecs, the NPU,
and a second DWMAC-compatible ethernet interface.


Thanks
ChenYu


Chen-Yu Tsai (5):
  dt-bindings: power: Add A523 PPU and PCK600 power controllers
  pmdomain: sunxi: sun20i-ppu: add A523 support
  pmdomain: sunxi: add driver for Allwinner A523's PCK-600 power
    controller
  pmdomain: sunxi: sun20i-ppu: change to tristate and enable for
    ARCH_SUNXI
  arm64: dts: allwinner: a523: Add power controller device nodes

 .../power/allwinner,sun20i-d1-ppu.yaml        |   4 +-
 .../arm64/boot/dts/allwinner/sun55i-a523.dtsi |  18 ++
 drivers/pmdomain/sunxi/Kconfig                |  19 +-
 drivers/pmdomain/sunxi/Makefile               |   1 +
 drivers/pmdomain/sunxi/sun20i-ppu.c           |  17 ++
 drivers/pmdomain/sunxi/sun55i-pck600.c        | 234 ++++++++++++++++++
 .../power/allwinner,sun55i-a523-pck-600.h     |  15 ++
 .../power/allwinner,sun55i-a523-ppu.h         |  12 +
 8 files changed, 316 insertions(+), 4 deletions(-)
 create mode 100644 drivers/pmdomain/sunxi/sun55i-pck600.c
 create mode 100644 include/dt-bindings/power/allwinner,sun55i-a523-pck-600.h
 create mode 100644 include/dt-bindings/power/allwinner,sun55i-a523-ppu.h

-- 
2.39.5




More information about the linux-arm-kernel mailing list