sophgo.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support
@ 2025-06-08 23:22 Inochi Amaoto
  2025-06-08 23:22 ` [PATCH v2 1/4] dt-bindings: reset: sophgo: Add CV1800B support Inochi Amaoto
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Inochi Amaoto @ 2025-06-08 23:22 UTC (permalink / raw)
  To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Inochi Amaoto, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Alexander Sverdlin, Yixun Lan,
	Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

Like SG2042, CV1800 Series SoCs also have simple bit reset generator.
Add necessary code and bindings for it.

Changes from v1:
1. rebase to v6.16-rc1
2. patch 1: apply Rob's tag
2. patch 4: fix wrong reset ID

Inochi Amaoto (4):
  dt-bindings: reset: sophgo: Add CV1800B support
  reset: simple: add support for Sophgo CV1800B
  riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC
  riscv: dts: sophgo: add reset configuration for Sophgo CV1800 series
    SoC

 .../bindings/reset/sophgo,sg2042-reset.yaml   |  1 +
 arch/riscv/boot/dts/sophgo/cv180x.dtsi        | 25 +++++
 arch/riscv/boot/dts/sophgo/cv18xx-reset.h     | 98 +++++++++++++++++++
 drivers/reset/reset-simple.c                  |  2 +
 4 files changed, 126 insertions(+)
 create mode 100644 arch/riscv/boot/dts/sophgo/cv18xx-reset.h

--
2.49.0


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

* [PATCH v2 1/4] dt-bindings: reset: sophgo: Add CV1800B support
  2025-06-08 23:22 [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Inochi Amaoto
@ 2025-06-08 23:22 ` Inochi Amaoto
  2025-06-08 23:22 ` [PATCH v2 2/4] reset: simple: add support for Sophgo CV1800B Inochi Amaoto
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Inochi Amaoto @ 2025-06-08 23:22 UTC (permalink / raw)
  To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Inochi Amaoto, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Alexander Sverdlin, Yixun Lan,
	Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

Add bindings for the reset generator on the SOPHGO CV1800B
RISC-V SoC.

Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
---
 Documentation/devicetree/bindings/reset/sophgo,sg2042-reset.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/reset/sophgo,sg2042-reset.yaml b/Documentation/devicetree/bindings/reset/sophgo,sg2042-reset.yaml
index 1d1b84575960..bd8dfa998939 100644
--- a/Documentation/devicetree/bindings/reset/sophgo,sg2042-reset.yaml
+++ b/Documentation/devicetree/bindings/reset/sophgo,sg2042-reset.yaml
@@ -17,6 +17,7 @@ properties:
               - sophgo,sg2044-reset
           - const: sophgo,sg2042-reset
       - const: sophgo,sg2042-reset
+      - const: sophgo,cv1800b-reset
 
   reg:
     maxItems: 1
-- 
2.49.0


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

* [PATCH v2 2/4] reset: simple: add support for Sophgo CV1800B
  2025-06-08 23:22 [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Inochi Amaoto
  2025-06-08 23:22 ` [PATCH v2 1/4] dt-bindings: reset: sophgo: Add CV1800B support Inochi Amaoto
