Using KSZ9131 on RZG2H Board and kernel 5.10.138 LTS-SDK3.0.3

Hi Forum,

We have a customized  rzg2h Board (taken a reference of rzg2h-hihope board, In the new custom board we replaced realtek with  ksz9131RNX.

We used the same pin connection in the hardware and in the kernel config we disabled the realtek and enabled ksz9131 but the phy is non functional.

And we not able to probe and detect the phy.

Could any one here  help/point  us  to the steps required to get this phy up .

Thanks and regards,

Nagaraja

Parents
  • Hi Nagaraja,

    You should show the change points of your devicetree, and the kernel boot log.
    Maybe there are some clues there.

  • Hi Hung T,

    Thanks for the reply,

    Here is the the kernel log and my dts entries,

    root@hihope-rzg2h:~# dmesg | grep eth0*
    [ 0.000000] psci: probing for conduit method from DT.
    [ 2.281423] optee: probing for conduit method.
    [ 2.512407] ravb e6800000.ethernet: no valid MAC address supplied, using a random one
    [ 2.520670] mdio_bus e6800000.ethernet-ffffffff: MDIO device at address 0 is missing.
    [ 2.529054] ravb e6800000.ethernet eth0: Base address at 0xe6800000, de:3d:d1:a1:6e:b0, IRQ 177.
    [ 7.395309] ravb e6800000.ethernet eth0: failed to connect PHY
    [ 7.566335] ravb e6800000.ethernet eth0: failed to connect PHY
    root@hihope-rzg2h:~# ifconfig
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:312 errors:0 dropped:0 overruns:0 frame:0
    TX packets:312 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:20232 (19.7 KiB) TX bytes:20232 (19.7 KiB)

    root@hihope-rzg2h:~#

    And my dts entries in r8a774e1-hihope-rzg2h-ex.dts file is: as below

    &avb {
    status = "okay";
    pinctrl-names = "default";
    phy-handle = <&phy1>;
    phy-mode = "rgmii-id";
    phy1: phy@7 {
    reg = <7>;
    compatible = "micrel,ksz9131";
    device_type = "ethernet-phy";
    };
    };

    Thanks and regards,

    Nagaraja

  • [ 2.520670] mdio_bus e6800000.ethernet-ffffffff: MDIO device at address 0 is missing.

    phy1: phy@7 {
    reg = <7>;

    Do you really have the pins the PHY set to address 7?

  • Hi,

    Thanks for the reply , now My dts entries is as below:

    &avb {
            status = "okay";
            pinctrl-names = "default";
            phy-handle = <&phy1>;
            phy-mode = "rgmii-id";
            phy1: phy@3 {
                    reg = <0x3>;
            compatible = "ethernet-phy-ieee802.3-c22";
            };
    };

    Self ping is happening and able to ping peer-to-peer But when i try to connect to ping  the network, it is not working,

    Please guide us what am i missing here. and how do go about it.Please see the attached screenshot.

    Thanks and regards,

    Nagaraja

  • Hi Chris,

    Yes I set the mac addres in u-boot using setenv ethaddr .

    bdinfo shows the mac adress

    Then also not able to get ethernet working.

    Thanks and regards,

    Nagaraja

  • next you should check the board design and verify the signals. maybe put a scope on the pins to make sure data is coming out.

  • Hi Nagaraja,
    Did you resolve your issue? Is there anything else to assist you?
    Could i go on and mark the answer as verified?
    Kind Regards.

  • Hi  Team,

    Actually we got the ethernet driver(micrel.c) working but we are having packet loss of around 50-70 % in SDK 3.0.3 of renesas which uses 5.10.138 kernel, still working on it to found out the issues, it will be very helpful it you help us to resolve this issues,

    Thanks and regards,

    Nagaraja

  • Packet loss is probably from the signal connection between the RZ and the PHY. There isn't much signal adjustment on the RZ side, so you will have to see about what timing changes can be done on the RZ side.

  • Hi Chris,

    Thanks for the reply. The same dts  configuration and same driver(micrel.c / KSZ9131RNX) we got it working in SDK-1.0.6  on RZG2N custom made board. But we have packet loss in SDK-3.0.3 on RZG2H custom made board.

    Is the driver tested in SDK-3.0.3 ?

    Thanks and regards,

    Nagaraja

  • Hi,

    Regarding packet loss, I believe you have already been given good advice by Chris.

    In addition, I suspect that you have specified rgmii-id as the phy-mode but have not adjusted the signal skew on the PHY side.

    Please refer to the following documentation:
        Documentation/devicetree/bindings/net/micrel-ksz90x1.txt

    BR

  • Hi Nagaraja,

    Is your issue resolved? If so, then could i go on and mark the answer as verified?
    It is very useful for our community because it may help other users who have a similar issue.
    Thank you for your time.
    Kind Regards.

  • Hi PT_Renesas,

    I have changed the dts file as below,

    &avb {
            status = "okay";
            pinctrl-names = "default";
            phy-handle = <&phy1>;
            phy-mode = "rgmii-id";
            phy1: phy@3 {
                    compatible = "ethernet-phy-ieee802.3-c22";
                    reg = <0x3>;
                    rxc-skew-psec = <0x960>;
                    txc-skew-psec = <0x960>;
                    rxdv-skew-psec = <0x00>;
                    txdv-skew-psec = <0x00>;
                    rxd0-skew-psec = <0x00>;
                    rxd1-skew-psec = <0x00>;
                    rxd2-skew-psec = <0x00>;
                    rxd3-skew-psec = <0x00>;
                    txd0-skew-psec = <0x00>;
                    txd1-skew-psec = <0x00>;
                    txd2-skew-psec = <0x00>;
                    txd3-skew-psec = <0x00>;
            };
    };

    Even then Ethernet is not working,

    Is there any changes required in SDK-3.0.3 driver or in dts file.

    I Have made  below entries in SDK-1.0.6 for rzg2n it is working fine.

    &avb {
            status = "okay";
             pinctrl-names = "default";
             phy-handle = <&phy1>;
            phy-mode = "rgmii-id";
           phy1: phy@3 {
                    reg = <0x3>;
                    compatible = "ethernet-phy-ieee802.3-c22";
           };
    };

    But in sdk3.0.3 it is not working.

    Any document or example entries wil help us please guide us

    Thanks and regards,

    Nagaraja

  • I still do not understand if it fully works with VLP-1.0.6 or there's packet loss also there.

    I think you should summarize where you are at.

  • Hi MicBis,

    Basically we have two custom board one based on RZG2N and another based on RZG2H ,taken a reference of hi-hope evaluation board.

    We are using SDK-1.0.6( Kernel 4.19.)  for RZG2N custom board  where ksz9131 is working fine no packet loss, ethernet is workig fine. we are able to stream 16 IP cameras using gstreammer.

    We are using sdk-3.0.3 for rzg2h custom board  beause we need to interface da7218 also. Using this playback is working fine and capture is having issue.The kernel we are using  is 5.10.138. in This case ksz9131 is not working we encounter a 50-80 % packet loss.

    The below dts configuration  used in sdk-1.0.6  and is wokring fine

    &avb {
            status = "okay";
             pinctrl-names = "default";
             phy-handle = <&phy1>;
            phy-mode = "rgmii-id";
           phy1: phy@3 {
                    reg = <0x3>;
                    compatible = "ethernet-phy-ieee802.3-c22";
           };
    };

    Tried modifying the dts configration as mensioned in my earlier mail but no improvement.

    But the same configuration is giving 50-80 packet loss in sdk-3.0.3

    Could you please tell us what is the changes required to get ksz9131 on SDK-3.0.3.

    Thanks and regards,

    Nagaraja

Reply
  • Hi MicBis,

    Basically we have two custom board one based on RZG2N and another based on RZG2H ,taken a reference of hi-hope evaluation board.

    We are using SDK-1.0.6( Kernel 4.19.)  for RZG2N custom board  where ksz9131 is working fine no packet loss, ethernet is workig fine. we are able to stream 16 IP cameras using gstreammer.

    We are using sdk-3.0.3 for rzg2h custom board  beause we need to interface da7218 also. Using this playback is working fine and capture is having issue.The kernel we are using  is 5.10.138. in This case ksz9131 is not working we encounter a 50-80 % packet loss.

    The below dts configuration  used in sdk-1.0.6  and is wokring fine

    &avb {
            status = "okay";
             pinctrl-names = "default";
             phy-handle = <&phy1>;
            phy-mode = "rgmii-id";
           phy1: phy@3 {
                    reg = <0x3>;
                    compatible = "ethernet-phy-ieee802.3-c22";
           };
    };

    Tried modifying the dts configration as mensioned in my earlier mail but no improvement.

    But the same configuration is giving 50-80 packet loss in sdk-3.0.3

    Could you please tell us what is the changes required to get ksz9131 on SDK-3.0.3.

    Thanks and regards,

    Nagaraja

Children
  • Hi,

    In this situation, the PHY and MAC are communicating successfully,
    and I don't think the PHY and packet loss issue are related.

    Can you determine whether packet loss is occurring on transmit, receive, or both?
    Also, if you look at it over a slightly longer period of time, does packet loss continue to occur?
    Or does packet loss happen suddenly and then recover repeatedly?

    What are the error statistics displayed by ifconfig after communication?
    Are there any ethernet driver errors output in the kernel log displayed by dmesg?

    How is it?

    BR