Re: Dts for eth network based on marvell's mv88e6390x crashes Xilinx's linux-kernel v5.4
From: Andrew Lunn
Date: Mon Oct 19 2020 - 10:26:20 EST
On Mon, Oct 19, 2020 at 05:05:08PM +0300, michael alayev wrote:
> Hello Andrew,
>
>
> > Please fix your email client and
>
>
> > post the DT file for review. I will
>
> > then point out some of the errors.
>
>
>
> &gem0 {
> status = "okay";
> phy-mode = "rgmii-id";
> phy-handle = <&phy0>;
The diagram you showed had gem0 connected directly to the switch. So
this phy-handle is wrong. Or the diagram is wrong.
>
> mdio {
> #address-cells = <1>;
> #size-cells = <0>;
>
> phy0: ethernet-phy@0 {
> compatible = "marvell";
> reg = <0>;
> device_type = "ethernet-phy";
> fixed-link {
> speed = <1000>;
> full-duplex;
> };
> };
>
> debug_phy: ethernet-phy@1 {
> compatible = "marvell";
> reg = <1>;
> device_type = "ethernet-phy";
> label = "debug-phy";
> };
indentation is all wrong here.
> switch0: switch@2 {
> compatible = "marvell,mv88e6190";
> #address-cells = <1>;
> #size-cells = <0>;
> reg = <2>;
>
> dsa,member = <0 0>;
>
> ports {
> #address-cells = <1>;
> #size-cells = <0>;
>
> switch0phy1: port@0 {
> reg = <0>;
> label = "uid208-cpu";
> ethernet = <&gem0>;
> phy-mode = "rgmii-id";
You have gem0 using gphy-mode = "rgmii-id" as well. Both doing delays
will not work. You should drop the one in gem0.
> fixed-link {
> speed = <1000>;
> full-duplex;
> };
> };
>
>
> port@1 {
> reg = <1>;
> label = "uid201-1A";
> };
>
> port@2 {
> reg = <2>;
> label = "uid202-2A-p9-1A";
> phy-mode = "1000base-x";
> fixed-link {
> speed = <1000>;
> full-duplex;
> };
Why both 1000base-x and fixed link? Do you have an SFP connected? If
so, describe the SFP in DT.
> };
>
> switch0port10: port@10 {
> reg = <10>;
> label = "dsa";
> link = <&switch1port10>;
> phy-mode = "1000base-x";
> fixed-link {
> speed = <1000>;
> full-duplex;
> };
> };
This is a 6390X right? Why limit it to 1000base-X when it could be
doing 10G?
Andrew