This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ti811x: ping from uboot is not working

I am trying to bring up broadcom BCM89811 phy chip in our custom board based on ti811x. ping command is not working even though phy shows link up. Board connected to PC using cross cable. Both pc(192.168.1.52) and board(192.168.1.49) assigned with static ip. uboot console message shown below. and code is also copied for your reference. Can someone help me to fix this communication issue.


board: custom board based on J5 ti811x
Ethernet Phy: BCM89811 from broadcom. configured in RMII mode and interfaced with EMAC0. Phy address: 01
ezsdk uboot version    :u-boot-2010.06-psp04.07.00.02
ezsdk kernel version    :linux-2.6.37-psp04.07.00.02


PC network configuration:
--------------------------
eth0      Link encap:Ethernet  HWaddr 54:53:ed:25:41:91  
          inet addr:192.168.1.52  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5653:edff:fe25:4191/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31076 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:2369137 (2.3 MB)

board uboot console:
--------------------
U-Boot 2010.06-00013-g5158f2a-dirty (Oct 04 2015 - 17:21:48)                       
                                                                                   
TI811X-GP rev 1.1                                                                  
                                                                                   
ARM clk: 600MHz                                                                    
DDR clk: 333MHz                                                                    
                                                                                   
I2C:   ready                                                                       
DRAM:  1 GiB                                                                       
NAND:  HW ECC BCH8 Selected                                                        
No NAND device found!!!                                                            
0 MiB                                                                              
MMC:   OMAP SD/MMC: 0                                                              
*** Warning - bad CRC or MMC, using default environment                            
                                                                                   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                
@@                                                               @@                
@@                                                               @@                
@@                                                               @@                
@@                                                               @@                
@@                                                               @@                
@@     88888888888 8888888 .d8888b.   d888    d888               @@                
@@         888       888  d88P  Y88b d8888   d8888               @@                
@@         888       888  Y88b. d88P   888     888               @@                
@@         888       888    Y88888     888     888    888  888   @@                
@@         888       888  .d8P88Y8b.   888     888      Y8 8P    @@                
@@         888       888  888    888   888     888       88      @@                
@@         888       888  Y88b  d88P   888     888     .d8 8b.   @@                
@@         888     8888888  Y8888P  8888888  8888888   888 888   @@                
@@                                                               @@                
@@                                                               @@                
@@                                                               @@                
@@                                                               @@                
@@                                                               @@                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                
                                                                                   
Net:   pad muxing for RSB                                                          
Enable GPIO_0 clock                                                                
Writing CM_ALWON_GPIO_0_CLKCTRL:0x4818155c with 0x102                              
Validating CM_ALWON_GPIO_0_CLKCTRL reg write                                       
Enable GPIO_1 clock                                                                
Writing CM_ALWON_GPIO_1_CLKCTRL:0x48181560 with 0x102                              
Validating CM_ALWON_GPIO_1_CLKCTRL reg write                                       
Setting pin as: output                                                             
Reading register: 481ae134                                                         
writing register: 481ae134 with ff7fffff                                           
Setting pin 23 with 1                                                              
Configuring PAD58_CNTRL for E0_RESET_N                                             
 Setting pin as: output                                                            
Reading register: 48032134                                                         
writing register: 48032134 with efffffff                                           
Setting pin 28 with 1                                                              
In loop                                                                            
Out loop                                                                           
Ethernet clocking: 0x0                                                             
<ethaddr> not set. Reading from E-fuse                                             
Detected MACID:ec:11:27:d7:fd:e0                                                   
cpsw                                                                               
Hit any key to stop autoboot:  0                                                   
TI811X_EVM#setenv ipaddr 192.168.1.49                                              
TI811X_EVM#printenv                                                                
bootcmd=if mmc rescan 0; then if run loadbootscript; then run bootscript; else echi
bootdelay=3                                                                        
baudrate=115200                                                                    
verify=yes                                                                         
bootfile=uImage                                                                    
ramdisk_file=ramdisk.gz                                                            
loadaddr=0x81000000                                                                
script_addr=0x80900000                                                             
loadbootscript=fatload mmc 0 ${script_addr} boot.scr                               
bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${script}
stdin=serial                                                                       
stdout=serial                                                                      
stderr=serial                                                                      
ethaddr=65:63:3a:31:31:3a                                                          
ethact=cpsw                                                                        
ipaddr=192.168.1.49                                                                
                                                                                   
