[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250707003640.73e08911@minigeek.lan>
Date: Mon, 7 Jul 2025 00:36:40 +0100
From: Andre Przywara <andre.przywara@....com>
To: Chen-Yu Tsai <wens@...nel.org>
Cc: Chen-Yu Tsai <wens@...e.org>, Jernej Skrabec <jernej@...nel.org>, Samuel
Holland <samuel@...lland.org>, Ulf Hansson <ulf.hansson@...aro.org>, Rob
Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor
Dooley <conor+dt@...nel.org>, linux-sunxi@...ts.linux.dev,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH 1/4] dt-bindings: power: Add A523 PPU and PCK600 power
controllers
On Fri, 27 Jun 2025 23:29:15 +0800
Chen-Yu Tsai <wens@...nel.org> wrote:
> From: Chen-Yu Tsai <wens@...e.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@...e.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@....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_ */
Powered by blists - more mailing lists