[PATCH 1/4] dt-bindings: power: Add A523 PPU and PCK600 power controllers
Andre Przywara
andre.przywara at arm.com
Sun Jul 6 16:36:40 PDT 2025
On Fri, 27 Jun 2025 23:29:15 +0800
Chen-Yu Tsai <wens at kernel.org> wrote:
> From: Chen-Yu Tsai <wens at csie.org>
>
> The A523 PPU is likely the same kind of hardware seen on previous SoCs.
>
> The A523 PCK600, as the name suggests, is likely a customized version
> of ARM's PCK-600 power controller. Comparing the BSP driver against
> ARM's PPU datasheet shows that the basic registers line up, but
> Allwinner's hardware has some additional delay controls in the reserved
> register range. As such it is likely not fully compatible with the
> standard ARM version.
>
> Document A523 PPU and PCK600 compatibles.
>
> Signed-off-by: Chen-Yu Tsai <wens at csie.org>
Both PPUs are merely mentioned in the user manual, but do not have a
register description. But the BSP source code confirms the mapping of
the power domains used below, so:
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> ---
> .../bindings/power/allwinner,sun20i-d1-ppu.yaml | 2 ++
> .../power/allwinner,sun55i-a523-pck600.h | 15 +++++++++++++++
> .../dt-bindings/power/allwinner,sun55i-a523-ppu.h | 12 ++++++++++++
> 3 files changed, 29 insertions(+)
> create mode 100644 include/dt-bindings/power/allwinner,sun55i-a523-pck600.h
> create mode 100644 include/dt-bindings/power/allwinner,sun55i-a523-ppu.h
>
> diff --git a/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml b/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml
> index f578be6a3bc8..b9f550994512 100644
> --- a/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml
> +++ b/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml
> @@ -18,6 +18,8 @@ properties:
> enum:
> - allwinner,sun20i-d1-ppu
> - allwinner,sun8i-v853-ppu
> + - allwinner,sun55i-a523-ppu
> + - allwinner,sun55i-a523-pck-600
>
> reg:
> maxItems: 1
> diff --git a/include/dt-bindings/power/allwinner,sun55i-a523-pck600.h b/include/dt-bindings/power/allwinner,sun55i-a523-pck600.h
> new file mode 100644
> index 000000000000..6b3d8ea7bb69
> --- /dev/null
> +++ b/include/dt-bindings/power/allwinner,sun55i-a523-pck600.h
> @@ -0,0 +1,15 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +
> +#ifndef _DT_BINDINGS_POWER_SUN55I_A523_PCK600_H_
> +#define _DT_BINDINGS_POWER_SUN55I_A523_PCK600_H_
> +
> +#define PD_VE 0
> +#define PD_GPU 1
> +#define PD_VI 2
> +#define PD_VO0 3
> +#define PD_VO1 4
> +#define PD_DE 5
> +#define PD_NAND 6
> +#define PD_PCIE 7
> +
> +#endif /* _DT_BINDINGS_POWER_SUN55I_A523_PCK600_H_ */
> diff --git a/include/dt-bindings/power/allwinner,sun55i-a523-ppu.h b/include/dt-bindings/power/allwinner,sun55i-a523-ppu.h
> new file mode 100644
> index 000000000000..bc9aba73c19a
> --- /dev/null
> +++ b/include/dt-bindings/power/allwinner,sun55i-a523-ppu.h
> @@ -0,0 +1,12 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +
> +#ifndef _DT_BINDINGS_POWER_SUN55I_A523_PPU_H_
> +#define _DT_BINDINGS_POWER_SUN55I_A523_PPU_H_
> +
> +#define PD_DSP 0
> +#define PD_NPU 1
> +#define PD_AUDIO 2
> +#define PD_SRAM 3
> +#define PD_RISCV 4
> +
> +#endif /* _DT_BINDINGS_POWER_SUN55I_A523_PPU_H_ */
More information about the linux-arm-kernel
mailing list