mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support
@ 2026-03-05  3:34 Yuanshen Cao
  2026-03-05  3:34 ` [PATCH v2 1/2] dt-bindings: power: Add Support for Allwinner A733 PCK600 Power Domain Controller Yuanshen Cao
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Yuanshen Cao @ 2026-03-05  3:34 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
	Jernej Skrabec, Samuel Holland, Ulf Hansson
  Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
	linux-pm, Yuanshen Cao, Krzysztof Kozlowski

Hi everyone,

This series is to introduce Allwinner A733 PCK600 Power Domain
Controller.

Allwinner A733 has this one power domain controller, PCK600, which
shares the same BSP drivers according to the package provided by
Radxa[1]. Unlike A523, A733 does not require the resets, and it also has
different delay values. Apart from these, driver wise, everything else
is the same. 

Add support for A733 power domain controller by making resets optional
on sun55i-pck600 driver, adding A733 sunxi_pck600_desc and dt-bindings 
definitions.
Tested on Radxa Cubie A7Z.

[1] https://github.com/radxa/allwinner-bsp

Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>
---
Changes in v2:
- Fit the pd_names into two lines
- Link to v1: https://lore.kernel.org/r/20260304-b4-pck600-a733-v1-0-2f54efdb8cc2@gmail.com

---
Yuanshen Cao (2):
      dt-bindings: power: Add Support for Allwinner A733 PCK600 Power Domain Controller
      pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver

 .../bindings/power/allwinner,sun20i-d1-ppu.yaml    | 17 ++++++++++-
 drivers/pmdomain/sunxi/sun55i-pck600.c             | 35 +++++++++++++++++++---
 .../power/allwinner,sun60i-a733-pck-600.h          | 18 +++++++++++
 3 files changed, 65 insertions(+), 5 deletions(-)
---
base-commit: 0031c06807cfa8aa51a759ff8aa09e1aa48149af
change-id: 20260304-b4-pck600-a733-1790e0e48d49

Best regards,
-- 
Yuanshen Cao <alex.caoys@gmail.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/2] dt-bindings: power: Add Support for Allwinner A733 PCK600 Power Domain Controller
  2026-03-05  3:34 [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support Yuanshen Cao
@ 2026-03-05  3:34 ` Yuanshen Cao
  2026-03-05  3:34 ` [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver Yuanshen Cao
  2026-03-18 18:19 ` [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support Ulf Hansson
  2 siblings, 0 replies; 6+ messages in thread
From: Yuanshen Cao @ 2026-03-05  3:34 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
	Jernej Skrabec, Samuel Holland, Ulf Hansson
  Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
	linux-pm, Yuanshen Cao, Krzysztof Kozlowski

The A733 PCK600, similar to A523 PCK600, is likely a customized version
of ARM PCK-600 power controller. They share the same BSP drivers in the
package provided by Radxa, with the only difference being the lack of
resets.

Therefore, document A733 compatible and make resets required only for
the other models, as well as prepare the PD definitions for future
device trees.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>
---
 .../bindings/power/allwinner,sun20i-d1-ppu.yaml        | 17 ++++++++++++++++-
 .../dt-bindings/power/allwinner,sun60i-a733-pck-600.h  | 18 ++++++++++++++++++
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml b/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml
index a28e75a9cb6a..b97361ce2a00 100644
--- a/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml
+++ b/Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml
@@ -20,6 +20,7 @@ properties:
       - allwinner,sun20i-d1-ppu
       - allwinner,sun55i-a523-pck-600
       - allwinner,sun55i-a523-ppu
+      - allwinner,sun60i-a733-pck-600
 
   reg:
     maxItems: 1
@@ -38,9 +39,23 @@ required:
   - compatible
   - reg
   - clocks
-  - resets
   - '#power-domain-cells'
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - allwinner,sun8i-v853-ppu
+              - allwinner,sun20i-d1-ppu
+              - allwinner,sun55i-a523-pck-600
+              - allwinner,sun55i-a523-ppu
+
+    then:
+      required:
+        - resets
+
 additionalProperties: false
 
 examples:
diff --git a/include/dt-bindings/power/allwinner,sun60i-a733-pck-600.h b/include/dt-bindings/power/allwinner,sun60i-a733-pck-600.h
new file mode 100644
index 000000000000..cf476a005b55
--- /dev/null
+++ b/include/dt-bindings/power/allwinner,sun60i-a733-pck-600.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef _DT_BINDINGS_POWER_SUN60I_A733_PCK600_H_
+#define _DT_BINDINGS_POWER_SUN60I_A733_PCK600_H_
+
+#define PD_VI			0
+#define PD_DE_SYS		1
+#define PD_VE_DEC		2
+#define PD_VE_ENC		3
+#define PD_NPU			4
+#define PD_GPU_TOP		5
+#define PD_GPU_CORE		6
+#define PD_PCIE			7
+#define PD_USB2			8
+#define PD_VO			9
+#define PD_VO1			10
+
+#endif /* _DT_BINDINGS_POWER_SUN60I_A733_PCK600_H_ */

-- 
2.53.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver
  2026-03-05  3:34 [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support Yuanshen Cao
  2026-03-05  3:34 ` [PATCH v2 1/2] dt-bindings: power: Add Support for Allwinner A733 PCK600 Power Domain Controller Yuanshen Cao
@ 2026-03-05  3:34 ` Yuanshen Cao
  2026-03-14  6:53   ` Jernej Škrabec
  2026-03-14  7:40   ` Chen-Yu Tsai
  2026-03-18 18:19 ` [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support Ulf Hansson
  2 siblings, 2 replies; 6+ messages in thread
From: Yuanshen Cao @ 2026-03-05  3:34 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
	Jernej Skrabec, Samuel Holland, Ulf Hansson
  Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
	linux-pm, Yuanshen Cao

The Allwinner A733 PCK600, similar to A523 PCK600, is likely a
customized version of ARM PCK-600 power controller. It shares the same
BSP driver with A523. According to the BSP provided by Radxa, unlike
A523, it doesn't require reset, as well as a different pair of delay
values.

Make reset optional in the sunxi pck600 driver and add support
for A733.

Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>
---
 drivers/pmdomain/sunxi/sun55i-pck600.c | 35 ++++++++++++++++++++++++++++++----
 1 file changed, 31 insertions(+), 4 deletions(-)

diff --git a/drivers/pmdomain/sunxi/sun55i-pck600.c b/drivers/pmdomain/sunxi/sun55i-pck600.c
index c7ab51514531..1d47bbd35ced 100644
--- a/drivers/pmdomain/sunxi/sun55i-pck600.c
+++ b/drivers/pmdomain/sunxi/sun55i-pck600.c
@@ -52,6 +52,7 @@ struct sunxi_pck600_desc {
 	u32 logic_power_switch0_delay;
 	u32 logic_power_switch1_delay;
 	u32 off2on_delay;
+	bool has_rst_clk;
 };
 
 struct sunxi_pck600_pd {
@@ -151,9 +152,11 @@ static int sunxi_pck600_probe(struct platform_device *pdev)
 	if (IS_ERR(base))
 		return PTR_ERR(base);
 
-	rst = devm_reset_control_get_exclusive_released(dev, NULL);
-	if (IS_ERR(rst))
-		return dev_err_probe(dev, PTR_ERR(rst), "failed to get reset control\n");
+	if (desc->has_rst_clk) {
+		rst = devm_reset_control_get_exclusive_released(dev, NULL);
+		if (IS_ERR(rst))
+			return dev_err_probe(dev, PTR_ERR(rst), "failed to get reset control\n");
+	}
 
 	clk = devm_clk_get_enabled(dev, NULL);
 	if (IS_ERR(clk))
@@ -206,7 +209,27 @@ static const struct sunxi_pck600_desc sun55i_a523_pck600_desc = {
 	.device_ctrl1_delay = 0xffff,
 	.logic_power_switch0_delay = 0x8080808,
 	.logic_power_switch1_delay = 0x808,
-	.off2on_delay = 0x8
+	.off2on_delay = 0x8,
+	.has_rst_clk = true,
+};
+
+static const char * const sun60i_a733_pck600_pd_names[] = {
+	"VI", "DE_SYS", "VE_DEC", "VE_ENC", "NPU",
+	"GPU_TOP", "GPU_CORE", "PCIE", "USB2", "VO", "VO1"
+};
+
+static const struct sunxi_pck600_desc sun60i_a733_pck600_desc = {
+	.pd_names = sun60i_a733_pck600_pd_names,
+	.num_domains = ARRAY_SIZE(sun60i_a733_pck600_pd_names),
+	.logic_power_switch0_delay_offset = 0xc00,
+	.logic_power_switch1_delay_offset = 0xc04,
+	.off2on_delay_offset = 0xc10,
+	.device_ctrl0_delay = 0x1f1f1f,
+	.device_ctrl1_delay = 0x1f1f,
+	.logic_power_switch0_delay = 0x8080808,
+	.logic_power_switch1_delay = 0x808,
+	.off2on_delay = 0x8,
+	.has_rst_clk = false,
 };
 
 static const struct of_device_id sunxi_pck600_of_match[] = {
@@ -214,6 +237,10 @@ static const struct of_device_id sunxi_pck600_of_match[] = {
 		.compatible	= "allwinner,sun55i-a523-pck-600",
 		.data		= &sun55i_a523_pck600_desc,
 	},
+	{
+		.compatible	= "allwinner,sun60i-a733-pck-600",
+		.data		= &sun60i_a733_pck600_desc,
+	},
 	{}
 };
 MODULE_DEVICE_TABLE(of, sunxi_pck600_of_match);

-- 
2.53.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver
  2026-03-05  3:34 ` [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver Yuanshen Cao
@ 2026-03-14  6:53   ` Jernej Škrabec
  2026-03-14  7:40   ` Chen-Yu Tsai
  1 sibling, 0 replies; 6+ messages in thread
From: Jernej Škrabec @ 2026-03-14  6:53 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
	Samuel Holland, Ulf Hansson, Yuanshen Cao
  Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
	linux-pm, Yuanshen Cao

Dne četrtek, 5. marec 2026 ob 04:34:08 Srednjeevropski standardni čas je Yuanshen Cao napisal(a):
> The Allwinner A733 PCK600, similar to A523 PCK600, is likely a
> customized version of ARM PCK-600 power controller. It shares the same
> BSP driver with A523. According to the BSP provided by Radxa, unlike
> A523, it doesn't require reset, as well as a different pair of delay
> values.
> 
> Make reset optional in the sunxi pck600 driver and add support
> for A733.
> 
> Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver
  2026-03-05  3:34 ` [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver Yuanshen Cao
  2026-03-14  6:53   ` Jernej Škrabec
@ 2026-03-14  7:40   ` Chen-Yu Tsai
  1 sibling, 0 replies; 6+ messages in thread
From: Chen-Yu Tsai @ 2026-03-14  7:40 UTC (permalink / raw)
  To: Yuanshen Cao
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec,
	Samuel Holland, Ulf Hansson, devicetree, linux-arm-kernel,
	linux-sunxi, linux-kernel, linux-pm

On Thu, Mar 5, 2026 at 11:34 AM Yuanshen Cao <alex.caoys@gmail.com> wrote:
>
> The Allwinner A733 PCK600, similar to A523 PCK600, is likely a
> customized version of ARM PCK-600 power controller. It shares the same
> BSP driver with A523. According to the BSP provided by Radxa, unlike
> A523, it doesn't require reset, as well as a different pair of delay
> values.
>
> Make reset optional in the sunxi pck600 driver and add support
> for A733.
>
> Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>

Reviewed-by: Chen-Yu Tsai <wens@kernel.org> # matched against BSP driver

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support
  2026-03-05  3:34 [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support Yuanshen Cao
  2026-03-05  3:34 ` [PATCH v2 1/2] dt-bindings: power: Add Support for Allwinner A733 PCK600 Power Domain Controller Yuanshen Cao
  2026-03-05  3:34 ` [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver Yuanshen Cao
@ 2026-03-18 18:19 ` Ulf Hansson
  2 siblings, 0 replies; 6+ messages in thread
From: Ulf Hansson @ 2026-03-18 18:19 UTC (permalink / raw)
  To: Yuanshen Cao
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
	Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
	linux-sunxi, linux-kernel, linux-pm, Krzysztof Kozlowski

On Thu, 5 Mar 2026 at 04:34, Yuanshen Cao <alex.caoys@gmail.com> wrote:
>
> Hi everyone,
>
> This series is to introduce Allwinner A733 PCK600 Power Domain
> Controller.
>
> Allwinner A733 has this one power domain controller, PCK600, which
> shares the same BSP drivers according to the package provided by
> Radxa[1]. Unlike A523, A733 does not require the resets, and it also has
> different delay values. Apart from these, driver wise, everything else
> is the same.
>
> Add support for A733 power domain controller by making resets optional
> on sun55i-pck600 driver, adding A733 sunxi_pck600_desc and dt-bindings
> definitions.
> Tested on Radxa Cubie A7Z.
>
> [1] https://github.com/radxa/allwinner-bsp
>
> Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>
> ---
> Changes in v2:
> - Fit the pd_names into two lines
> - Link to v1: https://lore.kernel.org/r/20260304-b4-pck600-a733-v1-0-2f54efdb8cc2@gmail.com
>
> ---
> Yuanshen Cao (2):
>       dt-bindings: power: Add Support for Allwinner A733 PCK600 Power Domain Controller
>       pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver
>
>  .../bindings/power/allwinner,sun20i-d1-ppu.yaml    | 17 ++++++++++-
>  drivers/pmdomain/sunxi/sun55i-pck600.c             | 35 +++++++++++++++++++---
>  .../power/allwinner,sun60i-a733-pck-600.h          | 18 +++++++++++
>  3 files changed, 65 insertions(+), 5 deletions(-)
> ---
> base-commit: 0031c06807cfa8aa51a759ff8aa09e1aa48149af
> change-id: 20260304-b4-pck600-a733-1790e0e48d49
>
> Best regards,
> --
> Yuanshen Cao <alex.caoys@gmail.com>
>

The series applied for next, thanks!

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-03-18 18:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-05  3:34 [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support Yuanshen Cao
2026-03-05  3:34 ` [PATCH v2 1/2] dt-bindings: power: Add Support for Allwinner A733 PCK600 Power Domain Controller Yuanshen Cao
2026-03-05  3:34 ` [PATCH v2 2/2] pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver Yuanshen Cao
2026-03-14  6:53   ` Jernej Škrabec
2026-03-14  7:40   ` Chen-Yu Tsai
2026-03-18 18:19 ` [PATCH v2 0/2] allwinner: a733: Add A733 PCK600 Power Domain Controller Support Ulf Hansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®