@ 2025-06-08 23:22 ` Inochi Amaoto
  2025-06-09 16:39   ` Alexander Sverdlin
  2025-06-08 23:22 ` [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC Inochi Amaoto
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Inochi Amaoto @ 2025-06-08 23:22 UTC (permalink / raw)
  To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Inochi Amaoto, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Alexander Sverdlin, Yixun Lan,
	Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

Reuse reset-simple driver for the Sophgo CV1800B reset generator.

Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
---
 drivers/reset/reset-simple.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/reset/reset-simple.c b/drivers/reset/reset-simple.c
index 276067839830..79e94ecfe4f5 100644
--- a/drivers/reset/reset-simple.c
+++ b/drivers/reset/reset-simple.c
@@ -151,6 +151,8 @@ static const struct of_device_id reset_simple_dt_ids[] = {
 	{ .compatible = "snps,dw-high-reset" },
 	{ .compatible = "snps,dw-low-reset",
 		.data = &reset_simple_active_low },
+	{ .compatible = "sophgo,cv1800b-reset",
+		.data = &reset_simple_active_low },
 	{ .compatible = "sophgo,sg2042-reset",
 		.data = &reset_simple_active_low },
 	{ /* sentinel */ },
-- 
2.49.0


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

* [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC
  2025-06-08 23:22 [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Inochi Amaoto
  2025-06-08 23:22 ` [PATCH v2 1/4] dt-bindings: reset: sophgo: Add CV1800B support Inochi Amaoto
  2025-06-08 23:22 ` [PATCH v2 2/4] reset: simple: add support for Sophgo CV1800B Inochi Amaoto
@ 2025-06-08 23:22 ` Inochi Amaoto
  2025-06-09 16:39   ` Alexander Sverdlin
  2025-06-10  2:15   ` Junhui Liu
  2025-06-08 23:22 ` [PATCH v2 4/4] riscv: dts: sophgo: add reset configuration " Inochi Amaoto
  2025-06-10  3:27 ` [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Chen Wang
  4 siblings, 2 replies; 12+ messages in thread
From: Inochi Amaoto @ 2025-06-08 23:22 UTC (permalink / raw)
  To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Inochi Amaoto, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Alexander Sverdlin, Yixun Lan,
	Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

Add reset generator node for all CV18XX series SoC.

Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
---
 arch/riscv/boot/dts/sophgo/cv180x.dtsi    |  7 ++
 arch/riscv/boot/dts/sophgo/cv18xx-reset.h | 98 +++++++++++++++++++++++
 2 files changed, 105 insertions(+)
 create mode 100644 arch/riscv/boot/dts/sophgo/cv18xx-reset.h

diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
index ed06c3609fb2..4c3d16764131 100644
--- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
+++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
@@ -7,6 +7,7 @@
 #include <dt-bindings/clock/sophgo,cv1800.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/irq.h>
+#include "cv18xx-reset.h"
 
 / {
 	#address-cells = <1>;
@@ -24,6 +25,12 @@ soc {
 		#size-cells = <1>;
 		ranges;
 
+		rst: reset-controller@3003000 {
+			compatible = "sophgo,cv1800b-reset";
+			reg = <0x3003000 0x1000>;
+			#reset-cells = <1>;
+		};
+
 		gpio0: gpio@3020000 {
 			compatible = "snps,dw-apb-gpio";
 			reg = <0x3020000 0x1000>;
diff --git a/arch/riscv/boot/dts/sophgo/cv18xx-reset.h b/arch/riscv/boot/dts/sophgo/cv18xx-reset.h
new file mode 100644
index 000000000000..b9b6dd56a9e2
--- /dev/null
+++ b/arch/riscv/boot/dts/sophgo/cv18xx-reset.h
@@ -0,0 +1,98 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+/*
+ * Copyright (C) 2025 Inochi Amaoto <inochiama@outlook.com>
+ */
+
+#ifndef _SOPHGO_CV18XX_RESET
+#define _SOPHGO_CV18XX_RESET
+
+#define RST_DDR				2
+#define RST_H264C			3
+#define RST_JPEG			4
+#define RST_H265C			5
+#define RST_VIPSYS			6
+#define RST_TDMA			7
+#define RST_TPU				8
+#define RST_TPUSYS			9
+#define RST_USB				11
+#define RST_ETH0			12
+#define RST_ETH1			13
+#define RST_NAND			14
+#define RST_EMMC			15
+#define RST_SD0				16
+#define RST_SDMA			18
+#define RST_I2S0			19
+#define RST_I2S1			20
+#define RST_I2S2			21
+#define RST_I2S3			22
+#define RST_UART0			23
+#define RST_UART1			24
+#define RST_UART2			25
+#define RST_UART3			26
+#define RST_I2C0			27
+#define RST_I2C1			28
+#define RST_I2C2			29
+#define RST_I2C3			30
+#define RST_I2C4			31
+#define RST_PWM0			32
+#define RST_PWM1			33
+#define RST_PWM2			34
+#define RST_PWM3			35
+#define RST_SPI0			40
+#define RST_SPI1			41
+#define RST_SPI2			42
+#define RST_SPI3			43
+#define RST_GPIO0			44
+#define RST_GPIO1			45
+#define RST_GPIO2			46
+#define RST_EFUSE			47
+#define RST_WDT				48
+#define RST_AHB_ROM			49
+#define RST_SPIC			50
+#define RST_TEMPSEN			51
+#define RST_SARADC			52
+#define RST_COMBO_PHY0			58
+#define RST_SPI_NAND			61
+#define RST_SE				62
+#define RST_UART4			74
+#define RST_GPIO3			75
+#define RST_SYSTEM			76
+#define RST_TIMER			77
+#define RST_TIMER0			78
+#define RST_TIMER1			79
+#define RST_TIMER2			80
+#define RST_TIMER3			81
+#define RST_TIMER4			82
+#define RST_TIMER5			83
+#define RST_TIMER6			84
+#define RST_TIMER7			85
+#define RST_WGN0			86
+#define RST_WGN1			87
+#define RST_WGN2			88
+#define RST_KEYSCAN			89
+#define RST_AUDDAC			91
+#define RST_AUDDAC_APB			92
+#define RST_AUDADC			93
+#define RST_VCSYS			95
+#define RST_ETHPHY			96
+#define RST_ETHPHY_APB			97
+#define RST_AUDSRC			98
+#define RST_VIP_CAM0			99
+#define RST_WDT1			100
+#define RST_WDT2			101
+#define RST_AUTOCLEAR_CPUCORE0		256
+#define RST_AUTOCLEAR_CPUCORE1		257
+#define RST_AUTOCLEAR_CPUCORE2		258
+#define RST_AUTOCLEAR_CPUCORE3		259
+#define RST_AUTOCLEAR_CPUSYS0		260
+#define RST_AUTOCLEAR_CPUSYS1		261
+#define RST_AUTOCLEAR_CPUSYS2		262
+#define RST_CPUCORE0			268
+#define RST_CPUCORE1			269
+#define RST_CPUCORE2			270
+#define RST_CPUCORE3			271
+#define RST_CPUSYS0			272
+#define RST_CPUSYS1			273
+#define RST_CPUSYS2			274
+
+#endif /* _SOPHGO_CV18XX_RESET */
-- 
2.49.0


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

* [PATCH v2 4/4] riscv: dts: sophgo: add reset configuration for Sophgo CV1800 series SoC
  2025-06-08 23:22 [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Inochi Amaoto
                   ` (2 preceding siblings ...)
  2025-06-08 23:22 ` [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC Inochi Amaoto
@ 2025-06-08 23:22 ` Inochi Amaoto
  2025-06-09 16:41   ` Alexander Sverdlin
  2025-06-10  3:27 ` [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Chen Wang
  4 siblings, 1 reply; 12+ messages in thread
From: Inochi Amaoto @ 2025-06-08 23:22 UTC (permalink / raw)
  To: Philipp Zabel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Inochi Amaoto, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Alexander Sverdlin, Yixun Lan,
	Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

Add known reset configuration for existed device.

Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
---
 arch/riscv/boot/dts/sophgo/cv180x.dtsi | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
index 4c3d16764131..e91bb512b099 100644
--- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
+++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
@@ -36,6 +36,7 @@ gpio0: gpio@3020000 {
 			reg = <0x3020000 0x1000>;
 			#address-cells = <1>;
 			#size-cells = <0>;
+			resets = <&rst RST_GPIO0>;
 
 			porta: gpio-controller@0 {
 				compatible = "snps,dw-apb-gpio-port";
@@ -54,6 +55,7 @@ gpio1: gpio@3021000 {
 			reg = <0x3021000 0x1000>;
 			#address-cells = <1>;
 			#size-cells = <0>;
+			resets = <&rst RST_GPIO1>;
 
 			portb: gpio-controller@0 {
 				compatible = "snps,dw-apb-gpio-port";
@@ -72,6 +74,7 @@ gpio2: gpio@3022000 {
 			reg = <0x3022000 0x1000>;
 			#address-cells = <1>;
 			#size-cells = <0>;
+			resets = <&rst RST_GPIO2>;
 
 			portc: gpio-controller@0 {
 				compatible = "snps,dw-apb-gpio-port";
@@ -90,6 +93,7 @@ gpio3: gpio@3023000 {
 			reg = <0x3023000 0x1000>;
 			#address-cells = <1>;
 			#size-cells = <0>;
+			resets = <&rst RST_GPIO3>;
 
 			portd: gpio-controller@0 {
 				compatible = "snps,dw-apb-gpio-port";
@@ -133,6 +137,7 @@ i2c0: i2c@4000000 {
 			clocks = <&clk CLK_I2C>, <&clk CLK_APB_I2C0>;
 			clock-names = "ref", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(33) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_I2C0>;
 			status = "disabled";
 		};
 
@@ -144,6 +149,7 @@ i2c1: i2c@4010000 {
 			clocks = <&clk CLK_I2C>, <&clk CLK_APB_I2C1>;
 			clock-names = "ref", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(34) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_I2C1>;
 			status = "disabled";
 		};
 
@@ -155,6 +161,7 @@ i2c2: i2c@4020000 {
 			clocks = <&clk CLK_I2C>, <&clk CLK_APB_I2C2>;
 			clock-names = "ref", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(35) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_I2C2>;
 			status = "disabled";
 		};
 
@@ -166,6 +173,7 @@ i2c3: i2c@4030000 {
 			clocks = <&clk CLK_I2C>, <&clk CLK_APB_I2C3>;
 			clock-names = "ref", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(36) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_I2C3>;
 			status = "disabled";
 		};
 
@@ -177,6 +185,7 @@ i2c4: i2c@4040000 {
 			clocks = <&clk CLK_I2C>, <&clk CLK_APB_I2C4>;
 			clock-names = "ref", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(37) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_I2C4>;
 			status = "disabled";
 		};
 
@@ -188,6 +197,7 @@ uart0: serial@4140000 {
 			clock-names = "baudclk", "apb_pclk";
 			reg-shift = <2>;
 			reg-io-width = <4>;
+			resets = <&rst RST_UART0>;
 			status = "disabled";
 		};
 
@@ -199,6 +209,7 @@ uart1: serial@4150000 {
 			clock-names = "baudclk", "apb_pclk";
 			reg-shift = <2>;
 			reg-io-width = <4>;
+			resets = <&rst RST_UART1>;
 			status = "disabled";
 		};
 
@@ -210,6 +221,7 @@ uart2: serial@4160000 {
 			clock-names = "baudclk", "apb_pclk";
 			reg-shift = <2>;
 			reg-io-width = <4>;
+			resets = <&rst RST_UART2>;
 			status = "disabled";
 		};
 
@@ -221,6 +233,7 @@ uart3: serial@4170000 {
 			clock-names = "baudclk", "apb_pclk";
 			reg-shift = <2>;
 			reg-io-width = <4>;
+			resets = <&rst RST_UART3>;
 			status = "disabled";
 		};
 
@@ -232,6 +245,7 @@ spi0: spi@4180000 {
 			clocks = <&clk CLK_SPI>, <&clk CLK_APB_SPI0>;
 			clock-names = "ssi_clk", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(38) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_SPI0>;
 			status = "disabled";
 		};
 
@@ -243,6 +257,7 @@ spi1: spi@4190000 {
 			clocks = <&clk CLK_SPI>, <&clk CLK_APB_SPI1>;
 			clock-names = "ssi_clk", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(39) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_SPI1>;
 			status = "disabled";
 		};
 
@@ -254,6 +269,7 @@ spi2: spi@41a0000 {
 			clocks = <&clk CLK_SPI>, <&clk CLK_APB_SPI2>;
 			clock-names = "ssi_clk", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(40) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_SPI2>;
 			status = "disabled";
 		};
 
@@ -265,6 +281,7 @@ spi3: spi@41b0000 {
 			clocks = <&clk CLK_SPI>, <&clk CLK_APB_SPI3>;
 			clock-names = "ssi_clk", "pclk";
 			interrupts = <SOC_PERIPHERAL_IRQ(41) IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rst RST_SPI3>;
 			status = "disabled";
 		};
 
@@ -276,6 +293,7 @@ uart4: serial@41c0000 {
 			clock-names = "baudclk", "apb_pclk";
 			reg-shift = <2>;
 			reg-io-width = <4>;
+			resets = <&rst RST_UART4>;
 			status = "disabled";
 		};
 
-- 
2.49.0


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

* Re: [PATCH v2 2/4] reset: simple: add support for Sophgo CV1800B
  2025-06-08 23:22 ` [PATCH v2 2/4] reset: simple: add support for Sophgo CV1800B Inochi Amaoto
@ 2025-06-09 16:39   ` Alexander Sverdlin
  0 siblings, 0 replies; 12+ messages in thread
From: Alexander Sverdlin @ 2025-06-09 16:39 UTC (permalink / raw)
  To: Inochi Amaoto, Philipp Zabel, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Yixun Lan, Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

On Mon, 2025-06-09 at 07:22 +0800, Inochi Amaoto wrote:
> Reuse reset-simple driver for the Sophgo CV1800B reset generator.
> 
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>

> ---
>  drivers/reset/reset-simple.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/reset/reset-simple.c b/drivers/reset/reset-simple.c
> index 276067839830..79e94ecfe4f5 100644
> --- a/drivers/reset/reset-simple.c
> +++ b/drivers/reset/reset-simple.c
> @@ -151,6 +151,8 @@ static const struct of_device_id reset_simple_dt_ids[] = {
>  	{ .compatible = "snps,dw-high-reset" },
>  	{ .compatible = "snps,dw-low-reset",
>  		.data = &reset_simple_active_low },
> +	{ .compatible = "sophgo,cv1800b-reset",
> +		.data = &reset_simple_active_low },
>  	{ .compatible = "sophgo,sg2042-reset",
>  		.data = &reset_simple_active_low },
>  	{ /* sentinel */ },

-- 
Alexander Sverdlin.

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

* Re: [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC
  2025-06-08 23:22 ` [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC Inochi Amaoto
@ 2025-06-09 16:39   ` Alexander Sverdlin
  2025-06-10  2:15   ` Junhui Liu
  1 sibling, 0 replies; 12+ messages in thread
From: Alexander Sverdlin @ 2025-06-09 16:39 UTC (permalink / raw)
  To: Inochi Amaoto, Philipp Zabel, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Yixun Lan, Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

On Mon, 2025-06-09 at 07:22 +0800, Inochi Amaoto wrote:
> Add reset generator node for all CV18XX series SoC.
> 
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>

> ---
>  arch/riscv/boot/dts/sophgo/cv180x.dtsi    |  7 ++
>  arch/riscv/boot/dts/sophgo/cv18xx-reset.h | 98 +++++++++++++++++++++++
>  2 files changed, 105 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/sophgo/cv18xx-reset.h

-- 
Alexander Sverdlin.

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

* Re: [PATCH v2 4/4] riscv: dts: sophgo: add reset configuration for Sophgo CV1800 series SoC
  2025-06-08 23:22 ` [PATCH v2 4/4] riscv: dts: sophgo: add reset configuration " Inochi Amaoto
@ 2025-06-09 16:41   ` Alexander Sverdlin
  0 siblings, 0 replies; 12+ messages in thread
From: Alexander Sverdlin @ 2025-06-09 16:41 UTC (permalink / raw)
  To: Inochi Amaoto, Philipp Zabel, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Yixun Lan, Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

On Mon, 2025-06-09 at 07:22 +0800, Inochi Amaoto wrote:
> Add known reset configuration for existed device.
> 
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>

> ---
>  arch/riscv/boot/dts/sophgo/cv180x.dtsi | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)

-- 
Alexander Sverdlin.

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

* Re: [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC
  2025-06-08 23:22 ` [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC Inochi Amaoto
  2025-06-09 16:39   ` Alexander Sverdlin
@ 2025-06-10  2:15   ` Junhui Liu
  2025-06-10  2:27     ` Inochi Amaoto
  1 sibling, 1 reply; 12+ messages in thread
From: Junhui Liu @ 2025-06-10  2:15 UTC (permalink / raw)
  To: Inochi Amaoto, Philipp Zabel, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yixun Lan, Thomas Bonnefille,
	Ze Huang
  Cc: devicetree, sophgo, linux-kernel, linux-riscv, Longbin Li

Hi Inochi,

On 2025/6/9 07:22, Inochi Amaoto wrote:
> Add reset generator node for all CV18XX series SoC.
>
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> ---
>   arch/riscv/boot/dts/sophgo/cv180x.dtsi    |  7 ++
>   arch/riscv/boot/dts/sophgo/cv18xx-reset.h | 98 +++++++++++++++++++++++
>   2 files changed, 105 insertions(+)
>   create mode 100644 arch/riscv/boot/dts/sophgo/cv18xx-reset.h
>
> diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> index ed06c3609fb2..4c3d16764131 100644
> --- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> +++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> @@ -7,6 +7,7 @@
>   #include <dt-bindings/clock/sophgo,cv1800.h>
>   #include <dt-bindings/gpio/gpio.h>
>   #include <dt-bindings/interrupt-controller/irq.h>
> +#include "cv18xx-reset.h"
>   
>   / {
>   	#address-cells = <1>;
> @@ -24,6 +25,12 @@ soc {
>   		#size-cells = <1>;
>   		ranges;
>   
> +		rst: reset-controller@3003000 {
> +			compatible = "sophgo,cv1800b-reset";
> +			reg = <0x3003000 0x1000>;
> +			#reset-cells = <1>;
> +		};
> +
>   		gpio0: gpio@3020000 {
>   			compatible = "snps,dw-apb-gpio";
>   			reg = <0x3020000 0x1000>;
> diff --git a/arch/riscv/boot/dts/sophgo/cv18xx-reset.h b/arch/riscv/boot/dts/sophgo/cv18xx-reset.h
> new file mode 100644
> index 000000000000..b9b6dd56a9e2
> --- /dev/null
> +++ b/arch/riscv/boot/dts/sophgo/cv18xx-reset.h
> @@ -0,0 +1,98 @@
> +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
> +/*
> + * Copyright (C) 2025 Inochi Amaoto <inochiama@outlook.com>
> + */
> +
> +#ifndef _SOPHGO_CV18XX_RESET
> +#define _SOPHGO_CV18XX_RESET
> +
> +#define RST_DDR				2
> +#define RST_H264C			3
> +#define RST_JPEG			4
> +#define RST_H265C			5
> +#define RST_VIPSYS			6
> +#define RST_TDMA			7
> +#define RST_TPU				8
> +#define RST_TPUSYS			9
> +#define RST_USB				11
> +#define RST_ETH0			12
> +#define RST_ETH1			13
> +#define RST_NAND			14
> +#define RST_EMMC			15
> +#define RST_SD0				16
> +#define RST_SDMA			18
> +#define RST_I2S0			19
> +#define RST_I2S1			20
> +#define RST_I2S2			21
> +#define RST_I2S3			22
> +#define RST_UART0			23
> +#define RST_UART1			24
> +#define RST_UART2			25
> +#define RST_UART3			26
> +#define RST_I2C0			27
> +#define RST_I2C1			28
> +#define RST_I2C2			29
> +#define RST_I2C3			30
> +#define RST_I2C4			31
> +#define RST_PWM0			32
> +#define RST_PWM1			33
> +#define RST_PWM2			34
> +#define RST_PWM3			35
> +#define RST_SPI0			40
> +#define RST_SPI1			41
> +#define RST_SPI2			42
> +#define RST_SPI3			43
> +#define RST_GPIO0			44
> +#define RST_GPIO1			45
> +#define RST_GPIO2			46
> +#define RST_EFUSE			47
> +#define RST_WDT				48
> +#define RST_AHB_ROM			49
> +#define RST_SPIC			50
> +#define RST_TEMPSEN			51
> +#define RST_SARADC			52
> +#define RST_COMBO_PHY0			58
> +#define RST_SPI_NAND			61
> +#define RST_SE				62
> +#define RST_UART4			74
> +#define RST_GPIO3			75
> +#define RST_SYSTEM			76
> +#define RST_TIMER			77
> +#define RST_TIMER0			78
> +#define RST_TIMER1			79
> +#define RST_TIMER2			80
> +#define RST_TIMER3			81
> +#define RST_TIMER4			82
> +#define RST_TIMER5			83
> +#define RST_TIMER6			84
> +#define RST_TIMER7			85
> +#define RST_WGN0			86
> +#define RST_WGN1			87
> +#define RST_WGN2			88
> +#define RST_KEYSCAN			89
> +#define RST_AUDDAC			91
> +#define RST_AUDDAC_APB			92
> +#define RST_AUDADC			93
> +#define RST_VCSYS			95
> +#define RST_ETHPHY			96
> +#define RST_ETHPHY_APB			97
> +#define RST_AUDSRC			98
> +#define RST_VIP_CAM0			99
> +#define RST_WDT1			100
> +#define RST_WDT2			101
> +#define RST_AUTOCLEAR_CPUCORE0		256
> +#define RST_AUTOCLEAR_CPUCORE1		257
> +#define RST_AUTOCLEAR_CPUCORE2		258
> +#define RST_AUTOCLEAR_CPUCORE3		259
> +#define RST_AUTOCLEAR_CPUSYS0		260
> +#define RST_AUTOCLEAR_CPUSYS1		261
> +#define RST_AUTOCLEAR_CPUSYS2		262
> +#define RST_CPUCORE0			268


Looks like this and the following still doesn't right. Since it’s bit 0
at offset 0x024, it should be 0x24 * 8 = 0x120 = 288, not 268.

> +#define RST_CPUCORE1			269
> +#define RST_CPUCORE2			270
> +#define RST_CPUCORE3			271
> +#define RST_CPUSYS0			272
> +#define RST_CPUSYS1			273
> +#define RST_CPUSYS2			274
> +
> +#endif /* _SOPHGO_CV18XX_RESET */

-- 
Best regards,
Junhui Liu


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

* Re: [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC
  2025-06-10  2:15   ` Junhui Liu
@ 2025-06-10  2:27     ` Inochi Amaoto
  0 siblings, 0 replies; 12+ messages in thread
From: Inochi Amaoto @ 2025-06-10  2:27 UTC (permalink / raw)
  To: Junhui Liu, Inochi Amaoto, Philipp Zabel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen Wang, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Alexander Sverdlin,
	Yixun Lan, Thomas Bonnefille, Ze Huang
  Cc: devicetree, sophgo, linux-kernel, linux-riscv, Longbin Li

On Tue, Jun 10, 2025 at 10:15:29AM +0800, Junhui Liu wrote:
> Hi Inochi,
> 
> On 2025/6/9 07:22, Inochi Amaoto wrote:
> > Add reset generator node for all CV18XX series SoC.
> > 
> > Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> > ---
> >   arch/riscv/boot/dts/sophgo/cv180x.dtsi    |  7 ++
> >   arch/riscv/boot/dts/sophgo/cv18xx-reset.h | 98 +++++++++++++++++++++++
> >   2 files changed, 105 insertions(+)
> >   create mode 100644 arch/riscv/boot/dts/sophgo/cv18xx-reset.h
> > 
> > diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> > index ed06c3609fb2..4c3d16764131 100644
> > --- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> > +++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> > @@ -7,6 +7,7 @@
> >   #include <dt-bindings/clock/sophgo,cv1800.h>
> >   #include <dt-bindings/gpio/gpio.h>
> >   #include <dt-bindings/interrupt-controller/irq.h>
> > +#include "cv18xx-reset.h"
> >   / {
> >   	#address-cells = <1>;
> > @@ -24,6 +25,12 @@ soc {
> >   		#size-cells = <1>;
> >   		ranges;
> > +		rst: reset-controller@3003000 {
> > +			compatible = "sophgo,cv1800b-reset";
> > +			reg = <0x3003000 0x1000>;
> > +			#reset-cells = <1>;
> > +		};
> > +
> >   		gpio0: gpio@3020000 {
> >   			compatible = "snps,dw-apb-gpio";
> >   			reg = <0x3020000 0x1000>;
> > diff --git a/arch/riscv/boot/dts/sophgo/cv18xx-reset.h b/arch/riscv/boot/dts/sophgo/cv18xx-reset.h
> > new file mode 100644
> > index 000000000000..b9b6dd56a9e2
> > --- /dev/null
> > +++ b/arch/riscv/boot/dts/sophgo/cv18xx-reset.h
> > @@ -0,0 +1,98 @@
> > +/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
> > +/*
> > + * Copyright (C) 2025 Inochi Amaoto <inochiama@outlook.com>
> > + */
> > +
> > +#ifndef _SOPHGO_CV18XX_RESET
> > +#define _SOPHGO_CV18XX_RESET
> > +
> > +#define RST_DDR				2
> > +#define RST_H264C			3
> > +#define RST_JPEG			4
> > +#define RST_H265C			5
> > +#define RST_VIPSYS			6
> > +#define RST_TDMA			7
> > +#define RST_TPU				8
> > +#define RST_TPUSYS			9
> > +#define RST_USB				11
> > +#define RST_ETH0			12
> > +#define RST_ETH1			13
> > +#define RST_NAND			14
> > +#define RST_EMMC			15
> > +#define RST_SD0				16
> > +#define RST_SDMA			18
> > +#define RST_I2S0			19
> > +#define RST_I2S1			20
> > +#define RST_I2S2			21
> > +#define RST_I2S3			22
> > +#define RST_UART0			23
> > +#define RST_UART1			24
> > +#define RST_UART2			25
> > +#define RST_UART3			26
> > +#define RST_I2C0			27
> > +#define RST_I2C1			28
> > +#define RST_I2C2			29
> > +#define RST_I2C3			30
> > +#define RST_I2C4			31
> > +#define RST_PWM0			32
> > +#define RST_PWM1			33
> > +#define RST_PWM2			34
> > +#define RST_PWM3			35
> > +#define RST_SPI0			40
> > +#define RST_SPI1			41
> > +#define RST_SPI2			42
> > +#define RST_SPI3			43
> > +#define RST_GPIO0			44
> > +#define RST_GPIO1			45
> > +#define RST_GPIO2			46
> > +#define RST_EFUSE			47
> > +#define RST_WDT				48
> > +#define RST_AHB_ROM			49
> > +#define RST_SPIC			50
> > +#define RST_TEMPSEN			51
> > +#define RST_SARADC			52
> > +#define RST_COMBO_PHY0			58
> > +#define RST_SPI_NAND			61
> > +#define RST_SE				62
> > +#define RST_UART4			74
> > +#define RST_GPIO3			75
> > +#define RST_SYSTEM			76
> > +#define RST_TIMER			77
> > +#define RST_TIMER0			78
> > +#define RST_TIMER1			79
> > +#define RST_TIMER2			80
> > +#define RST_TIMER3			81
> > +#define RST_TIMER4			82
> > +#define RST_TIMER5			83
> > +#define RST_TIMER6			84
> > +#define RST_TIMER7			85
> > +#define RST_WGN0			86
> > +#define RST_WGN1			87
> > +#define RST_WGN2			88
> > +#define RST_KEYSCAN			89
> > +#define RST_AUDDAC			91
> > +#define RST_AUDDAC_APB			92
> > +#define RST_AUDADC			93
> > +#define RST_VCSYS			95
> > +#define RST_ETHPHY			96
> > +#define RST_ETHPHY_APB			97
> > +#define RST_AUDSRC			98
> > +#define RST_VIP_CAM0			99
> > +#define RST_WDT1			100
> > +#define RST_WDT2			101
> > +#define RST_AUTOCLEAR_CPUCORE0		256
> > +#define RST_AUTOCLEAR_CPUCORE1		257
> > +#define RST_AUTOCLEAR_CPUCORE2		258
> > +#define RST_AUTOCLEAR_CPUCORE3		259
> > +#define RST_AUTOCLEAR_CPUSYS0		260
> > +#define RST_AUTOCLEAR_CPUSYS1		261
> > +#define RST_AUTOCLEAR_CPUSYS2		262
> > +#define RST_CPUCORE0			268
> 
> 
> Looks like this and the following still doesn't right. Since it’s bit 0
> at offset 0x024, it should be 0x24 * 8 = 0x120 = 288, not 268.
> 

You are right, I add a wrong step.
I will fix this, thanks.

Regards,
Inochi

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

* Re: [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support
  2025-06-08 23:22 [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Inochi Amaoto
                   ` (3 preceding siblings ...)
  2025-06-08 23:22 ` [PATCH v2 4/4] riscv: dts: sophgo: add reset configuration " Inochi Amaoto
@ 2025-06-10  3:27 ` Chen Wang
  2025-06-10  3:46   ` Inochi Amaoto
  4 siblings, 1 reply; 12+ messages in thread
From: Chen Wang @ 2025-06-10  3:27 UTC (permalink / raw)
  To: Inochi Amaoto, Philipp Zabel, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Yixun Lan, Thomas Bonnefille,
	Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

hi, Inochi,

Judging from the title of the email, your patch should be for supporting 
all cv18xx series socs, including cv1800b/SG2002 (formerly 
CV181xC)/SG2000 (formerly CV181xH), right?
I see Alex is submiting a PR to support reset for SG2000 [1], so suggest 
you discuss with Alex and merge your work with his to avoid forking.

Link: 
https://lore.kernel.org/lkml/20250609230417.620089-1-alexander.sverdlin@gmail.com/ 
[1]

Alex Sverdlin, I see you are also in the to-list, what's your point?

Thanks,

Chen

On 2025/6/9 7:22, Inochi Amaoto wrote:
> Like SG2042, CV1800 Series SoCs also have simple bit reset generator.
> Add necessary code and bindings for it.
>
> Changes from v1:
> 1. rebase to v6.16-rc1
> 2. patch 1: apply Rob's tag
> 2. patch 4: fix wrong reset ID

two 2's, makes me confused :)


>
> Inochi Amaoto (4):
>    dt-bindings: reset: sophgo: Add CV1800B support
>    reset: simple: add support for Sophgo CV1800B
>    riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC
>    riscv: dts: sophgo: add reset configuration for Sophgo CV1800 series
>      SoC
>
>   .../bindings/reset/sophgo,sg2042-reset.yaml   |  1 +
>   arch/riscv/boot/dts/sophgo/cv180x.dtsi        | 25 +++++
>   arch/riscv/boot/dts/sophgo/cv18xx-reset.h     | 98 +++++++++++++++++++
>   drivers/reset/reset-simple.c                  |  2 +
>   4 files changed, 126 insertions(+)
>   create mode 100644 arch/riscv/boot/dts/sophgo/cv18xx-reset.h
>
> --
> 2.49.0
>

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

* Re: [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support
  2025-06-10  3:27 ` [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Chen Wang
@ 2025-06-10  3:46   ` Inochi Amaoto
  0 siblings, 0 replies; 12+ messages in thread
From: Inochi Amaoto @ 2025-06-10  3:46 UTC (permalink / raw)
  To: Chen Wang, Inochi Amaoto, Philipp Zabel, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Alexander Sverdlin, Yixun Lan,
	Thomas Bonnefille, Ze Huang
  Cc: Junhui Liu, devicetree, sophgo, linux-kernel, linux-riscv,
	Longbin Li

On Tue, Jun 10, 2025 at 11:27:01AM +0800, Chen Wang wrote:
> hi, Inochi,
> 
> Judging from the title of the email, your patch should be for supporting all
> cv18xx series socs, including cv1800b/SG2002 (formerly CV181xC)/SG2000
> (formerly CV181xH), right?

Yes, you are right.

> I see Alex is submiting a PR to support reset for SG2000 [1], so suggest you
> discuss with Alex and merge your work with his to avoid forking.
> 
> Link: https://lore.kernel.org/lkml/20250609230417.620089-1-alexander.sverdlin@gmail.com/
> [1]
> 
> Alex Sverdlin, I see you are also in the to-list, what's your point?
> 
> Thanks,
> 
> Chen
> 
> On 2025/6/9 7:22, Inochi Amaoto wrote:
> > Like SG2042, CV1800 Series SoCs also have simple bit reset generator.
> > Add necessary code and bindings for it.
> > 
> > Changes from v1:
> > 1. rebase to v6.16-rc1
> > 2. patch 1: apply Rob's tag
> > 2. patch 4: fix wrong reset ID
> 
> two 2's, makes me confused :)
> 

Oh, a small mistake....

Regards,
Inochi

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

end of thread, other threads:[~2025-06-10  3:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-08 23:22 [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Inochi Amaoto
2025-06-08 23:22 ` [PATCH v2 1/4] dt-bindings: reset: sophgo: Add CV1800B support Inochi Amaoto
2025-06-08 23:22 ` [PATCH v2 2/4] reset: simple: add support for Sophgo CV1800B Inochi Amaoto
2025-06-09 16:39   ` Alexander Sverdlin
2025-06-08 23:22 ` [PATCH v2 3/4] riscv: dts: sophgo: add reset generator for Sophgo CV1800 series SoC Inochi Amaoto
2025-06-09 16:39   ` Alexander Sverdlin
2025-06-10  2:15   ` Junhui Liu
2025-06-10  2:27     ` Inochi Amaoto
2025-06-08 23:22 ` [PATCH v2 4/4] riscv: dts: sophgo: add reset configuration " Inochi Amaoto
2025-06-09 16:41   ` Alexander Sverdlin
2025-06-10  3:27 ` [PATCH v2 0/4] riscv: sophgo: cv18xx: Add reset generator support Chen Wang
2025-06-10  3:46   ` Inochi Amaoto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).