[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