LS1048A with RGMII PHY on EC1

cancel
Showing results for 
Search instead for 
Did you mean: 

LS1048A with RGMII PHY on EC1

515 Views
michaelchen_nsb
Contributor II

Could any provide the example dpl file for LS1048a with RGMII PHY on EC1 interface?

Our serdis configuration is :

Using SERDES1 Protocol: 21 (0x15)
Using SERDES2 Protocol: 19 (0x13)

and we've a Realtek PHY connected with EC1.

BTW, we have this error when apply the default dpl file

=> fsl_mc apply DPL 0x80300000

fsl-mc: Deploying data path layout ... WARNING: Firmware returned an error (GSR: 0x3f)

Thanks

Labels (1)
3 Replies

157 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Michael Chen,

In LSDK 1809 environment, please execute the following commands to build mc firmware image, DPL and DPC image for LS1088ARDB.

$ flex-builder -c mc-utils -m ls1088ardb

$ flex-builder -c qoriq-mc-binary -m ls1088ardb

You will get mc firmware image in

flexbuild_lsdk1809/packages/firmware/qoriq-mc-binary/ls1088a/mc_10.10.0_ls1088a_20180814.itb

You will get dpc and dpl images in

flexbuild_lsdk1809/packages/firmware/mc-utils/config/ls1088a/RDB/dpc*.dtb and dpl-eth*.dtb.

You also could modify dpl and dpc files according to your custom board in the custom folder.

 

$ tftp  0x81000000 mc_10.10.0_ls1088a_20180814.itb

$ tftp 0x82000000 dpc*.dtb

$ tftp 0x83000000 dpl-eth*.dtb


Apply MC firmware and DPC image

fsl_mc start mc 0x81000000 0x82000000

Apply DPL image as the following

fsl_mc apply DPL 0x83000000

In addition, regarding SERDES and PHY connection, please modify "switch (srds_s1)" section in board/freescale/ls1088a/eth_ls1088ardb.c.

In the Linux Kernel dts file, please modify register value in "&emdio1" section in arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

157 Views
michaelchen_nsb
Contributor II

hello yipingwang

Thanks for your feedback, now our GE is ok under uboot, but it is NOK under kernel, and we got error code 0x3F when apply DPL everytime. Please help to check if they are correct or not.

=> fsl_mc apply DPL 0x80300000
fsl-mc: Deploying data path layout ... WARNING: Firmware returned an error (GSR: 0x3f)

Here is the DPC and DPL

/dts-v1/;
/ {
    resources {
        icid_pools {
            icid_pool@1 {
                num = <100>;
                base_icid = <0>;
            };
        };
    };
    mc_general {
        log {
            mode = "LOG_MODE_ON";
            level = "LOG_LEVEL_WARNING";
        };
        console {
            mode = "CONSOLE_MODE_ON";
            uart_id = <3>;
        };
    };
    aiop {
        log {
            mode = "LOG_MODE_ON";
        };
        console {
            mode = "CONSOLE_MODE_ON";
            uart_id = <4>;
        };
    };
    controllers {
        qbman {
            /* Transform this number of 8-WQ channels into four times
             * as many 2-WQ channels. This allows the creation of a
             * larger number of DPCONs.
             */
            wq_ch_conversion = <24>;
        };
    };
    board_info {
        ports {
            /* All ports have by default FIXED_LINK PHYs.
             * Add "MAC_LINK_TYPE_PHY" properties for ports
             * that have managed PHYs
             */
            mac@4 {
                link_type = "MAC_LINK_TYPE_PHY";
                port_mac_address = <0x00 0x04 0x9F 0x01 0x03 0x94>;
            };
        };
    };
};

