linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx
@ 2025-07-03  2:15 Inochi Amaoto
  2025-07-03  2:15 ` [PATCH 1/3] riscv: dts: sophgo: Add ethernet device " Inochi Amaoto
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Inochi Amaoto @ 2025-07-03  2:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Chen Wang,
	Inochi Amaoto, Richard Cochran, Alexander Sverdlin, Yixun Lan,
	Ze Huang, Thomas Bonnefille
  Cc: devicetree, linux-riscv, sophgo, linux-kernel, netdev, Longbin Li

Add device binding and dts for CV18XX series SoC.

Change from RFC v4:
- https://lore.kernel.org/all/20250701011730.136002-1-inochiama@gmail.com
1. split the binding patch as a standalone series.

Change from RFC v3:
- https://lore.kernel.org/all/20250626080056.325496-1-inochiama@gmail.com
1. patch 3: change internal phy id from 0 to 1

Change from RFC v2:
- https://lore.kernel.org/all/20250623003049.574821-1-inochiama@gmail.com
1. patch 1: fix wrong binding title
2. patch 3: fix unmatched mdio bus number
3. patch 4: remove setting phy-mode and phy-handle in board dts and move
	    them into patch 3.

Change from RFC v1:
- https://lore.kernel.org/all/20250611080709.1182183-1-inochiama@gmail.com
1. patch 3: switch to mdio-mux-mmioreg
2. patch 4: add configuration for Huashan Pi

Inochi Amaoto (3):
  riscv: dts: sophgo: Add ethernet device for cv18xx
  riscv: dts: sophgo: Add mdio multiplexer device for cv18xx
  riscv: dts: sophgo: Enable ethernet device for Huashan Pi

 arch/riscv/boot/dts/sophgo/cv180x.dtsi        | 73 +++++++++++++++++++
 .../boot/dts/sophgo/cv1812h-huashan-pi.dts    |  8 ++
 2 files changed, 81 insertions(+)


base-commit: a3d69a2aa44f50fb09f513bd2b8d8c91fb175207
prerequisite-patch-id: ab3ca8c9cda888f429945fb0283145122975b734
prerequisite-patch-id: bd94f8bd3d4ce4f3b153cbb36a3896c5dc143c17
prerequisite-patch-id: 52a475a6d4f8743011963384316d9907ed16d5a7
--
2.50.0


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

* [PATCH 1/3] riscv: dts: sophgo: Add ethernet device for cv18xx
  2025-07-03  2:15 [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx Inochi Amaoto
@ 2025-07-03  2:15 ` Inochi Amaoto
  2025-07-03  2:15 ` [PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer " Inochi Amaoto
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Inochi Amaoto @ 2025-07-03  2:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Chen Wang,
	Inochi Amaoto, Richard Cochran, Alexander Sverdlin, Yixun Lan,
	Ze Huang, Thomas Bonnefille
  Cc: devicetree, linux-riscv, sophgo, linux-kernel, netdev, Longbin Li

Add ethernet controller device node for cv18xx SoC.

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

diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
index e91bb512b099..7eecc67f896e 100644
--- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
+++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
@@ -189,6 +189,50 @@ i2c4: i2c@4040000 {
 			status = "disabled";
 		};
 
+		gmac0: ethernet@4070000 {
+			compatible = "sophgo,cv1800b-dwmac", "snps,dwmac-3.70a";
+			reg = <0x04070000 0x10000>;
+			clocks = <&clk CLK_AXI4_ETH0>, <&clk CLK_ETH0_500M>;
+			clock-names = "stmmaceth", "ptp_ref";
+			interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "macirq";
+			resets = <&rst RST_ETH0>;
+			reset-names = "stmmaceth";
+			rx-fifo-depth = <8192>;
+			tx-fifo-depth = <8192>;
+			snps,multicast-filter-bins = <0>;
+			snps,perfect-filter-entries = <1>;
+			snps,aal;
+			snps,txpbl = <8>;
+			snps,rxpbl = <8>;
+			snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
+			snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
+			snps,axi-config = <&gmac0_stmmac_axi_setup>;
+			status = "disabled";
+
+			gmac0_mdio: mdio {
+				compatible = "snps,dwmac-mdio";
+				#address-cells = <1>;
+				#size-cells = <0>;
+			};
+
+			gmac0_mtl_rx_setup: rx-queues-config {
+				snps,rx-queues-to-use = <1>;
+				queue0 {};
+			};
+
+			gmac0_mtl_tx_setup: tx-queues-config {
+				snps,tx-queues-to-use = <1>;
+				queue0 {};
+			};
+
+			gmac0_stmmac_axi_setup: stmmac-axi-config {
+				snps,blen = <16 8 4 0 0 0 0>;
+				snps,rd_osr_lmt = <2>;
+				snps,wr_osr_lmt = <1>;
+			};
+		};
+
 		uart0: serial@4140000 {
 			compatible = "snps,dw-apb-uart";
 			reg = <0x04140000 0x100>;
-- 
2.50.0


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

* [PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer device for cv18xx
  2025-07-03  2:15 [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx Inochi Amaoto
  2025-07-03  2:15 ` [PATCH 1/3] riscv: dts: sophgo: Add ethernet device " Inochi Amaoto
