[PATCH 2/3] riscv: dts: sophgo: Add mdio multiplexer device for cv18xx

Rob Herring robh at kernel.org
Tue Jul 15 10:43:35 PDT 2025


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

This adds a dtbs_check warning:

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

>
> Signed-off-by: Inochi Amaoto <inochiama at 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 at 3003000 {
>                         #reset-cells = <1>;
>                 };
>
> +               mdio: mdio at 3009800 {

The nodename is wrong here because this is not an MDIO bus. It is a
mux. So "mdio-mux at ..." 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 at 0 {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0>;
> +
> +                               internal_ephy: phy at 0 {
> +                                       compatible = "ethernet-phy-ieee802.3-c22";
> +                                       reg = <1>;
> +                               };
> +                       };
> +
> +                       external_mdio: mdio at 80 {
> +                               #address-cells = <1>;
> +                               #size-cells = <0>;
> +                               reg = <0x80>;
> +                       };
> +               };
> +
>                 gpio0: gpio at 3020000 {
>                         compatible = "snps,dw-apb-gpio";
>                         reg = <0x3020000 0x1000>;
> @@ -196,6 +223,8 @@ gmac0: ethernet at 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
>



More information about the linux-riscv mailing list