/dts-v1/;
/ {
    dpl-version = <10>;
    /*****************************************************************
     * Containers
     *****************************************************************/
    containers {
        dprc@1 {
            compatible = "fsl,dprc";
            parent = "none";
            options = "DPRC_CFG_OPT_SPAWN_ALLOWED" , "DPRC_CFG_OPT_ALLOC_ALLOWED", "DPRC_CFG_OPT_IRQ_CFG_ALLOWED";
            objects {
                /* ------------- MACs --------------*/
                obj_set@dpmac {
                    type = "dpmac";
                    ids = <1 2 3 4 5 6 7 8 9 10>;
                };

                /* ------------ DPNIs --------------*/
                obj@200 {
                    obj_name = "dpni@0";
                };

                /* ------------ DPBPs --------------*/
                obj@300 {
                    obj_name="dpbp@1";
                };

                /* ------------ DPIOs --------------*/
                obj_set@dpio {
                    type = "dpio";
                    ids = <1 2 3 4 5 6 7 8>;
                };

                /* ------------ DPMCPs --------------*/
                obj_set@dpmcp {
                    type = "dpmcp";
                    ids = <1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17>;
                };

                /* ------------ DPCON --------------*/
                obj@500 {
                    obj_name="dpcon@1";
                };

                /* ------------ DPRTC --------------*/
                obj@800 {
                    obj_name="dprtc@0";
                };
            };
        };
    };

    /*****************************************************************
     * Objects
     *****************************************************************/
    objects {

        /* ------------ DPNI --------------*/
        dpni@0 {
            options = "";
            num_queues = <1>;
            num_tcs = <1>;
        };

        /* ------------ DPBP --------------*/
        dpbp@1 {
        };

        /* ------------ DPIO --------------*/
        dpio@1 {
            compatible = "fsl,dpio";
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };
        dpio@2 {
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };
        dpio@3 {
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };
        dpio@4 {
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };
        dpio@5 {
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };
        dpio@6 {
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };
        dpio@7 {
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };
        dpio@8 {
            channel_mode = "DPIO_LOCAL_CHANNEL";
            num_priorities = <8>;
        };

        /* ------------ DPMAC --------------*/
        dpmac@1 {
        };
        dpmac@2 {
        };
        dpmac@3 {
        };
        dpmac@4 {
        };
        dpmac@5 {
        };
        dpmac@6 {
        };
        dpmac@7 {
        };
        dpmac@8 {
        };
        dpmac@9 {
        };
        dpmac@10 {
        };

        /* ------------ DPMCP --------------*/
        dpmcp@1 {
        };
        dpmcp@2 {
        };
        dpmcp@3 {
        };
        dpmcp@4 {
        };
        dpmcp@5 {
        };
        dpmcp@6 {
        };
        dpmcp@7 {
        };
        dpmcp@8 {
        };
        dpmcp@9 {
        };
        dpmcp@10 {
        };
        dpmcp@11 {
        };
        dpmcp@12 {
        };
        dpmcp@13 {
        };
        dpmcp@14 {
        };
        dpmcp@15 {
        };
        dpmcp@16 {
        };
        dpmcp@17 {
        };

        /* ------------ DPCON --------------*/
        dpcon@1 {
            num_priorities=<2>;
        };

        /* ------------ DPRTC --------------*/
        dprtc@0 {
        };
    };

    /*****************************************************************
     * Connections
     *****************************************************************/
    connections {
        connection@2{
            endpoint1 = "dpni@0";
            endpoint2 = "dpmac@4";
        };
    };
};

We can see ingress packets normally, but the packet never come out in egress direction.

