* [PATCH v2 1/4] dt-bindings: reset: Add compatible for Amlogic S6/S7/S7D
2025-12-23 5:37 [PATCH v2 0/4] Add support for Amlogic S6/S7/S7D Reset Xianwei Zhao via B4 Relay
@ 2025-12-23 5:37 ` Xianwei Zhao via B4 Relay
2025-12-24 23:13 ` Martin Blumenstingl
2025-12-23 5:37 ` [PATCH v2 2/4] arm64: dts: amlogic: Add S6 Reset Controller Xianwei Zhao via B4 Relay
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2025-12-23 5:37 UTC (permalink / raw)
To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel,
Xianwei Zhao, Conor Dooley
From: Xianwei Zhao <xianwei.zhao@amlogic.com>
Add compatibles for Amlogic S6/S7/S7D reset controllers,
which fall back to 'amlogic,meson-s4-reset'.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
Documentation/devicetree/bindings/reset/amlogic,meson-reset.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/reset/amlogic,meson-reset.yaml b/Documentation/devicetree/bindings/reset/amlogic,meson-reset.yaml
index 150e95c0d9be..ab0239cf16e5 100644
--- a/Documentation/devicetree/bindings/reset/amlogic,meson-reset.yaml
+++ b/Documentation/devicetree/bindings/reset/amlogic,meson-reset.yaml
@@ -25,6 +25,9 @@ properties:
- enum:
- amlogic,a4-reset
- amlogic,a5-reset
+ - amlogic,s6-reset
+ - amlogic,s7-reset
+ - amlogic,s7d-reset
- const: amlogic,meson-s4-reset
reg:
--
2.52.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2 1/4] dt-bindings: reset: Add compatible for Amlogic S6/S7/S7D
2025-12-23 5:37 ` [PATCH v2 1/4] dt-bindings: reset: Add compatible for Amlogic S6/S7/S7D Xianwei Zhao via B4 Relay
@ 2025-12-24 23:13 ` Martin Blumenstingl
0 siblings, 0 replies; 9+ messages in thread
From: Martin Blumenstingl @ 2025-12-24 23:13 UTC (permalink / raw)
To: xianwei.zhao
Cc: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, devicetree,
linux-arm-kernel, linux-amlogic, linux-kernel, Conor Dooley
On Tue, Dec 23, 2025 at 6:37 AM Xianwei Zhao via B4 Relay
<devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
>
> From: Xianwei Zhao <xianwei.zhao@amlogic.com>
>
> Add compatibles for Amlogic S6/S7/S7D reset controllers,
> which fall back to 'amlogic,meson-s4-reset'.
>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 2/4] arm64: dts: amlogic: Add S6 Reset Controller
2025-12-23 5:37 [PATCH v2 0/4] Add support for Amlogic S6/S7/S7D Reset Xianwei Zhao via B4 Relay
2025-12-23 5:37 ` [PATCH v2 1/4] dt-bindings: reset: Add compatible for Amlogic S6/S7/S7D Xianwei Zhao via B4 Relay
@ 2025-12-23 5:37 ` Xianwei Zhao via B4 Relay
2025-12-24 23:13 ` Martin Blumenstingl
2025-12-23 5:37 ` [PATCH v2 3/4] arm64: dts: amlogic: Add S7 " Xianwei Zhao via B4 Relay
2025-12-23 5:37 ` [PATCH v2 4/4] arm64: dts: amlogic: Add S7D " Xianwei Zhao via B4 Relay
3 siblings, 1 reply; 9+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2025-12-23 5:37 UTC (permalink / raw)
To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, Xianwei Zhao
From: Xianwei Zhao <xianwei.zhao@amlogic.com>
Add the device node and related header file for Amlogic
S6 reset controller.
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
arch/arm64/boot/dts/amlogic/amlogic-s6-reset.h | 171 +++++++++++++++++++++++++
arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi | 8 ++
2 files changed, 179 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s6-reset.h b/arch/arm64/boot/dts/amlogic/amlogic-s6-reset.h
new file mode 100644
index 000000000000..90bf5a182046
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/amlogic-s6-reset.h
@@ -0,0 +1,171 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+/*
+ * Copyright (c) 2025 Amlogic, Inc. All rights reserved.
+ */
+
+#ifndef _DT_BINDINGS_AMLOGIC_S6_RESET_H
+#define _DT_BINDINGS_AMLOGIC_S6_RESET_H
+
+/* RESET0 */
+/* 0-1 */
+#define RESET_U3DRD_USB3PHY_APB 2
+#define RESET_U3DRD_USB3PHY 3
+#define RESET_U3DRD_USB2PHY 4
+#define RESET_U3DRD 5
+#define RESET_U3DRD_COMB 6
+#define RESET_U2DRD 7
+#define RESET_U2DRD_COMB 8
+#define RESET_U2DRD_USB2PHY 9
+#define RESET_USB_CC 10
+#define RESET_BC 11
+#define RESET_VC9000E_APB 12
+#define RESET_VC9000E 13
+#define RESET_VC9000E_CORE 14
+#define RESET_HDMI20_AES 15
+#define RESET_HDMITX_CAPB3 16
+#define RESET_BRQ_VCBUS_DEC 17
+#define RESET_VCBUS 18
+#define RESET_VID_PLL_DIV 19
+#define RESET_VDI6 20
+/* 21 */
+#define RESET_HDMITXPHY 22
+#define RESET_VID_LOCK 23
+#define RESET_VENCL 24
+#define RESET_VDAC 25
+#define RESET_VENCP 26
+#define RESET_VENCI 27
+#define RESET_RDMA 28
+#define RESET_HDMITX 29
+#define RESET_VIU 30
+#define RESET_VENC 31
+
+/* RESET1 */
+#define RESET_AUDIO 32
+#define RESET_MALI_CAPB3 33
+#define RESET_MALI 34
+#define RESET_DDR_APB 35
+#define RESET_DDR 36
+#define RESET_DOS_CAPB3 37
+#define RESET_DOS 38
+#define RESET_MALI_SYS 39
+#define RESET_I_DSPA 40
+#define RESET_I_DEBUGA 41
+#define RESET_U3P2_PHY_APB 42
+#define RESET_PCIE_PIPE 43
+#define RESET_PCIE_A 44
+#define RESET_PCIE_PHY 45
+#define RESET_PCIE_APB 46
+#define RESET_AMFC_APB 47
+#define RESET_ETHERNET 48
+/* 49-50 */
+#define RESET_BRG_ETH_APB_SYNC 51
+#define RESET_VICP 52
+#define RESET_DEWARP 53
+#define RESET_GE2D 54
+#define RESET_VGE 55
+#define RESET_PCIE0 56
+#define RESET_PCIE1 57
+#define RESET_PCIE2 58
+#define RESET_PCIE3 59
+#define RESET_PCIE4 60
+#define RESET_PCIE5 61
+#define RESET_PCIE6 62
+#define RESET_PCIE7 63
+
+/* RESET2 */
+#define RESET_AM2AXI 64
+#define RESET_IR_CTRL 65
+#define RESET_MIPI_DSI_PHY 66
+#define RESET_TS_PLL 67
+#define RESET_MIPI_CSI2_PHY0 68
+#define RESET_ETH_AXI 69
+/* 70-71 */
+#define RESET_SMART_CARD 72
+#define RESET_SPICC_0 73
+#define RESET_BRG_VGE_PIPE1 74
+#define RESET_BRG_VC9000E_PIPE1 75
+#define RESET_BRG_AMFC_PIPE1 76
+/* 77 */
+#define RESET_NNA_APB 78
+#define RESET_NNA 79
+#define RESET_MSR_CLK 80
+/* 81 */
+#define RESET_SAR_DIG 82
+#define RESET_SAR_ANA 83
+/* 84-85 */
+#define RESET_AMFC 86
+/* 87-88 */
+#define RESET_CEC 89
+/* 90 */
+#define RESET_WATCHDOG 91
+/* 92 */
+#define RESET_MIP_DSI_HOST 93
+/* 94-95 */
+
+/* RESET3 */
+/* 96 ~ 127 */
+
+/* RESET4 */
+#define RESET_PWM_A 128
+#define RESET_PWM_B 129
+#define RESET_PWM_C 130
+#define RESET_PWM_D 131
+#define RESET_PWM_E 132
+#define RESET_PWM_F 133
+#define RESET_PWM_G 134
+#define RESET_PWM_H 135
+#define RESET_PWM_I 136
+#define RESET_PWM_J 137
+#define RESET_UART_A 138
+#define RESET_UART_B 139
+#define RESET_UART_C 140
+#define RESET_UART_D 141
+#define RESET_UART_E 142
+/* 143 */
+#define RESET_I2C_S_A 144
+#define RESET_I2C_M_A 145
+#define RESET_I2C_M_B 146
+#define RESET_I2C_M_C 147
+#define RESET_I2C_M_D 148
+#define RESET_I2C_M_E 149
+/* 150-151 */
+#define RESET_SDEMMC_A 152
+#define RESET_SDEMMC_B 153
+#define RESET_SDEMMC_C 154
+/* 155-159 */
+
+/* RESET5 */
+#define RESET_BRG_VDEC_PIPE 160
+#define RESET_BRG_SDIOA_PIPE 161
+#define RESET_BRG_SDIOB_PIPE 162
+#define RESET_BRG_EMMC_PIPE 163
+#define RESET_BRG_GE2D_DMC_PIPE 164
+#define RESET_BRG_DMC_VPU_PIPE1 165
+#define RESET_BRG_A53_DMC_PIPE1 166
+#define RESET_BRG_MALI_DMC_PIPE 167
+/* 168 */
+#define RESET_BRG_MALI_DMC_PIPE1 169
+#define RESET_BRG_U2DRD_PIPE 170
+#define RESET_BRG_U2H_PIPE 171
+#define RESET_BRG_HEVCF_PIPE1 172
+#define RESET_BRG_AMBUS_ETH_PIPE1 173
+#define RESET_BRG_SRAM_NIC_NNA 174
+#define RESET_BRG_SRAM_NIC_MAIN 175
+#define RESET_BRG_SRAM_NIC_DEV 176
+#define RESET_BRG_SRAM_NIC_CPU 177
+#define RESET_BRG_SRAM_NIC_ALL 178
+#define RESET_BRG_CPU_NIC_RAMA 179
+#define RESET_BRG_CPU_NIC_VAPB 180
+#define RESET_BRG_CPU_NIC_DSU 181
+#define RESET_BRG_CPU_NIC_CLK81 182
+#define RESET_BRG_CPU_NIC_ALL 183
+#define RESET_BRG_NIC_CAPU 184
+#define RESET_BRG_AO_NIC_EMMC 185
+#define RESET_BRG_AO_NIC_DSPA 186
+#define RESET_BRG_AO_NIC_SDIOB 187
+#define RESET_BRG_AO_NIC_SDIOA 188
+#define RESET_BRG_AO_NIC_CLK81 189
+#define RESET_BRG_AO_NIC_MAIN 190
+#define RESET_BRG_AO_NIC_ALL 191
+
+#endif
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi
index 8ef631939033..386244b3a1f5 100644
--- a/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi
+++ b/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/amlogic,pinctrl.h>
#include <dt-bindings/power/amlogic,s6-pwrc.h>
+#include "amlogic-s6-reset.h"
/ {
cpus {
#address-cells = <2>;
@@ -104,6 +105,13 @@ uart_b: serial@7a000 {
status = "disabled";
};
+ reset: reset-controller@2000 {
+ compatible = "amlogic,s6-reset",
+ "amlogic,meson-s4-reset";
+ reg = <0x0 0x2000 0x0 0x98>;
+ #reset-cells = <1>;
+ };
+
periphs_pinctrl: pinctrl@4000 {
compatible = "amlogic,pinctrl-s6";
#address-cells = <2>;
--
2.52.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2 2/4] arm64: dts: amlogic: Add S6 Reset Controller
2025-12-23 5:37 ` [PATCH v2 2/4] arm64: dts: amlogic: Add S6 Reset Controller Xianwei Zhao via B4 Relay
@ 2025-12-24 23:13 ` Martin Blumenstingl
0 siblings, 0 replies; 9+ messages in thread
From: Martin Blumenstingl @ 2025-12-24 23:13 UTC (permalink / raw)
To: xianwei.zhao
Cc: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, devicetree,
linux-arm-kernel, linux-amlogic, linux-kernel
On Tue, Dec 23, 2025 at 6:37 AM Xianwei Zhao via B4 Relay
<devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
[...]
> +#define RESET_MIP_DSI_HOST 93
should this be RESET_MIPI_DSI_HOST?
With either the typo fixed, or an explanation why MIP_DSI_HOST is correct:
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 3/4] arm64: dts: amlogic: Add S7 Reset Controller
2025-12-23 5:37 [PATCH v2 0/4] Add support for Amlogic S6/S7/S7D Reset Xianwei Zhao via B4 Relay
2025-12-23 5:37 ` [PATCH v2 1/4] dt-bindings: reset: Add compatible for Amlogic S6/S7/S7D Xianwei Zhao via B4 Relay
2025-12-23 5:37 ` [PATCH v2 2/4] arm64: dts: amlogic: Add S6 Reset Controller Xianwei Zhao via B4 Relay
@ 2025-12-23 5:37 ` Xianwei Zhao via B4 Relay
2025-12-24 23:15 ` Martin Blumenstingl
2025-12-23 5:37 ` [PATCH v2 4/4] arm64: dts: amlogic: Add S7D " Xianwei Zhao via B4 Relay
3 siblings, 1 reply; 9+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2025-12-23 5:37 UTC (permalink / raw)
To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, Xianwei Zhao
From: Xianwei Zhao <xianwei.zhao@amlogic.com>
Add the device node and related header file for Amlogic
S7 reset controller.
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
arch/arm64/boot/dts/amlogic/amlogic-s7-reset.h | 124 +++++++++++++++++++++++++
arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi | 8 ++
2 files changed, 132 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s7-reset.h b/arch/arm64/boot/dts/amlogic/amlogic-s7-reset.h
new file mode 100644
index 000000000000..243136aaf8ec
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/amlogic-s7-reset.h
@@ -0,0 +1,124 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+/*
+ * Copyright (c) 2025 Amlogic, Inc. All rights reserved.
+ */
+
+#ifndef _DT_BINDINGS_AMLOGIC_S7_RESET_H
+#define _DT_BINDINGS_AMLOGIC_S7_RESET_H
+
+/* RESET0 */
+#define RESET_USB_DDR0 0
+#define RESET_USB_DDR1 1
+#define RESET_USB_DDR2 2
+#define RESET_USB_DDR3 3
+#define RESET_USB1 4
+#define RESET_USB0 5
+#define RESET_USB1_COMB 6
+#define RESET_USB0_COMB 7
+#define RESET_USBPHY20 8
+#define RESET_USBPHY21 9
+/* 10-14 */
+#define RESET_HDMI20_AES 15
+#define RESET_HDMITX_CAPB3 16
+#define RESET_BRG_VCBUS_DEC 17
+#define RESET_VCBUS 18
+#define RESET_VID_PLL_DIV 19
+#define RESET_VIDEO6 20
+#define RESET_GE2D 21
+#define RESET_HDMITXPHY 22
+#define RESET_VID_LOCK 23
+#define RESET_VENCL 24
+#define RESET_VDAC 25
+#define RESET_VENCP 26
+#define RESET_VENCI 27
+#define RESET_RDMA 28
+#define RESET_HDMI_TX 29
+#define RESET_VIU 30
+#define RESET_VENC 31
+
+/* RESET1 */
+#define RESET_AUDIO 32
+#define RESET_MALI_CAPB3 33
+#define RESET_MALI 34
+#define RESET_DDR_APB 35
+#define RESET_DDR 36
+#define RESET_DOS_CAPB3 37
+#define RESET_DOS 38
+/* 39-47 */
+#define RESET_ETH 48
+/* 49-63 */
+
+/* RESET2 */
+#define RESET_AM2AXI 64
+#define RESET_IR_CTRL 65
+/* 66 */
+#define RESET_TEMPSENSOR_PLL 67
+/* 68-71 */
+#define RESET_SMART_CARD 72
+#define RESET_SPICC0 73
+/* 74-79 */
+#define RESET_MSR_CLK 80
+/* 81 */
+#define RESET_SARADC 82
+/* 83-87 */
+#define RESET_ACODEC 88
+#define RESET_CEC 89
+/* 90 */
+#define RESET_WATCHDOG 91
+/* 92-95 */
+
+/* RESET3 */
+/* 96 ~ 127 */
+
+/* RESET4 */
+/* 128-131 */
+#define RESET_PWM_A 128
+#define RESET_PWM_B 129
+#define RESET_PWM_C 130
+#define RESET_PWM_D 131
+#define RESET_PWM_E 132
+#define RESET_PWM_F 133
+#define RESET_PWM_G 134
+#define RESET_PWM_H 135
+#define RESET_PWM_I 136
+#define RESET_PWM_J 137
+#define RESET_UART_A 138
+#define RESET_UART_B 139
+/* 140-143 */
+#define RESET_I2C_S_A 144
+#define RESET_I2C_M_A 145
+#define RESET_I2C_M_B 146
+#define RESET_I2C_M_C 147
+#define RESET_I2C_M_D 148
+#define RESET_I2C_M_E 149
+/* 150-151 */
+#define RESET_SD_EMMC_A 152
+#define RESET_SD_EMMC_B 153
+#define RESET_SD_EMMC_C 154
+/* 155-159 */
+
+/* RESET5 */
+#define RESET_BRG_VDEC_PIPE0 160
+#define RESET_BRG_HEVCF_PIPE0 161
+/* 162-163 */
+#define RESET_BRG_GE2D_PIPE0 164
+#define RESET_BRG_DMC_PIPE0 165
+#define RESET_BRG_A53_PIPE0 166
+#define RESET_BRG_MALI_PIPE0 167
+/* 168 */
+#define RESET_BRG_MALI_PIPE1 169
+/* 170-171 */
+#define RESET_BRG_HEVCF_PIPE1 172
+#define RESET_BRG_HEVCB_PIPE1 173
+/* 174-182 */
+#define RESET_BRG_NIC_EMMC 183
+#define RESET_BRG_NIC_RAMA 184
+#define RESET_BRG_NIC_SDIOB 185
+#define RESET_BRG_NIC_SDIOA 186
+#define RESET_BRG_NIC_VAPB 187
+#define RESET_BRG_NIC_DSU 188
+#define RESET_BRG_NIC_CLK81 189
+#define RESET_BRG_NIC_MAIN 190
+#define RESET_BRG_NIC_ALL 191
+
+#endif
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi
index a3faf4d188e1..0b2ac24e8dbc 100644
--- a/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi
+++ b/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/amlogic,pinctrl.h>
#include <dt-bindings/power/amlogic,s7-pwrc.h>
+#include "amlogic-s7-reset.h"
/ {
cpus {
@@ -142,6 +143,13 @@ uart_b: serial@7a000 {
status = "disabled";
};
+ reset: reset-controller@2000 {
+ compatible = "amlogic,s7-reset",
+ "amlogic,meson-s4-reset";
+ reg = <0x0 0x2000 0x0 0x98>;
+ #reset-cells = <1>;
+ };
+
periphs_pinctrl: pinctrl@4000 {
compatible = "amlogic,pinctrl-s7";
#address-cells = <2>;
--
2.52.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2 3/4] arm64: dts: amlogic: Add S7 Reset Controller
2025-12-23 5:37 ` [PATCH v2 3/4] arm64: dts: amlogic: Add S7 " Xianwei Zhao via B4 Relay
@ 2025-12-24 23:15 ` Martin Blumenstingl
0 siblings, 0 replies; 9+ messages in thread
From: Martin Blumenstingl @ 2025-12-24 23:15 UTC (permalink / raw)
To: xianwei.zhao
Cc: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, devicetree,
linux-arm-kernel, linux-amlogic, linux-kernel
On Tue, Dec 23, 2025 at 6:37 AM Xianwei Zhao via B4 Relay
<devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
>
> From: Xianwei Zhao <xianwei.zhao@amlogic.com>
>
> Add the device node and related header file for Amlogic
> S7 reset controller.
>
> Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 4/4] arm64: dts: amlogic: Add S7D Reset Controller
2025-12-23 5:37 [PATCH v2 0/4] Add support for Amlogic S6/S7/S7D Reset Xianwei Zhao via B4 Relay
` (2 preceding siblings ...)
2025-12-23 5:37 ` [PATCH v2 3/4] arm64: dts: amlogic: Add S7 " Xianwei Zhao via B4 Relay
@ 2025-12-23 5:37 ` Xianwei Zhao via B4 Relay
2025-12-24 23:34 ` Martin Blumenstingl
3 siblings, 1 reply; 9+ messages in thread
From: Xianwei Zhao via B4 Relay @ 2025-12-23 5:37 UTC (permalink / raw)
To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl
Cc: devicetree, linux-arm-kernel, linux-amlogic, linux-kernel, Xianwei Zhao
From: Xianwei Zhao <xianwei.zhao@amlogic.com>
Add the device node and related header file for Amlogic
S7D reset controller.
Signed-off-by: Xianwei Zhao <xianwei.zhao@amlogic.com>
---
arch/arm64/boot/dts/amlogic/amlogic-s7d-reset.h | 134 ++++++++++++++++++++++++
arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi | 8 ++
2 files changed, 142 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s7d-reset.h b/arch/arm64/boot/dts/amlogic/amlogic-s7d-reset.h
new file mode 100644
index 000000000000..fb15a93d901e
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/amlogic-s7d-reset.h
@@ -0,0 +1,134 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+/*
+ * Copyright (c) 2025 Amlogic, Inc. All rights reserved.
+ */
+
+#ifndef _DT_BINDINGS_AMLOGIC_S7D_RESET_H
+#define _DT_BINDINGS_AMLOGIC_S7D_RESET_H
+
+/* RESET0 */
+#define RESET_USB_DDR0 0
+#define RESET_USB_DDR1 1
+#define RESET_USB_DDR2 2
+#define RESET_USB_DDR3 3
+#define RESET_USB1 4
+#define RESET_USB0 5
+#define RESET_USB1_COMB 6
+#define RESET_USB0_COMB 7
+#define RESET_USBPHY20 8
+#define RESET_USBPHY21 9
+#define RESET_USBCC 10
+#define RESET_BC 11
+#define RESET_AMFC_APB 12
+/* 13-14 */
+#define RESET_HDMI20_AES 15
+#define RESET_HDMITX_CAPB3 16
+#define RESET_BRG_VCBUS_DEC 17
+#define RESET_VCBUS 18
+#define RESET_VID_PLL_DIV 19
+#define RESET_VIDEO6 20
+#define RESET_GE2D 21
+#define RESET_HDMITXPHY 22
+#define RESET_VID_LOCK 23
+#define RESET_VENCL 24
+#define RESET_VDAC 25
+#define RESET_VENCP 26
+#define RESET_VENCI 27
+#define RESET_RDMA 28
+#define RESET_HDMI_TX 29
+#define RESET_VIU 30
+#define RESET_VENC 31
+
+/* RESET1 */
+#define RESET_AUDIO 32
+#define RESET_MALI_CAPB3 33
+#define RESET_MALI 34
+#define RESET_DDR_APB 35
+#define RESET_DDR 36
+#define RESET_DOS_CAPB3 37
+#define RESET_DOS 38
+#define RESET_GPU_TS 39
+#define RESET_PLCK_DBG 40
+/* 41-47 */
+#define RESET_ETH 48
+/* 49-63 */
+
+/* RESET2 */
+#define RESET_AM2AXI 64
+#define RESET_IR_CTRL 65
+/* 66 */
+#define RESET_TEMPSENSOR_PLL 67
+/* 68-71 */
+#define RESET_SMART_CARD 72
+#define RESET_SPICC0 73
+/* 74-79 */
+#define RESET_MSR_CLK 80
+/* 81 */
+#define RESET_SAR_DIG 82
+#define RESET_SAR_ANA 83
+/* 84-85 */
+#define RESET_AMFC 86
+/* 87 */
+#define RESET_ACODEC 88
+#define RESET_CEC 89
+/* 90 */
+#define RESET_WATCHDOG 91
+/* 92-95 */
+
+/* RESET3 */
+/* 96 ~ 127 */
+
+/* RESET4 */
+/* 128-131 */
+#define RESET_PWM_A 128
+#define RESET_PWM_B 129
+#define RESET_PWM_C 130
+#define RESET_PWM_D 131
+#define RESET_PWM_E 132
+#define RESET_PWM_F 133
+#define RESET_PWM_G 134
+#define RESET_PWM_H 135
+#define RESET_PWM_I 136
+#define RESET_PWM_J 137
+#define RESET_UART_A 138
+#define RESET_UART_B 139
+#define RESET_UART_C 140
+#define RESET_UART_D 141
+#define RESET_UART_E 142
+/* 140-143 */
+#define RESET_I2C_S_A 144
+#define RESET_I2C_M_A 145
+#define RESET_I2C_M_B 146
+#define RESET_I2C_M_C 147
+#define RESET_I2C_M_D 148
+#define RESET_I2C_M_E 149
+/* 150-151 */
+#define RESET_SD_EMMC_A 152
+#define RESET_SD_EMMC_B 153
+#define RESET_SD_EMMC_C 154
+/* 155-159 */
+
+/* RESET5 */
+#define RESET_BRG_VDEC_PIPE0 160
+/* 161-163 */
+#define RESET_BRG_GE2D_PIPE0 164
+#define RESET_BRG_DMC_PIPE0 165
+#define RESET_BRG_A55_PIPE0 166
+#define RESET_BRG_MALI_PIPE0 167
+/* 168 */
+#define RESET_BRG_MALI_PIPE1 169
+/* 170-171 */
+#define RESET_BRG_HEVCF_PIPE1 172
+#define RESET_BRG_HEVCB_PIPE1 173
+/* 174-182 */
+#define RESET_BRG_NIC_EMMC 183
+/* 164 */
+#define RESET_BRG_NIC_SDIOB 185
+#define RESET_BRG_NIC_SDIOA 186
+#define RESET_BRG_NIC_VAPB 187
+#define RESET_BRG_NIC_DSU 188
+#define RESET_BRG_NIC_CLK81 189
+#define RESET_BRG_NIC_MAIN 190
+#define RESET_BRG_NIC_ALL 191
+
+#endif
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi
index 0c4417bcd682..bae89ca6c448 100644
--- a/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi
+++ b/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/amlogic,pinctrl.h>
#include <dt-bindings/power/amlogic,s7d-pwrc.h>
+#include "amlogic-s7d-reset.h"
/ {
cpus {
@@ -106,6 +107,13 @@ uart_b: serial@7a000 {
status = "disabled";
};
+ reset: reset-controller@2000 {
+ compatible = "amlogic,s7d-reset",
+ "amlogic,meson-s4-reset";
+ reg = <0x0 0x2000 0x0 0x98>;
+ #reset-cells = <1>;
+ };
+
periphs_pinctrl: pinctrl@4000 {
compatible = "amlogic,pinctrl-s7d",
"amlogic,pinctrl-s7";
--
2.52.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v2 4/4] arm64: dts: amlogic: Add S7D Reset Controller
2025-12-23 5:37 ` [PATCH v2 4/4] arm64: dts: amlogic: Add S7D " Xianwei Zhao via B4 Relay
@ 2025-12-24 23:34 ` Martin Blumenstingl
0 siblings, 0 replies; 9+ messages in thread
From: Martin Blumenstingl @ 2025-12-24 23:34 UTC (permalink / raw)
To: xianwei.zhao
Cc: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Neil Armstrong, Kevin Hilman, Jerome Brunet, devicetree,
linux-arm-kernel, linux-amlogic, linux-kernel
On Tue, Dec 23, 2025 at 6:37 AM Xianwei Zhao via B4 Relay
<devnull+xianwei.zhao.amlogic.com@kernel.org> wrote:
[...]
> +#define RESET_BRG_A55_PIPE0 166
For S7 (without D suffix) this is called RESET_BRG_A53_PIPE0 - which
one is correct (looking at amlogic-s7.dtsi and amlogic-s7d.dtsi
possibly A55 is correct)?
unrelated side-note while I was checking amlogic-s7.dtsi and
amlogic-s7d.dtsi: why do we have D/I and L2 caches defined for one but
not the other?
[...]
> +#define RESET_BRG_NIC_EMMC 183
> +/* 164 */
this needs to state 184
On a related side-note: while reviewing this patch I'm wondering how
S7 differs from S7D.
Is S7 a cut-down version of the S7D SoC (e.g. some - possibly faulty -
IP blocks fused off), is S7D a slightly updated version (like rev 2.0)
of S7, ...?
What I'm missing is a "big picture" (for older SoCs we typically had
some SBC vendor publish a datasheet - for these newer SoCs there's no
public datasheets).
That said, I think the approach chosen for the reset controller (copy
& paste, except 13 reset lines) is fine because there seem to be
actual differences in the reset lines. For other
drivers/implementations this approach would likely get very hard to
review/maintain (e.g. if we end up with a 3000 line driver and there's
only 250 lines difference between the two SoCs).
Best regards,
Martin
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 9+ messages in thread