Environment size: 739/8188 bytes                                                   
TI811X_EVM#ping 192.168.1.52                                                       
Initializing BCM89811 Eth Phy: name:cpsw addr:1                                    
/*******************begin EMI optimization portion********************************/
ETH_TRCV_CTRL_REG: 0x200                                                           
Setting Phy Address 0x1 into MII Lite mode                                         
Setting PORT 0x1 to 100Mbps 1Pair Slave                                            
ETH_TRCV_STATUS_REG: 0x63cd                                                        
link status active: 1 Pair 100 Mbps                                                
 link up on port 0, speed 100, full duplex                                         
Using cpsw device                                                                  
ping failed; host 192.168.1.52 is not alive                                        
TI811X_EVM#
-----------------------------------------------------------------------------------------


int board_init(void)
{

    /* setup RMII_REFCLK .its an input from external src */
    __raw_writel(0x30005, RMII_REFCLK_SRC);    

    /*program GMII_SEL register for RMII mode */
    __raw_writel(0x305, GMII_SEL);
}    
static struct cpsw_slave_data cpsw_slaves[] = {
    {
        .slave_reg_ofs    = 0x208,
        .sliver_reg_ofs    = 0xd80,
        .phy_id        = 1,
    },
    {
        .slave_reg_ofs    = 0x308,
        .sliver_reg_ofs    = 0xdc0,
        .phy_id        = 1,
    },
};

static struct cpsw_platform_data cpsw_data = {
    .mdio_base        = TI811X_CPSW_MDIO_BASE,
    .cpsw_base        = TI814X_CPSW_BASE,
    .mdio_div        = 0xff,
    .channels        = 8,
    .cpdma_reg_ofs        = 0x800,
    .cpdma_sram_ofs        = 0xa00,
    .slaves            = 1,
    .slave_data        = cpsw_slaves,
    .ale_reg_ofs        = 0xd00,
    .ale_entries        = 1024,
    .host_port_reg_ofs    = 0x108,
    .hw_stats_reg_ofs    = 0x900,
    .mac_control        = (BIT(15) | BIT(0)),/* BIT(15)RMII/RGMII Gasket Control */  /*BIT(0)Full Duplex*/ /*(1 << 5),*/ /* MIIEN */
    .control        = cpsw_control,
    .phy_init        = phy_init,
    .host_port_num        = 0,
    .bd_ram_ofs        = 0x2000,
};