root@ls1088ardb:~# tcpdump -i eth0
[ 102.723467] device eth0 entered promiscuous mode
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
10:51:21.824186 IP 192.168.9.222.50201 > 239.255.255.250.1900: UDP, length 133
10:51:24.219378 IP6 fe80::bd42:26c0:d995:9c19.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
10:51:24.824478 IP 192.168.9.222.50201 > 239.255.255.250.1900: UDP, length 133
[ 111.163898] dpaa2_mac dpmac.4 (unnamed net_device) (uninitialized): Link is Down
[ 111.173875] fsl_dpaa2_eth dpni.0 eth0: Link Event: state down
[ 115.259960] dpaa2_mac dpmac.4 (unnamed net_device) (uninitialized): Link is Up - 10Mbps/Full - flow control off
[ 115.273111] fsl_dpaa2_eth dpni.0 eth0: Link Event: state up
10:51:32.401666 IP6 fe80::204:9fff:fe01:394 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
10:51:32.573650 IP6 fe80::204:9fff:fe01:394 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
10:51:32.656417 IP6 fe80::bd42:26c0:d995:9c19 > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48
10:51:32.961722 IP6 fe80::bd42:26c0:d995:9c19.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
10:51:33.156306 ARP, Request who-has 192.168.9.222 tell 0.0.0.0, length 46
10:51:33.156635 IP6 fe80::bd42:26c0:d995:9c19 > ip6-allnodes: ICMP6, neighbor advertisement, tgt is fe80::bd42:26c0:d995:9c19, length 32
10:51:33.250676 IP6 fe80::bd42:26c0:d995:9c19 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
10:51:33.265261 IP 192.168.9.222 > 224.0.0.22: igmp v3 report, 1 group record(s)
10:51:33.289646 IP6 fe80::bd42:26c0:d995:9c19 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
10:51:33.290693 IP 192.168.9.222 > 224.0.0.22: igmp v3 report, 1 group record(s)
10:51:33.301406 IP 192.168.9.222.51570 > 239.255.255.250.3702: UDP, length 994
10:51:33.302757 IP6 fe80::bd42:26c0:d995:9c19.51571 > ff02::c.3702: UDP, length 994
10:51:33.381502 IP6 fe80::bd42:26c0:d995:9c19.51571 > ff02::c.3702: UDP, length 994
10:51:33.436158 IP 192.168.9.222.51570 > 239.255.255.250.3702: UDP, length 994
10:51:33.656429 IP 192.168.9.222 > 224.0.0.22: igmp v3 report, 2 group record(s)
10:51:33.656770 IP6 fe80::bd42:26c0:d995:9c19 > ff02::16: HBH ICMP6, multicast listener report v2, 2 group record(s), length 48
10:51:34.156455 ARP, Request who-has 192.168.9.222 tell 0.0.0.0, length 46
10:51:34.895130 IP 192.168.9.222.51780 > 239.255.255.250.1900: UDP, length 133
10:51:34.961752 IP6 fe80::bd42:26c0:d995:9c19.dhcpv6-client > ff02::1:2.dhcpv6-server: dhcp6 solicit
10:51:35.156556 ARP, Request who-has 192.168.9.222 tell 192.168.9.222, length 46
10:51:35.198478 IP6 fe80::bd42:26c0:d995:9c19 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
10:51:35.198694 IP 192.168.9.222 > 224.0.0.22: igmp v3 report, 1 group record(s)
10:51:35.305558 IP6 fe80::bd42:26c0:d995:9c19 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
10:51:35.305675 IP 192.168.9.222 > 224.0.0.22: igmp v3 report, 1 group record(s)
10:51:35.307293 IP6 fe80::bd42:26c0:d995:9c19.52757 > ff02::1:3.hostmon: UDP, length 29
10:51:35.307376 IP 192.168.9.222.64426 > 224.0.0.252.hostmon: UDP, length 29
10:51:35.332068 IP 192.168.9.222.netbios-dgm > 192.168.9.255.netbios-dgm: NBT UDP PACKET(138)
10:51:35.380687 IP 192.168.9.222.netbios-dgm > 192.168.9.255.netbios-dgm: NBT UDP PACKET(138)

Thanks

Chen Feng

0 Kudos

157 Views
songhee_yun
Contributor III

Hello Chen Feng

I have the same problem. If you solved the problem, please share it.

Best Regards,

Songhee

0 Kudos