@ 2025-07-03  2:15 ` Inochi Amaoto
  2025-07-15 17:43   ` Rob Herring
  2025-07-03  2:15 ` [PATCH 3/3] riscv: dts: sophgo: Enable ethernet device for Huashan Pi Inochi Amaoto
  2025-07-10  4:49 ` [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx Inochi Amaoto
  3 siblings, 1 reply; 7+ messages in thread
From: Inochi Amaoto @ 2025-07-03  2:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Chen Wang,
	Inochi Amaoto, Richard Cochran, Alexander Sverdlin, Yixun Lan,
	Ze Huang, Thomas Bonnefille
  Cc: devicetree, linux-riscv, sophgo, linux-kernel, netdev, Longbin Li

Add DT device node of mdio multiplexer device for cv18xx SoC.

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

diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
index 7eecc67f896e..3a82cc40ea1a 100644
--- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
+++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
@@ -31,6 +31,33 @@ rst: reset-controller@3003000 {
 			#reset-cells = <1>;
 		};
 
+		mdio: mdio@3009800 {
+			compatible = "mdio-mux-mmioreg", "mdio-mux";
+			reg = <0x3009800 0x4>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			mdio-parent-bus = <&gmac0_mdio>;
+			mux-mask = <0x80>;
+			status = "disabled";
+
+			internal_mdio: mdio@0 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0>;
+
+				internal_ephy: phy@0 {
+					compatible = "ethernet-phy-ieee802.3-c22";
+					reg = <1>;
+				};
+			};
+
+			external_mdio: mdio@80 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				reg = <0x80>;
+			};
+		};
+
 		gpio0: gpio@3020000 {
 			compatible = "snps,dw-apb-gpio";
 			reg = <0x3020000 0x1000>;
@@ -196,6 +223,8 @@ gmac0: ethernet@4070000 {
 			clock-names = "stmmaceth", "ptp_ref";
 			interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "macirq";
+			phy-handle = <&internal_ephy>;
+			phy-mode = "internal";
 			resets = <&rst RST_ETH0>;
 			reset-names = "stmmaceth";
 			rx-fifo-depth = <8192>;
-- 
2.50.0


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

* [PATCH 3/3] riscv: dts: sophgo: Enable ethernet device for Huashan Pi
  2025-07-03  2:15 [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx Inochi Amaoto
  2025-07-03  2:15 ` [PATCH 1/3] riscv: dts: sophgo: Add ethernet device " Inochi Amaoto
  2025-07-03  2:15 ` [PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer " Inochi Amaoto
@ 2025-07-03  2:15 ` Inochi Amaoto
  2025-07-10  4:49 ` [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx Inochi Amaoto
  3 siblings, 0 replies; 7+ messages in thread
From: Inochi Amaoto @ 2025-07-03  2:15 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Chen Wang,
	Inochi Amaoto, Richard Cochran, Alexander Sverdlin, Yixun Lan,
	Ze Huang, Thomas Bonnefille
  Cc: devicetree, linux-riscv, sophgo, linux-kernel, netdev, Longbin Li

Enable ethernet controller and mdio multiplexer device on Huashan Pi.

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

diff --git a/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts b/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts
index 26b57e15adc1..4a5835fa9e96 100644
--- a/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts
+++ b/arch/riscv/boot/dts/sophgo/cv1812h-huashan-pi.dts
@@ -55,6 +55,14 @@ &emmc {
 	non-removable;
 };
 
+&gmac0 {
+	status = "okay";
+};
+
+&mdio {
+	status = "okay";
+};
+
 &sdhci0 {
 	status = "okay";
 	bus-width = <4>;
-- 
2.50.0


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

* Re: [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx
  2025-07-03  2:15 [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx Inochi Amaoto
                   ` (2 preceding siblings ...)
  2025-07-03  2:15 ` [PATCH 3/3] riscv: dts: sophgo: Enable ethernet device for Huashan Pi Inochi Amaoto
@ 2025-07-10  4:49 ` Inochi Amaoto
  3 siblings, 0 replies; 7+ messages in thread
From: Inochi Amaoto @ 2025-07-10  4:49 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Chen Wang,
	Richard Cochran, Alexander Sverdlin, Yixun Lan, Ze Huang,
	Thomas Bonnefille, Inochi Amaoto
  Cc: devicetree, linux-riscv, sophgo, linux-kernel, netdev, Longbin Li

On Thu, 03 Jul 2025 10:15:55 +0800, Inochi Amaoto wrote:
> Add device binding and dts for CV18XX series SoC.
> 
> Change from RFC v4:
> - https://lore.kernel.org/all/20250701011730.136002-1-inochiama@gmail.com
> 1. split the binding patch as a standalone series.
> 
> Change from RFC v3:
> - https://lore.kernel.org/all/20250626080056.325496-1-inochiama@gmail.com
> 1. patch 3: change internal phy id from 0 to 1
> 
> [...]

Applied to for-next, thanks!

[1/3] riscv: dts: sophgo: Add ethernet device for cv18xx
      https://github.com/sophgo/linux/commit/0100910f6ae2659c1178b3ece064c2f2e7eefbae
[2/3] riscv: dts: sophgo: Add mdio multiplexer device for cv18xx
      https://github.com/sophgo/linux/commit/a4fb40b240fecc3cf84e12277e5b66818a80e3ad
[3/3] riscv: dts: sophgo: Enable ethernet device for Huashan Pi
      https://github.com/sophgo/linux/commit/8f8de50d4bddf155b5e5c70072c3048829a90a98

Thanks,
Inochi


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

* Re: [PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer device for cv18xx
  2025-07-03  2:15 ` [PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer " Inochi Amaoto
@ 2025-07-15 17:43   ` Rob Herring
  2025-07-15 22:06     ` Inochi Amaoto
  0 siblings, 1 reply; 7+ messages in thread
From: Rob Herring @ 2025-07-15 17:43 UTC (permalink / raw)
  To: Inochi Amaoto
  Cc: Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Chen Wang, Richard Cochran,
	Alexander Sverdlin, Yixun Lan, Ze Huang, Thomas Bonnefille,
	devicetree, linux-riscv, sophgo, linux-kernel, netdev, Longbin Li

On Wed, Jul 2, 2025 at 9:16 PM Inochi Amaoto <inochiama@gmail.com> wrote:
>
> Add DT device node of mdio multiplexer device for cv18xx SoC.

This adds a dtbs_check warning:

mdio@3009800 (mdio-mux-mmioreg): mdio@80:reg:0:0: 128 is greater than
the maximum of 31

>
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> ---
>  arch/riscv/boot/dts/sophgo/cv180x.dtsi | 29 ++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> index 7eecc67f896e..3a82cc40ea1a 100644
> --- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> +++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> @@ -31,6 +31,33 @@ rst: reset-controller@3003000 {
>                         #reset-cells = <1>;
>                 };
>
> +               mdio: mdio@3009800 {

The nodename is wrong here because this is not an MDIO bus. It is a
mux. So "mdio-mux@..." for the node name.

> +                       compatible = "mdio-mux-mmioreg", "mdio-mux";
> +                       reg = <0x3009800 0x4>;
> +                       #address-cells = <1>;
> +                       #size-cells = <0>;
> +                       mdio-parent-bus = <&gmac0_mdio>;
> +                       mux-mask = <0x80>;
> +                       status = "disabled";
> +
> +                       internal_mdio: mdio@0 {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0>;
> +
> +                               internal_ephy: phy@0 {
> +                                       compatible = "ethernet-phy-ieee802.3-c22";
> +                                       reg = <1>;
> +                               };
> +                       };
> +
> +                       external_mdio: mdio@80 {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x80>;
> +                       };
> +               };
> +
>                 gpio0: gpio@3020000 {
>                         compatible = "snps,dw-apb-gpio";
>                         reg = <0x3020000 0x1000>;
> @@ -196,6 +223,8 @@ gmac0: ethernet@4070000 {
>                         clock-names = "stmmaceth", "ptp_ref";
>                         interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>;
>                         interrupt-names = "macirq";
> +                       phy-handle = <&internal_ephy>;
> +                       phy-mode = "internal";
>                         resets = <&rst RST_ETH0>;
>                         reset-names = "stmmaceth";
>                         rx-fifo-depth = <8192>;
> --
> 2.50.0
>

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

* Re: [PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer device for cv18xx
  2025-07-15 17:43   ` Rob Herring
@ 2025-07-15 22:06     ` Inochi Amaoto
  0 siblings, 0 replies; 7+ messages in thread
From: Inochi Amaoto @ 2025-07-15 22:06 UTC (permalink / raw)
  To: Rob Herring, Inochi Amaoto
  Cc: Krzysztof Kozlowski, Conor Dooley, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Alexandre Ghiti, Chen Wang, Richard Cochran,
	Alexander Sverdlin, Yixun Lan, Ze Huang, Thomas Bonnefille,
	devicetree, linux-riscv, sophgo, linux-kernel, netdev, Longbin Li

On Tue, Jul 15, 2025 at 12:43:35PM -0500, Rob Herring wrote:
> On Wed, Jul 2, 2025 at 9:16 PM Inochi Amaoto <inochiama@gmail.com> wrote:
> >
> > Add DT device node of mdio multiplexer device for cv18xx SoC.
> 
> This adds a dtbs_check warning:
> 
> mdio@3009800 (mdio-mux-mmioreg): mdio@80:reg:0:0: 128 is greater than
> the maximum of 31
> 
> >
> > Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> > ---
> >  arch/riscv/boot/dts/sophgo/cv180x.dtsi | 29 ++++++++++++++++++++++++++
> >  1 file changed, 29 insertions(+)
> >
> > diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> > index 7eecc67f896e..3a82cc40ea1a 100644
> > --- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> > +++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
> > @@ -31,6 +31,33 @@ rst: reset-controller@3003000 {
> >                         #reset-cells = <1>;
> >                 };
> >
> > +               mdio: mdio@3009800 {
> 
> The nodename is wrong here because this is not an MDIO bus. It is a
> mux. So "mdio-mux@..." for the node name.
> 

Thanks, I will send a fix for this.

Regards,
Inochi


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

end of thread, other threads:[~2025-07-15 22:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-03  2:15 [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx Inochi Amaoto
2025-07-03  2:15 ` [PATCH 1/3] riscv: dts: sophgo: Add ethernet device " Inochi Amaoto
2025-07-03  2:15 ` [PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer " Inochi Amaoto
2025-07-15 17:43   ` Rob Herring
2025-07-15 22:06     ` Inochi Amaoto
2025-07-03  2:15 ` [PATCH 3/3] riscv: dts: sophgo: Enable ethernet device for Huashan Pi Inochi Amaoto
2025-07-10  4:49 ` [PATCH 0/3] riscv: dts: sophgo: Add ethernet support for cv18xx 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).