static void cpsw_pad_config()
{
    volatile u32 val = 0;
    printf("pad muxing for RSB\n");
    enable_gpio_clk();
    /*configure pin mux for rmii_refclk,mdio_clk,mdio_d */
    //E_GTXCLK. 50 MHz RMII Ref clock is an input to j5-prime and BCM89811. Its an external clock from oscilator
    val = PAD232_CNTRL;
    PAD232_CNTRL = (volatile unsigned int) (BIT(18) | BIT(0));
    //E_MDC
    val = PAD233_CNTRL;
    PAD233_CNTRL = (volatile unsigned int) (BIT(19) | BIT(17) | BIT(0));
      //E_MDIO
    val = PAD234_CNTRL;
    PAD234_CNTRL = (volatile unsigned int) (BIT(19) | BIT(18) | BIT(17) |
            BIT(0));

    /*setup rmii0/rmii1 pins here*/
    /* In this case we enable rgmii_en bit in GMII_SEL register and
     * still program the pins in gmii mode: gmii0 pins in mode 2 */

    
    val = PAD236_CNTRL; /*E0_RXD0*/
    PAD236_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
    val = PAD237_CNTRL; /*E0_RXD1*/ //sample this pin to assign RMII mode RXD1 should be 1 during reset RXD[2]=0
    PAD237_CNTRL = (volatile unsigned int) (BIT(18) | BIT(17) | BIT(2));
    val = PAD238_CNTRL; /*RMRXER*/ //PullDown
    PAD238_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
    val = PAD239_CNTRL; /*E0_RXDV*/  //sample this pin to assign phy address 0x00000 or 0x00001 during reset
    PAD239_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
    val = PAD240_CNTRL; /*E0_TXD0*/
    PAD240_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
    val = PAD241_CNTRL; /*E0_TXD1*/
    PAD241_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
    val = PAD242_CNTRL; /*E0_TXEN*/
    PAD242_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));

    val = PAD235_CNTRL; /*E0_PHY_EN--OUT*/ //set to 1
    PAD235_CNTRL = (volatile unsigned int) (BIT(18) | /*BIT(17) |*/ BIT(7));
    set_pin_direction(GPIO3_BASE, PHY_EN_GPIO3_PIN, OUTPUT);
    set_pin_value(GPIO3_BASE, PHY_EN_GPIO3_PIN, 1);

    val = PAD230_CNTRL; /*E0_PHY_INT_N*/
    PAD230_CNTRL = (volatile unsigned int) (BIT(18) | BIT(7));

    val = PAD224_CNTRL; /*E0_PHY_WAKE--OUT*/
    PAD224_CNTRL = (volatile unsigned int) (BIT(18) | BIT(7));

        printf("Configuring PAD58_CNTRL for E0_RESET_N \n ");
    val = PAD58_CNTRL; /*GP0[28]E0_RESET_N--OUT*/ //set to 1
    PAD58_CNTRL = (volatile unsigned int) (BIT(18) |  /*BIT(17) |*/ BIT(7));

    set_pin_direction(GPIO0_BASE, PHY_RESET_GPIO0_PIN, OUTPUT);
    set_pin_value(GPIO0_BASE, PHY_RESET_GPIO0_PIN, 1);
    
    val = PAD140_CNTRL; /*ETH0_INH_N*/
    PAD140_CNTRL = (volatile unsigned int) (BIT(18) | BIT(7));    
    
}

  • Manju,

    manju gunnaiah said:
    static struct cpsw_slave_data cpsw_slaves[] = {
        {
            .slave_reg_ofs    = 0x208,
            .sliver_reg_ofs    = 0xd80,
            .phy_id        = 1,
        },
        {
            .slave_reg_ofs    = 0x308,
            .sliver_reg_ofs    = 0xdc0,
            .phy_id        = 1,
        },
    };

    Can you try change first phy_id from 1 to 0, is there any improvement then?

    static struct cpsw_slave_data cpsw_slaves[] = {
        {
            .slave_reg_ofs    = 0x208,
            .sliver_reg_ofs    = 0xd80,
            .phy_id        = 0,
        },
        {
            .slave_reg_ofs    = 0x308,
            .sliver_reg_ofs    = 0xdc0,
            .phy_id        = 1,
        },
    };

  • Dear povel,

    Uboot is not able to detect the phy. So it is not able to initialize the device.
    Address of the phy is hard coded as 01.
    please find the uboot console.


    U-Boot 2010.06-00014-gf77e08b-dirty (Oct 05 2015 - 14:47:53)

    TI811X-GP rev 1.1

    ARM clk: 600MHz
    DDR clk: 333MHz

    I2C: ready
    DRAM: 1 GiB
    NAND: HW ECC BCH8 Selected
    No NAND device found!!!
    0 MiB
    MMC: OMAP SD/MMC: 0
    *** Warning - bad CRC or MMC, using default environment

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@ @@
    @@ @@
    @@ @@
    @@ @@
    @@ @@
    @@ 88888888888 8888888 .d8888b. d888 d888 @@
    @@ 888 888 d88P Y88b d8888 d8888 @@
    @@ 888 888 Y88b. d88P 888 888 @@
    @@ 888 888 Y88888 888 888 888 888 @@
    @@ 888 888 .d8P88Y8b. 888 888 Y8 8P @@
    @@ 888 888 888 888 888 888 88 @@
    @@ 888 888 Y88b d88P 888 888 .d8 8b. @@
    @@ 888 8888888 Y8888P 8888888 8888888 888 888 @@
    @@ @@
    @@ @@
    @@ @@
    @@ @@
    @@ @@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    Net: pad muxing for RSB
    Enable GPIO_0 clock
    Writing CM_ALWON_GPIO_0_CLKCTRL:0x4818155c with 0x102
    Validating CM_ALWON_GPIO_0_CLKCTRL reg write
    Enable GPIO_1 clock
    Writing CM_ALWON_GPIO_1_CLKCTRL:0x48181560 with 0x102
    Validating CM_ALWON_GPIO_1_CLKCTRL reg write
    Setting pin as: output
    Reading register: 481ae134
    writing register: 481ae134 with ff7fffff
    Setting pin 23 with 1
    Configuring PAD58_CNTRL for E0_RESET_N
    Setting pin as: output
    Reading register: 48032134
    writing register: 48032134 with efffffff
    Setting pin 28 with 1
    In loop
    Out loop
    Ethernet clocking: 0x0
    <ethaddr> not set. Reading from E-fuse
    Detected MACID:ec:11:27:d7:fd:e0
    cpsw
    Hit any key to stop autoboot: 0
    TI811X_EVM#printenv
    bootcmd=if mmc rescan 0; then if run loadbootscript; then run bootscript; else i
    bootdelay=3
    baudrate=115200
    verify=yes
    bootfile=uImage
    ramdisk_file=ramdisk.gz
    loadaddr=0x81000000
    script_addr=0x80900000
    loadbootscript=fatload mmc 0 ${script_addr} boot.scr
    bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${scr}
    stdin=serial
    stdout=serial
    stderr=serial
    ethaddr=65:63:3a:31:31:3a
    ethact=cpsw

    Environment size: 719/8188 bytes
    TI811X_EVM#setenv ipaddr 192.168.1.49
    TI811X_EVM#ping 192.168.1.52
    Initializing BCM89811 Eth Phy: name:cpsw addr:0
    waiting to release phy from reset: ETH_TRCV_CTRL_REG: ffff
  • manju gunnaiah said:
    Address of the phy is hard coded as 01.

    Do you mean you set 0x1 as Physical Address for both eth PHYs? Or you have only one PHY?

    BR
    Pavel

  • I have only one phy which is connected to EMAC0. and the phy address 0x1 hard coded in board using register option.

    BR/-
    Nihad
  • manju gunnaiah said:
    I have only one phy which is connected to EMAC0.

    Do you mean you have one BCM PHY to EMAC0, and no PHY connected to EMAC1?

    manju gunnaiah said:
    and the phy address 0x1 hard coded in board using register option

    What do you mean by register option? Do you mean you have programmed some register (which one exactly) to set the phy address to 0x1?

    BR
    Pavel

  • Yes I have only one BCM Phy to EMAC0. Phy is not connected to EMAC1.

    Sorry it is resistor option. We can set phy address of BCM89811 chip by using a pull up resistor on RXDV line. So we have set it to phy address 0x01

    BR/-
    Nihad
  • Manju,

    Can you set EMAC1 phy_id to 2, thus there will be no conflict between two EMACs (EMAC0 and EMAC1).

    BR
    Pavel
  • manju gunnaiah said:
    TI811X_EVM#setenv ipaddr 192.168.1.49
    TI811X_EVM#ping 192.168.1.52
    Initializing BCM89811 Eth Phy: name:cpsw addr:0
    waiting to release phy from reset: ETH_TRCV_CTRL_REG: ffff

    On the TI8148 EVM I have:

    TI8148_EVM#ping 172.20.1.195
    link up on port 0, speed 100, full duplex
    Using cpsw device
    host 172.20.1.195 is alive


    Can you check if the flow reaches cpsw_init() function (in file u-boot/drivers/net/cpsw.c) or hang before that function?

    BR
    Pavel

  • Paval,

    I have set .phy_id= 2 for EMAC1, But there is no improvement.

    static struct cpsw_slave_data cpsw_slaves[] = {
    {
    .slave_reg_ofs = 0x208,
    .sliver_reg_ofs = 0xd80,
    .phy_id = 1,
    },
    {
    .slave_reg_ofs = 0x308,
    .sliver_reg_ofs = 0xdc0,
    .phy_id = 2, //to avoid conflict with EMAC0
    },
    };
  • Manju,

    I would also suggest:

    Check with scope the EMAC_RMREFCLK pin for stable 50MHz clock on it. Check if this clock is compatible with the requirements provided in datasheet, section 9.9.3.2 EMAC RMII Electrical Data/Timing. Check with md command you have the correct value in PINCNTL232/0x48140B9C.

    Check also you have not enable reset isolation for EMAC0 RMII pins.

    BR
    Pavel

  • manju gunnaiah said:
       /*program GMII_SEL register for RMII mode */
        __raw_writel(0x305, GMII_SEL);

    TI81xx porting guide state GMII_SEL should be 0x5 (not 0x305) for RMII mode:

    BR
    Pavel

  • Manju,

    manju gunnaiah said:
        .mac_control        = (BIT(15) | BIT(0)),/* BIT(15)RMII/RGMII Gasket Control */  /*BIT(0)Full Duplex*/ /*(1 << 5),*/ /* MIIEN */

    Can you try with the default code:

    .mac_control        = (1 << 5) /* MIIEN */,

    Bits 0 and 15 of the MACCONTROL/0x4A100D84 are handled in cpsw.c cpsw_slave_update_link() function.

    BR
    Pavel

  • manju gunnaiah said:
     val = PAD236_CNTRL; /*E0_RXD0*/
        PAD236_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
        val = PAD237_CNTRL; /*E0_RXD1*/ //sample this pin to assign RMII mode RXD1 should be 1 during reset RXD[2]=0
        PAD237_CNTRL = (volatile unsigned int) (BIT(18) | BIT(17) | BIT(2));
        val = PAD238_CNTRL; /*RMRXER*/ //PullDown
        PAD238_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
        val = PAD239_CNTRL; /*E0_RXDV*/  //sample this pin to assign phy address 0x00000 or 0x00001 during reset
        PAD239_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));

    Set also bit 19 to 1 for 236, 237, 238 and 239.

  • manju gunnaiah said:
     val = PAD240_CNTRL; /*E0_TXD0*/
        PAD240_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
        val = PAD241_CNTRL; /*E0_TXD1*/
        PAD241_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));
        val = PAD242_CNTRL; /*E0_TXEN*/
        PAD242_CNTRL = (volatile unsigned int) (BIT(18) | BIT(2));

    Do not set bit 18 for 240, 241 and 242, these are output pins.

    manju gunnaiah said:
     val = PAD235_CNTRL; /*E0_PHY_EN--OUT*/ //set to 1
        PAD235_CNTRL = (volatile unsigned int) (BIT(18) | /*BIT(17) |*/ BIT(7));
        set_pin_direction(GPIO3_BASE, PHY_EN_GPIO3_PIN, OUTPUT);
        set_pin_value(GPIO3_BASE, PHY_EN_GPIO3_PIN, 1);

        val = PAD230_CNTRL; /*E0_PHY_INT_N*/
        PAD230_CNTRL = (volatile unsigned int) (BIT(18) | BIT(7));

        val = PAD224_CNTRL; /*E0_PHY_WAKE--OUT*/
        PAD224_CNTRL = (volatile unsigned int) (BIT(18) | BIT(7));

            printf("Configuring PAD58_CNTRL for E0_RESET_N \n ");
        val = PAD58_CNTRL; /*GP0[28]E0_RESET_N--OUT*/ //set to 1
        PAD58_CNTRL = (volatile unsigned int) (BIT(18) |  /*BIT(17) |*/ BIT(7));

        set_pin_direction(GPIO0_BASE, PHY_RESET_GPIO0_PIN, OUTPUT);
        set_pin_value(GPIO0_BASE, PHY_RESET_GPIO0_PIN, 1);
        
        val = PAD140_CNTRL; /*ETH0_INH_N*/
        PAD140_CNTRL = (volatile unsigned int) (BIT(18) | BIT(7));

    This seems specific for your custom HW, thus I can not comment here.

    BR
    Pavel

  • Pavel,

    I am able to bring up Ethernet in Linux. able to ping from board to PC and vice versa. But in uboot ping from board to PC is working, but PC to board is not working. Could you please point out some hint for this issue.

    TI811X_EVM#printenv
    bootcmd=if mmc rescan 0; then if run loadbootscript; then run bootscript; else i
    bootdelay=3
    baudrate=115200
    verify=yes
    bootfile=uImage
    ramdisk_file=ramdisk.gz
    loadaddr=0x81000000
    script_addr=0x80900000
    loadbootscript=fatload mmc 0 ${script_addr} boot.scr
    bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${scr}
    stdin=serial
    stdout=serial
    stderr=serial
    ethaddr=65:63:3a:31:31:3a
    ethact=cpsw
    ipaddr=192.168.1.49
    netmask=255.255.255.0

    Environment size: 761/8188 bytes
    TI811X_EVM#ping 192.168.1.52
    Initializing BCM89811 Eth Phy: name:cpsw addr:1
    /*******************begin EMI optimization portion*****************************/
    ETH_TRCV_CTRL_REG: 0x200
    ETH_TRCV_STATUS_REG: 0x63cd
    link status active: 1 Pair 100 Mbps
    ETH_TRCV_EXPANSION_ETH_SYNC_CTRL_REG(0xe): 0x0
    link up on port 0, speed 100, full duplex
    Using cpsw device
    host 192.168.1.52 is alive
    TI811X_EVM#

    from PC:
    -------------
    Test-mac:$ ping 192.168.1.49
    PING 192.168.1.49 (192.168.1.49) 56(84) bytes of data.
    From 192.168.1.52 icmp_seq=5 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=6 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=7 Destination Host Unreachable
  • Pavel,

    ping from PC to board work in case if i ping some random address from board. say,

    TI811X_EVM#ping 1.1.1.1
    Initializing BCM89811 Eth Phy: name:cpsw addr:1
    /*******************begin EMI optimization portion*****************************/
    ETH_TRCV_CTRL_REG: 0x200
    ETH_TRCV_STATUS_REG: 0x63cd
    link status active: 1 Pair 100 Mbps
    ETH_TRCV_EXPANSION_ETH_SYNC_CTRL_REG(0xe): 0x0
    link up on port 0, speed 100, full duplex
    Using cpsw device
    ping failed; host 1.1.1.1 is not alive
    TI811X_EVM#

    On PC
    ---------
    Test-mac$ ping 192.168.1.49
    PING 192.168.1.49 (192.168.1.49) 56(84) bytes of data.
    From 192.168.1.52 icmp_seq=1 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=2 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=3 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=4 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=5 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=6 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=7 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=8 Destination Host Unreachable
    From 192.168.1.52 icmp_seq=9 Destination Host Unreachable
    64 bytes from 192.168.1.52: icmp_seq=10 ttl=64 time=2063 ms
    64 bytes from 192.168.1.52: icmp_seq=11 ttl=64 time=1054 ms
    64 bytes from 192.168.1.52: icmp_seq=12 ttl=64 time=46.4 ms
    64 bytes from 192.168.1.52: icmp_seq=13 ttl=64 time=0.145 ms
    64 bytes from 192.168.1.52: icmp_seq=14 ttl=64 time=0.191 ms
    64 bytes from 192.168.1.52: icmp_seq=15 ttl=64 time=0.189 ms
    64 bytes from 192.168.1.52: icmp_seq=16 ttl=64 time=0.168 ms
    64 bytes from 192.168.1.52: icmp_seq=17 ttl=64 time=0.160 ms
    64 bytes from 192.168.1.52: icmp_seq=18 ttl=64 time=0.159 ms
    64 bytes from 192.168.1.52: icmp_seq=19 ttl=64 time=0.152 ms
    From 192.168.1.52 icmp_seq=9 Destination Host Unreachable
  • Manju,

    That is pretty normal as u-boot does not monitor the Ethernet line constantly and therefor does not answer to pings. Once Linux runs this is different.

    The workaround is to ping something (i.e. 1.1.1.1) from the J5Eco board and during this time to ping the J5Eco board from the PC. In this case only, the PC can ping the J5Eco board successfully.

    U-Boot also does not run an ICMP server to respond to pings.

    BR
    Pavel