* [PATCH v2 1/3] dt-bindings: power: add Amlogic A4 power domains
2024-05-29 3:10 [PATCH v2 0/3] Power: A4: add power domain driver Xianwei Zhao via B4 Relay
@ 2024-05-29 3:10 ` Xianwei Zhao via B4 Relay
2024-05-29 3:10 ` [PATCH v2 2/3] pmdomain: amlogic: Add support for A4 power domains controller Xianwei Zhao via B4 Relay
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2024-05-29 3:10 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Jianxin Pan,
Ulf Hansson
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel,
linux-pm, Xianwei Zhao, Krzysztof Kozlowski
From: Xianwei Zhao <xianwei.zhao@amlogic.com>
Add devicetree binding document and related header file for
Amlogic A4 secure power domains.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
.../bindings/power/amlogic,meson-sec-pwrc.yaml | 1 +
include/dt-bindings/power/amlogic,a4-pwrc.h | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/Documentation/devicetree/bindings/power/amlogic,meson-sec-pwrc.yaml b/Documentation/devicetree/bindings/power/amlogic,meson-sec-pwrc.yaml
index dab3d92bc273..59915f9d4860 100644
--- a/Documentation/devicetree/bindings/power/amlogic,meson-sec-pwrc.yaml
+++ b/Documentation/devicetree/bindings/power/amlogic,meson-sec-pwrc.yaml
@@ -20,6 +20,7 @@ properties:
enum:
- amlogic,meson-a1-pwrc
- amlogic,meson-s4-pwrc
+ - amlogic,a4-pwrc
- amlogic,c3-pwrc
- amlogic,t7-pwrc
diff --git a/include/dt-bindings/power/amlogic,a4-pwrc.h b/include/dt-bindings/power/amlogic,a4-pwrc.h
new file mode 100644
index 000000000000..bd2f9c558d22
--- /dev/null
+++ b/include/dt-bindings/power/amlogic,a4-pwrc.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
+/*
+ * Copyright (C) 2024 Amlogic, Inc. All rights reserved
+ */
+#ifndef _DT_BINDINGS_AMLOGIC_A4_POWER_H
+#define _DT_BINDINGS_AMLOGIC_A4_POWER_H
+
+#define PWRC_A4_AUDIO_ID 0
+#define PWRC_A4_SDIOA_ID 1
+#define PWRC_A4_EMMC_ID 2
+#define PWRC_A4_USB_COMB_ID 3
+#define PWRC_A4_ETH_ID 4
+#define PWRC_A4_VOUT_ID 5
+#define PWRC_A4_AUDIO_PDM_ID 6
+#define PWRC_A4_DMC_ID 7
+#define PWRC_A4_SYS_WRAP_ID 8
+#define PWRC_A4_AO_I2C_S_ID 9
+#define PWRC_A4_AO_UART_ID 10
+#define PWRC_A4_AO_IR_ID 11
+
+#endif
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 2/3] pmdomain: amlogic: Add support for A4 power domains controller
2024-05-29 3:10 [PATCH v2 0/3] Power: A4: add power domain driver Xianwei Zhao via B4 Relay
2024-05-29 3:10 ` [PATCH v2 1/3] dt-bindings: power: add Amlogic A4 power domains Xianwei Zhao via B4 Relay
@ 2024-05-29 3:10 ` Xianwei Zhao via B4 Relay
2024-05-29 3:10 ` [PATCH v2 3/3] arm64: dts: amlogic: a4: add power domain controller node Xianwei Zhao via B4 Relay
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2024-05-29 3:10 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Jianxin Pan,
Ulf Hansson
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel,
linux-pm, Xianwei Zhao
From: Xianwei Zhao <xianwei.zhao@amlogic.com>
Add support for A4 power controller. A4 power control
registers are in secure domain, and should be accessed by SMC.
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
drivers/pmdomain/amlogic/meson-secure-pwrc.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/pmdomain/amlogic/meson-secure-pwrc.c b/drivers/pmdomain/amlogic/meson-secure-pwrc.c
index 4d5bda0d60fc..3a84d8a74a5e 100644
--- a/drivers/pmdomain/amlogic/meson-secure-pwrc.c
+++ b/drivers/pmdomain/amlogic/meson-secure-pwrc.c
@@ -14,6 +14,7 @@
#include <dt-bindings/power/amlogic,c3-pwrc.h>
#include <dt-bindings/power/meson-s4-power.h>
#include <dt-bindings/power/amlogic,t7-pwrc.h>
+#include <dt-bindings/power/amlogic,a4-pwrc.h>
#include <linux/arm-smccc.h>
#include <linux/firmware/meson/meson_sm.h>
#include <linux/module.h>
@@ -136,6 +137,24 @@ static struct meson_secure_pwrc_domain_desc a1_pwrc_domains[] = {
SEC_PD(RSA, 0),
};
+static struct meson_secure_pwrc_domain_desc a4_pwrc_domains[] = {
+ SEC_PD(A4_AUDIO, 0),
+ SEC_PD(A4_SDIOA, 0),
+ SEC_PD(A4_EMMC, 0),
+ SEC_PD(A4_USB_COMB, 0),
+ SEC_PD(A4_ETH, 0),
+ SEC_PD(A4_VOUT, 0),
+ SEC_PD(A4_AUDIO_PDM, 0),
+ /* DMC is for DDR PHY ana/dig and DMC, and should be always on */
+ SEC_PD(A4_DMC, GENPD_FLAG_ALWAYS_ON),
+ /* WRAP is secure_top, a lot of modules are included, and should be always on */
+ SEC_PD(A4_SYS_WRAP, GENPD_FLAG_ALWAYS_ON),
+ SEC_PD(A4_AO_I2C_S, 0),
+ SEC_PD(A4_AO_UART, 0),
+ /* IR is wake up trigger source, and should be always on */
+ SEC_PD(A4_AO_IR, GENPD_FLAG_ALWAYS_ON),
+};
+
static struct meson_secure_pwrc_domain_desc c3_pwrc_domains[] = {
SEC_PD(C3_NNA, 0),
SEC_PD(C3_AUDIO, 0),
@@ -311,6 +330,11 @@ static struct meson_secure_pwrc_domain_data meson_secure_a1_pwrc_data = {
.count = ARRAY_SIZE(a1_pwrc_domains),
};
+static struct meson_secure_pwrc_domain_data amlogic_secure_a4_pwrc_data = {
+ .domains = a4_pwrc_domains,
+ .count = ARRAY_SIZE(a4_pwrc_domains),
+};
+
static struct meson_secure_pwrc_domain_data amlogic_secure_c3_pwrc_data = {
.domains = c3_pwrc_domains,
.count = ARRAY_SIZE(c3_pwrc_domains),
@@ -331,6 +355,10 @@ static const struct of_device_id meson_secure_pwrc_match_table[] = {
.compatible = "amlogic,meson-a1-pwrc",
.data = &meson_secure_a1_pwrc_data,
},
+ {
+ .compatible = "amlogic,a4-pwrc",
+ .data = &amlogic_secure_a4_pwrc_data,
+ },
{
.compatible = "amlogic,c3-pwrc",
.data = &amlogic_secure_c3_pwrc_data,
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 3/3] arm64: dts: amlogic: a4: add power domain controller node
2024-05-29 3:10 [PATCH v2 0/3] Power: A4: add power domain driver Xianwei Zhao via B4 Relay
2024-05-29 3:10 ` [PATCH v2 1/3] dt-bindings: power: add Amlogic A4 power domains Xianwei Zhao via B4 Relay
2024-05-29 3:10 ` [PATCH v2 2/3] pmdomain: amlogic: Add support for A4 power domains controller Xianwei Zhao via B4 Relay
@ 2024-05-29 3:10 ` Xianwei Zhao via B4 Relay
2024-06-05 10:07 ` Neil Armstrong
2024-06-05 9:57 ` [PATCH v2 0/3] Power: A4: add power domain driver Ulf Hansson
2024-06-06 9:21 ` (subset) " Neil Armstrong
4 siblings, 1 reply; 8+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2024-05-29 3:10 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Jianxin Pan,
Ulf Hansson
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel,
linux-pm, Xianwei Zhao
From: Xianwei Zhao <xianwei.zhao@amlogic.com>
Add power domain controller node for Amlogic A4 SoC
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi
index 73ca1d7eed81..de10e7aebf21 100644
--- a/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi
+++ b/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi
@@ -4,6 +4,7 @@
*/
#include "amlogic-a4-common.dtsi"
+#include <dt-bindings/power/amlogic,a4-pwrc.h>
/ {
cpus {
#address-cells = <2>;
@@ -37,4 +38,13 @@ cpu3: cpu@3 {
enable-method = "psci";
};
};
+
+ sm: secure-monitor {
+ compatible = "amlogic,meson-gxbb-sm";
+
+ pwrc: power-controller {
+ compatible = "amlogic,a4-pwrc";
+ #power-domain-cells = <1>;
+ };
+ };
};
--
2.37.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v2 3/3] arm64: dts: amlogic: a4: add power domain controller node
2024-05-29 3:10 ` [PATCH v2 3/3] arm64: dts: amlogic: a4: add power domain controller node Xianwei Zhao via B4 Relay
@ 2024-06-05 10:07 ` Neil Armstrong
0 siblings, 0 replies; 8+ messages in thread
From: Neil Armstrong @ 2024-06-05 10:07 UTC (permalink / raw)
To: xianwei.zhao, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Jianxin Pan,
Ulf Hansson
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel,
linux-pm
On 29/05/2024 05:10, Xianwei Zhao via B4 Relay wrote:
> From: Xianwei Zhao <xianwei.zhao@amlogic.com>
>
> Add power domain controller node for Amlogic A4 SoC
>
> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
> ---
> arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi
> index 73ca1d7eed81..de10e7aebf21 100644
> --- a/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi
> @@ -4,6 +4,7 @@
> */
>
> #include "amlogic-a4-common.dtsi"
> +#include <dt-bindings/power/amlogic,a4-pwrc.h>
> / {
> cpus {
> #address-cells = <2>;
> @@ -37,4 +38,13 @@ cpu3: cpu@3 {
> enable-method = "psci";
> };
> };
> +
> + sm: secure-monitor {
> + compatible = "amlogic,meson-gxbb-sm";
> +
> + pwrc: power-controller {
> + compatible = "amlogic,a4-pwrc";
> + #power-domain-cells = <1>;
> + };
> + };
> };
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/3] Power: A4: add power domain driver
2024-05-29 3:10 [PATCH v2 0/3] Power: A4: add power domain driver Xianwei Zhao via B4 Relay
` (2 preceding siblings ...)
2024-05-29 3:10 ` [PATCH v2 3/3] arm64: dts: amlogic: a4: add power domain controller node Xianwei Zhao via B4 Relay
@ 2024-06-05 9:57 ` Ulf Hansson
2024-06-05 10:03 ` Neil Armstrong
2024-06-06 9:21 ` (subset) " Neil Armstrong
4 siblings, 1 reply; 8+ messages in thread
From: Ulf Hansson @ 2024-06-05 9:57 UTC (permalink / raw)
To: xianwei.zhao
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Jianxin Pan,
devicetree, linux-arm-kernel, linux-amlogic, linux-kernel,
linux-pm, Krzysztof Kozlowski
On Wed, 29 May 2024 at 05:10, Xianwei Zhao via B4 Relay
<devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
>
> Add power controller driver support for Amlogic A4 SoC.
>
> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
> ---
> Changes in v2:
> - dts: Move power-controller node to be a child of secure-monitor.
> - dts: Include power head file.
> - Link to v1: https://lore.kernel.org/r/20240528-a4_secpowerdomain-v1-0-2a9d7df9b128@amlogic.com
>
> ---
> Xianwei Zhao (3):
> dt-bindings: power: add Amlogic A4 power domains
> pmdomain: amlogic: Add support for A4 power domains controller
> arm64: dts: amlogic: a4: add power domain controller node
>
> .../bindings/power/amlogic,meson-sec-pwrc.yaml | 1 +
> arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi | 10 ++++++++
> drivers/pmdomain/amlogic/meson-secure-pwrc.c | 28 ++++++++++++++++++++++
> include/dt-bindings/power/amlogic,a4-pwrc.h | 21 ++++++++++++++++
> 4 files changed, 60 insertions(+)
> ---
Patch 1 and 2 applied for next, thanks!
Note that the DT patch (patch1) is also available on the immutable dt branch.
Kind regards
Uffe
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v2 0/3] Power: A4: add power domain driver
2024-06-05 9:57 ` [PATCH v2 0/3] Power: A4: add power domain driver Ulf Hansson
@ 2024-06-05 10:03 ` Neil Armstrong
0 siblings, 0 replies; 8+ messages in thread
From: Neil Armstrong @ 2024-06-05 10:03 UTC (permalink / raw)
To: Ulf Hansson, xianwei.zhao
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Jianxin Pan, devicetree,
linux-arm-kernel, linux-amlogic, linux-kernel, linux-pm,
Krzysztof Kozlowski
On 05/06/2024 11:57, Ulf Hansson wrote:
> On Wed, 29 May 2024 at 05:10, Xianwei Zhao via B4 Relay
> <devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
>>
>> Add power controller driver support for Amlogic A4 SoC.
>>
>> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
>> ---
>> Changes in v2:
>> - dts: Move power-controller node to be a child of secure-monitor.
>> - dts: Include power head file.
>> - Link to v1: https://lore.kernel.org/r/20240528-a4_secpowerdomain-v1-0-2a9d7df9b128@amlogic.com
>>
>> ---
>> Xianwei Zhao (3):
>> dt-bindings: power: add Amlogic A4 power domains
>> pmdomain: amlogic: Add support for A4 power domains controller
>> arm64: dts: amlogic: a4: add power domain controller node
>>
>> .../bindings/power/amlogic,meson-sec-pwrc.yaml | 1 +
>> arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi | 10 ++++++++
>> drivers/pmdomain/amlogic/meson-secure-pwrc.c | 28 ++++++++++++++++++++++
>> include/dt-bindings/power/amlogic,a4-pwrc.h | 21 ++++++++++++++++
>> 4 files changed, 60 insertions(+)
>> ---
>
> Patch 1 and 2 applied for next, thanks!
>
> Note that the DT patch (patch1) is also available on the immutable dt branch.
Thanks, I'll merge it in my arm64-dt branch !
Neil
>
> Kind regards
> Uffe
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: (subset) [PATCH v2 0/3] Power: A4: add power domain driver
2024-05-29 3:10 [PATCH v2 0/3] Power: A4: add power domain driver Xianwei Zhao via B4 Relay
` (3 preceding siblings ...)
2024-06-05 9:57 ` [PATCH v2 0/3] Power: A4: add power domain driver Ulf Hansson
@ 2024-06-06 9:21 ` Neil Armstrong
4 siblings, 0 replies; 8+ messages in thread
From: Neil Armstrong @ 2024-06-06 9:21 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Kevin Hilman,
Jerome Brunet, Martin Blumenstingl, Jianxin Pan, Ulf Hansson,
Xianwei Zhao
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel,
linux-pm, Krzysztof Kozlowski
Hi,
On Wed, 29 May 2024 11:10:32 +0800, Xianwei Zhao wrote:
> Add power controller driver support for Amlogic A4 SoC.
>
>
Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.11/arm64-dt)
[3/3] arm64: dts: amlogic: a4: add power domain controller node
https://git.kernel.org/amlogic/c/c830ead0d16131de93d2020369ede4d670a4123b
These changes has been applied on the intermediate git tree [1].
The v6.11/arm64-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.
In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].
The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.
If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
--
Neil
^ permalink raw reply [flat|nested] 8+ messages in thread