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.

Linux/PROCESSOR-SDK-AM335X: ENC28J60 Ethernet driver

Part Number: PROCESSOR-SDK-AM335X


Tool/software: Linux

Hi, 

I am using the enc28j60 ethernet card on AM335x SDK6, and find out there has driver in drivers/net/ethernet/microchip

After enable the kernel configure & add pin-mux for en28j60, the eth2 been up.

But I can't ping the other devices in the same domain, there is no response

please prefer to the following:

1. enable kernel configure

Device Driver -> Network device support -> Ethernet driver support -> <*>ENC28J60 support

2. arch/arm/mach-omap2/board-am335xevm.c

...

/* Module pin mux for SPI flash */
static struct pinmux_config spi1_pin_mux[] = {
    {"mcasp0_aclkx.spi1_sclk", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN},
    {"mcasp0_fsx.spi1_d0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN},
    {"mcasp0_axr0.spi1_d1", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_INPUT_EN},
    {"mcasp0_ahclkr.spi1_cs0", OMAP_MUX_MODE3 | AM33XX_PULL_ENBL | AM33XX_PULL_UP | AM33XX_INPUT_EN},
    {NULL, 0},
};

...

static struct spi_board_info spi1_enc28j60_info[] =

{
    {
        .modalias = "enc28j60",
        .irq = OMAP_GPIO_IRQ(AM335X_LAN_IRQ_GPIO),
        .max_speed_hz = 50000,
        .bus_num = 2,
        .chip_select = 0,
        .mode = SPI_MODE_0,
    },
};

...

static void spi1_ethernet_init(int evm_id, int profile)
{
    setup_pin_mux(spi1_pin_mux);
    spi_register_board_info(spi1_enc28j60_info, ARRAY_SIZE(spi1_enc28j60_info));
    return;
}

...

Could someone give me suggestion, thanks