From: Chen-Yu Yeh <chenyou910331@gmail.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Chen Wang <chen.wang@linux.dev>,
Inochi Amaoto <inochiama@gmail.com>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>
Cc: Hiago De Franco <hfranco@baylibre.com>,
Longbin Li <looong.bin@gmail.com>,
"Anton D. Stavinskii" <stavinsky@gmail.com>,
Joshua Milas <josh.milas@gmail.com>,
devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
sophgo@lists.linux.dev, linux-kernel@vger.kernel.org,
Chen-Yu Yeh <chenyou910331@gmail.com>
Subject: [PATCH v3 0/2] riscv: dts: sophgo: Milk-V Duo 256M ethernet support
Date: Mon, 5 Oct 2026 17:37:47 +0800 [thread overview]
Message-ID: <20261005093749.645014-1-chenyou910331@gmail.com> (raw)
The Milk-V Duo 256M has no Ethernet connector of its own; the SG2002's
internal PHY is only usable through the optional USB & Ethernet IO
board. This series adds an overlay for that board and fixes the name of
the internal PHY node it exposes.
Changes in v3:
- Rename the PHY node to ethernet-phy@1, as the commit message already
said; v2 only changed the unit address (sashiko-bot). dtbs_check now
validates the node against ethernet-phy.yaml, with no new warnings.
- Drop the blank line in the trailer block of 2/2 (Hiago)
- Collect Hiago's Reviewed-by
- Keep Inochi's Reviewed-by on 2/2, since the only change is the node
name
Changes in v2:
- Enable Ethernet through an overlay instead of in the board
devicetree, since without the IO board the pins may be used as GPIO
(Inochi)
- Send both patches in one thread (Inochi)
- Test link-up and traffic on the IO board, which v1 could not
- Collect Inochi's Reviewed-by on the PHY node name fix
The overlay has the same shape as Hiago's for the Milk-V Duo [1], so the
two boards stay consistent. The PHY node name fix is in cv180x.dtsi and
so covers that board as well.
Testing, with a kernel built from this branch:
- sg2002-milkv-duo256m-eth.dtb: eth0 comes up at 100Mbps/Full, gets an
address via DHCP and passes traffic
- sg2002-milkv-duo256m.dtb: no eth0 is created, and the gmac node
reads back as disabled
Kernel log with sg2002-milkv-duo256m-eth.dtb:
[ 1.426499] stmmaceth 4070000.ethernet: User ID: 0x10, Synopsys ID: 0x37
[ 1.426536] stmmaceth 4070000.ethernet: DWMAC1000
[ 6.052829] stmmaceth 4070000.ethernet eth0: PHY [mdio_mux-0.0:01] driver [Generic PHY] (irq=POLL)
[ 8.138131] stmmaceth 4070000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.0.47/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
With the base sg2002-milkv-duo256m.dtb:
# ip addr show eth0
ip: can't find device 'eth0'
# cat /proc/device-tree/soc/ethernet@4070000/status
disabled
iperf3 against a desktop on the same switch gives 94 Mbit/s with the
board sending and 70-74 Mbit/s with it receiving, with no
retransmissions either way. The receive side being slower is not a CPU
limit on the board; I have not looked into it further yet.
v1: https://lore.kernel.org/sophgo/20260803163323.74414-1-chenyou910331@gmail.com/
https://lore.kernel.org/sophgo/20260803163427.74445-1-chenyou910331@gmail.com/
v2: https://lore.kernel.org/sophgo/20261003084627.353899-1-chenyou910331@gmail.com/
[1] https://lore.kernel.org/sophgo/20261001-milkv-duo-eth-overlay-v1-1-78bc1454f35b@baylibre.com/
Chen-Yu Yeh (2):
riscv: dts: sophgo: add Milk-V Duo 256M ethernet support overlay
riscv: dts: sophgo: cv180x: Fix internal ephy node name
arch/riscv/boot/dts/sophgo/Makefile | 3 +++
arch/riscv/boot/dts/sophgo/cv180x.dtsi | 2 +-
.../dts/sophgo/sg2002-milkv-duo256m-eth.dtso | 17 +++++++++++++++++
3 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 arch/riscv/boot/dts/sophgo/sg2002-milkv-duo256m-eth.dtso
--
2.43.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Chen-Yu Yeh <chenyou910331@gmail.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Chen Wang <chen.wang@linux.dev>,
Inochi Amaoto <inochiama@gmail.com>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>
Cc: Hiago De Franco <hfranco@baylibre.com>,
Longbin Li <looong.bin@gmail.com>,
"Anton D. Stavinskii" <stavinsky@gmail.com>,
Joshua Milas <josh.milas@gmail.com>,
devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
sophgo@lists.linux.dev, linux-kernel@vger.kernel.org,
Chen-Yu Yeh <chenyou910331@gmail.com>
Subject: [PATCH v3 0/2] riscv: dts: sophgo: Milk-V Duo 256M ethernet support
Date: Mon, 5 Oct 2026 17:37:47 +0800 [thread overview]
Message-ID: <20261005093749.645014-1-chenyou910331@gmail.com> (raw)
The Milk-V Duo 256M has no Ethernet connector of its own; the SG2002's
internal PHY is only usable through the optional USB & Ethernet IO
board. This series adds an overlay for that board and fixes the name of
the internal PHY node it exposes.
Changes in v3:
- Rename the PHY node to ethernet-phy@1, as the commit message already
said; v2 only changed the unit address (sashiko-bot). dtbs_check now
validates the node against ethernet-phy.yaml, with no new warnings.
- Drop the blank line in the trailer block of 2/2 (Hiago)
- Collect Hiago's Reviewed-by
- Keep Inochi's Reviewed-by on 2/2, since the only change is the node
name
Changes in v2:
- Enable Ethernet through an overlay instead of in the board
devicetree, since without the IO board the pins may be used as GPIO
(Inochi)
- Send both patches in one thread (Inochi)
- Test link-up and traffic on the IO board, which v1 could not
- Collect Inochi's Reviewed-by on the PHY node name fix
The overlay has the same shape as Hiago's for the Milk-V Duo [1], so the
two boards stay consistent. The PHY node name fix is in cv180x.dtsi and
so covers that board as well.
Testing, with a kernel built from this branch:
- sg2002-milkv-duo256m-eth.dtb: eth0 comes up at 100Mbps/Full, gets an
address via DHCP and passes traffic
- sg2002-milkv-duo256m.dtb: no eth0 is created, and the gmac node
reads back as disabled
Kernel log with sg2002-milkv-duo256m-eth.dtb:
[ 1.426499] stmmaceth 4070000.ethernet: User ID: 0x10, Synopsys ID: 0x37
[ 1.426536] stmmaceth 4070000.ethernet: DWMAC1000
[ 6.052829] stmmaceth 4070000.ethernet eth0: PHY [mdio_mux-0.0:01] driver [Generic PHY] (irq=POLL)
[ 8.138131] stmmaceth 4070000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 192.168.0.47/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
With the base sg2002-milkv-duo256m.dtb:
# ip addr show eth0
ip: can't find device 'eth0'
# cat /proc/device-tree/soc/ethernet@4070000/status
disabled
iperf3 against a desktop on the same switch gives 94 Mbit/s with the
board sending and 70-74 Mbit/s with it receiving, with no
retransmissions either way. The receive side being slower is not a CPU
limit on the board; I have not looked into it further yet.
v1: https://lore.kernel.org/sophgo/20260803163323.74414-1-chenyou910331@gmail.com/
https://lore.kernel.org/sophgo/20260803163427.74445-1-chenyou910331@gmail.com/
v2: https://lore.kernel.org/sophgo/20261003084627.353899-1-chenyou910331@gmail.com/
[1] https://lore.kernel.org/sophgo/20261001-milkv-duo-eth-overlay-v1-1-78bc1454f35b@baylibre.com/
Chen-Yu Yeh (2):
riscv: dts: sophgo: add Milk-V Duo 256M ethernet support overlay
riscv: dts: sophgo: cv180x: Fix internal ephy node name
arch/riscv/boot/dts/sophgo/Makefile | 3 +++
arch/riscv/boot/dts/sophgo/cv180x.dtsi | 2 +-
.../dts/sophgo/sg2002-milkv-duo256m-eth.dtso | 17 +++++++++++++++++
3 files changed, 21 insertions(+), 1 deletion(-)
create mode 100644 arch/riscv/boot/dts/sophgo/sg2002-milkv-duo256m-eth.dtso
--
2.43.0
next reply other threads:[~2026-10-05 9:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 9:37 Chen-Yu Yeh [this message]
2026-10-05 9:37 ` [PATCH v3 0/2] riscv: dts: sophgo: Milk-V Duo 256M ethernet support Chen-Yu Yeh
2026-10-05 9:37 ` [PATCH v3 1/2] riscv: dts: sophgo: add Milk-V Duo 256M ethernet support overlay Chen-Yu Yeh
2026-10-05 9:37 ` Chen-Yu Yeh
2026-10-05 9:37 ` [PATCH v3 2/2] riscv: dts: sophgo: cv180x: Fix internal ephy node name Chen-Yu Yeh
2026-10-05 9:37 ` Chen-Yu Yeh
2026-10-09 9:47 ` [PATCH v3 0/2] riscv: dts: sophgo: Milk-V Duo 256M ethernet support Inochi Amaoto
2026-10-09 9:47 ` Inochi Amaoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261005093749.645014-1-chenyou910331@gmail.com \
--to=chenyou910331@gmail.com \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=chen.wang@linux.dev \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=hfranco@baylibre.com \
--cc=inochiama@gmail.com \
--cc=josh.milas@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=looong.bin@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=robh@kernel.org \
--cc=sophgo@lists.linux.dev \
--cc=stavinsky@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.